From 60256c53ae45de03d522befe3958913f6bbf3095 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 16 三月 2020 15:54:05 +0800
Subject: [PATCH] 解决初次安装(卸载后安装)不发送rtk配置的bug
---
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt | 68 ++++++++++++++++++++++++++++------
1 files changed, 56 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt
index fca1875..e2ea10d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt
@@ -8,6 +8,8 @@
import com.anyun.exam.lib.AYSdk
import com.anyun.exam.lib.MyLog
import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.google.gson.stream.JsonReader
import org.json.JSONException
import org.json.JSONObject
import safeluck.drive.evaluation.DB.Constant
@@ -15,6 +17,8 @@
import safeluck.drive.evaluation.DB.rtktb.RTKConfig
import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig
import safeluck.drive.evaluation.bean.SignalConfigRemote
+import java.io.IOException
+import java.io.InputStreamReader
class ExamStatusOutWorker(context: Context, workerParams: WorkerParameters) : Worker(context, workerParams) {
val TAG:String = "ExamStatusOutWorker"
@@ -23,18 +27,9 @@
private var singalConfigs :List<SingalConfig> = ArrayList()
override fun doWork(): Result {
val examType =WorkRoomDataBase.getWorkRoomDataBase(applicationContext).examStatusDao.startExamInt;
- singalConfigs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao._getSignalConfigs()
- sendRtkConfigInfo(WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao._getRtkConfig())
- for (i in singalConfigs.indices) {
- val signalConfigRemote = SignalConfigRemote()
- signalConfigRemote.func_id = i
- signalConfigRemote.gpio_num = singalConfigs.get(i).getIndex()
- signalConfigRemote.level = singalConfigs.get(i).getHighLevel()
- signalConfiglist.add(signalConfigRemote)
- }
- var indexs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao.allIndexs
- sendSignalConfigsToRemote(indexs)
+
+
MyLog.i(TAG,"鏌ュ埌鐨勮�冭瘯type="+examType)
val data = Data.Builder().putInt(Constant.EXAM_STATUS_TYPE,examType).build()
if (examType != safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) {
@@ -48,6 +43,55 @@
e.printStackTrace()
}
}
+ var rtk = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao._getRtkConfig()
+ if (rtk == null){
+ try {
+ MyLog.i("璇绘枃浠跺彂閫丷TK閰嶇疆")
+ val inputStream = applicationContext.assets.open(safeluck.drive.evaluation.Constant.RTK_CONFIG_JSON)
+ val inputStreamReader = InputStreamReader(inputStream)
+ val jsonReader = JsonReader(inputStreamReader)
+ val gson = Gson()
+ val type = object : TypeToken<RTKConfig?>() {}.type
+ val mstus = gson.fromJson<RTKConfig>(jsonReader, type)
+ rtk = mstus
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }else{
+
+ }
+ sendRtkConfigInfo(rtk)
+ singalConfigs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao._getSignalConfigs()
+ if (singalConfigs ==null){
+ MyLog.i("璇绘枃浠跺彂閫佷俊鍙烽厤缃�")
+ try {
+ val inputStream = applicationContext.assets.open("signal_config_file.json")
+ val inputStreamReader = InputStreamReader(inputStream)
+ val jsonReader = JsonReader(inputStreamReader)
+ val gson = Gson()
+ val type = object : TypeToken<List<SingalConfig?>?>() {}.type
+ val mstus = gson.fromJson<List<SingalConfig>>(jsonReader, type)
+ singalConfigs = mstus
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }else{
+
+ }
+ for (i in singalConfigs.indices) {
+ val signalConfigRemote = SignalConfigRemote()
+ signalConfigRemote.func_id = i
+ signalConfigRemote.gpio_num = singalConfigs.get(i).getIndex()
+ signalConfigRemote.level = singalConfigs.get(i).getHighLevel()
+ signalConfiglist.add(signalConfigRemote)
+ }
+
+
+ var indexs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao.allIndexs
+
+ sendSignalConfigsToRemote(indexs)
+
+
return Result.success(data)
}
@@ -89,7 +133,7 @@
jsonObject!!.remove("_id")
rtkjson = null
rtkjson = jsonObject.toString()
- MyLog.i(TAG, "RTK閰嶇疆淇℃伅锛�$rtkjson")
+ MyLog.i(TAG, "NDK_start RTK閰嶇疆淇℃伅")
AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_RTK_PLATFORM_INFO, rtkjson)
} else {
MyLog.d(TAG, "RTKConfig鏈彇鍒版暟鎹�")
--
Gitblit v1.8.0