From b9cc66cc40a8b786bdf0d3aaeaad1bb084bb9112 Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期四, 05 三月 2020 11:38:59 +0800 Subject: [PATCH] 更新imei phone sn 方法,更新RTKConfigDao方法; 加入kotlin支持 project .gradle app.build.gradle --- app/src/main/java/safeluck/drive/evaluation/app.java | 18 ++++++ app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt | 38 ++++++++++++ app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java | 2 app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java | 59 +++++++++++-------- build.gradle | 6 + app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java | 2 app/src/main/java/safeluck/drive/evaluation/DB/Constant.java | 4 + app/build.gradle | 8 ++ 8 files changed, 108 insertions(+), 29 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 757bef6..2f7d9fa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,4 +1,6 @@ apply plugin: 'com.android.application' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' android { compileSdkVersion 28 @@ -59,4 +61,10 @@ implementation 'com.google.code.gson:gson:2.8.6' implementation 'com.facebook.stetho:stetho:1.5.0' implementation project(path: ':im_lib') + implementation "androidx.core:core-ktx:+" + implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} +repositories { + mavenCentral() } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java index cc7a81b..711a645 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java @@ -9,4 +9,8 @@ public class Constant { public static final String CRITERIAFOR_I_JSON = "criteria_I.json"; public static final String CRITERIAFOR_II_JSON = "criteria_II.json"; + public static final String RTK_CONFIG_UPDATE_JSON = "RTK_CONFIG_UPDATE_JSON"; + public static final String RTK_CONFIG_PHONE = "RTK_CONFIG_PHONE"; + public static final String RTK_CONFIG_IMEI = "RTK_CONFIG_IMEI"; + public static final String RTK_CONFIG_SN = "sn"; } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java index e0428c1..31d00e6 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigDao.java @@ -18,6 +18,8 @@ @Update void update(RTKConfig rtkConfig); + @Query("Update rtkconfig_table SET sn=:sn ,imei=:imei ,phone=:phone where _id =0") + void update(String sn,String imei,String phone); } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt new file mode 100644 index 0000000..dc043ef --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt @@ -0,0 +1,38 @@ +package safeluck.drive.evaluation.DB.rtktb + +import android.content.Context +import android.text.TextUtils +import android.util.Log +import androidx.work.Worker +import androidx.work.WorkerParameters +import org.json.JSONObject +import safeluck.drive.evaluation.DB.Constant +import safeluck.drive.evaluation.DB.WorkRoomDataBase + +class RTKConfigUpdateWorker(context:Context, workerParams: WorkerParameters) :Worker(context, workerParams){ + + val TAG:String = "RTKConfigUpdateWorker" + + override fun doWork(): Result { + + var data = inputData.getString(Constant.RTK_CONFIG_UPDATE_JSON) + Log.i(TAG,"鏇存柊RTK_config imei phone sn="+data) + var imei:String="" + var phone:String="" + var sn:String="" + if (!TextUtils.isEmpty(data)){ + var jsonObject: JSONObject? = null + jsonObject = JSONObject(data) + sn = jsonObject.getString(Constant.RTK_CONFIG_SN) + Log.i(TAG,"sn="+sn) + imei = sn + phone = sn + } + var rtkConfigDao = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao.also { + it.update(sn, imei, phone) + } + return Result.success() + } + + +} \ No newline at end of file diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index dfaaede..c57c2e7 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -46,6 +46,7 @@ import safeluck.drive.evaluation.DB.failitems.FailedProj_select; import safeluck.drive.evaluation.DB.gps.GpsInfoWorker; import safeluck.drive.evaluation.DB.rtktb.RTKConfig; +import safeluck.drive.evaluation.DB.rtktb.RTKConfigUpdateWorker; import safeluck.drive.evaluation.DB.rtktb.RTKWorkRepository; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.cEventCenter.CEvent; @@ -140,6 +141,7 @@ } private String lastStr; + private String lastSn; @Override public void callBackMsg(final int cmd, String json) { String strConent = String.format("鏀跺埌鍛戒护[%d],Json鍐呭涓�%s", cmd, json); @@ -264,6 +266,22 @@ CEventCenter.dispatchEvent(Constant.BIND_DEBUG_TXT,cmd,0,json); break; case Constant.MCU_SN: + String sn = null; + try { + JSONObject rtkConfigUpdtea = new JSONObject(json); + sn = rtkConfigUpdtea.getString("sn"); + sn = rtkConfigUpdtea.put(safeluck.drive.evaluation.DB.Constant.RTK_CONFIG_SN,sn).toString(); + } catch (JSONException e) { + e.printStackTrace(); + } + if (sn.equalsIgnoreCase(lastSn)){ + + }else{ + lastSn = sn; + Data data = new Data.Builder().putString(safeluck.drive.evaluation.DB.Constant.RTK_CONFIG_UPDATE_JSON,sn).build(); + OneTimeWorkRequest rtkConfigUpdateWorker= new OneTimeWorkRequest.Builder(RTKConfigUpdateWorker.class).setInputData(data).build(); + WorkManager.getInstance(getAppContext()).enqueue(rtkConfigUpdateWorker); + } CEventCenter.dispatchEvent(Constant.BIND_MCUINFO_TOPIC,cmd,0,json); break; case Constant.IC_ID: diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java index 731f010..b3e967a 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java @@ -204,6 +204,6 @@ @Override public void onDetach() { super.onDetach(); - CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_MCUINFO_TOPIC); + CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_MCUINFO_TOPIC); } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java index 6fafe5d..375615e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java @@ -16,6 +16,7 @@ import androidx.appcompat.widget.Toolbar; import androidx.databinding.DataBindingUtil; +import com.anyun.exam.lib.MyLog; import com.anyun.im_lib.util.ByteUtil; import com.google.gson.Gson; @@ -46,49 +47,55 @@ private TextView textView_turnLight,tv_speed,tv_engine; private Toolbar toolbar; private Gson gson= new Gson(); + private Handler handler = new Handler(); private LayoutCheckSignalBinding bingding; private List<Integer> gpios = new ArrayList<>(); Drawable leftGreen ; Drawable leftGray ; + private int index =0 ; private ICEventListener icEventListener = new ICEventListener() { @Override public void onCEvent(String topic, int msgCode, int resultCode, Object obj) { if (msgCode==Constant.MCU_SN){ final MCUInfo mcuInfo = gson.fromJson((String)obj, MCUInfo.class); if (mcuInfo != null){ - bingding.getRoot().post(new Runnable() { - @Override - public void run() { - + gpios.clear(); for (int i = 0; i < 16; i++) { + gpios.add( ByteUtil.getBitStatus(mcuInfo.getGpio(),i)); } + MyLog.i("mcu info gpio"+mcuInfo.getGpio()); - bingding.tvRoateSpeed.setText(String.valueOf(mcuInfo.getEngine())); - bingding.tvDangweiNum.setText(String.valueOf(mcuInfo.getSpeed())); + handler.post(new Runnable() { + @Override + public void run() { + bingding.tvRoateSpeed.setText(String.valueOf(mcuInfo.getEngine())); + bingding.tvDangweiNum.setText(String.valueOf(mcuInfo.getSpeed())); + for (int i = 0; i < gpios.size(); i++) { + Log.i(TAG, "run: gpio["+i+"]="+gpios.get(i)); + } + bingding.inpsetSignalSlice.tvSeatBelt.setCompoundDrawablesWithIntrinsicBounds(gpios.get(0)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvTrunLeft.setCompoundDrawablesWithIntrinsicBounds(gpios.get(1)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvTurnRight.setCompoundDrawablesWithIntrinsicBounds(gpios.get(2)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvParkingBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(3)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvFootBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(4)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvLowLamp.setCompoundDrawablesWithIntrinsicBounds(gpios.get(5)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvHighBeam.setCompoundDrawablesWithIntrinsicBounds(gpios.get(6)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvSeatBelt.setCompoundDrawablesWithIntrinsicBounds(gpios.get(0)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvTrunLeft.setCompoundDrawablesWithIntrinsicBounds(gpios.get(1)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvTurnRight.setCompoundDrawablesWithIntrinsicBounds(gpios.get(2)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvParkingBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(3)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvFootBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(4)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvLowLamp.setCompoundDrawablesWithIntrinsicBounds(gpios.get(5)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvHighBeam.setCompoundDrawablesWithIntrinsicBounds(gpios.get(6)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - - bingding.inpsetSignalSlice.tvGateLock.setCompoundDrawablesWithIntrinsicBounds(gpios.get(7)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvNullEngine.setCompoundDrawablesWithIntrinsicBounds(gpios.get(8)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvGearOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(9)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvGearTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(10)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvGearThree.setCompoundDrawablesWithIntrinsicBounds(gpios.get(11)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvGearFour.setCompoundDrawablesWithIntrinsicBounds(gpios.get(12)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvGearFive.setCompoundDrawablesWithIntrinsicBounds(gpios.get(13)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvWindingOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(14)==VALIAD_NUM?leftGreen:leftGray,null,null,null); - bingding.inpsetSignalSlice.tvWindingTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(15)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvGateLock.setCompoundDrawablesWithIntrinsicBounds(gpios.get(7)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvNullEngine.setCompoundDrawablesWithIntrinsicBounds(gpios.get(8)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvGearOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(9)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvGearTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(10)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvGearThree.setCompoundDrawablesWithIntrinsicBounds(gpios.get(11)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvGearFour.setCompoundDrawablesWithIntrinsicBounds(gpios.get(12)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvGearFive.setCompoundDrawablesWithIntrinsicBounds(gpios.get(13)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvWindingOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(14)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + bingding.inpsetSignalSlice.tvWindingTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(15)==VALIAD_NUM?leftGreen:leftGray,null,null,null); + } + }); } - }); } - } } }; @@ -132,6 +139,6 @@ @Override public void onDetach() { super.onDetach(); - CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_MCUINFO_TOPIC); + CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_MCUINFO_TOPIC); } } diff --git a/build.gradle b/build.gradle index 7c33808..a9e1add 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + ext.kotlin_version = '1.3.70' repositories { google() jcenter() @@ -12,8 +13,9 @@ lifecycleVersion = '2.1.0' } dependencies { - classpath 'com.android.tools.build:gradle:3.4.0' - + classpath 'com.android.tools.build:gradle:3.5.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } -- Gitblit v1.8.0