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