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