From 507242abe645ce3017118dfbcadaa7d0cfada053 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期四, 12 三月 2020 16:11:15 +0800
Subject: [PATCH] "联网考试“去掉由程序主动结束考试;可以一直考试;修改地图,可以一次性加载场考所有地图,然后车移动到某个项目地图,单独显示项目地图;修改map.json;信号配置,只在ExamStatusOutWorker里面收到ndk_start的时候进行发送;
---
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 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 09f4e2a..9e20043 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
@@ -2,20 +2,37 @@
import android.content.Context
import android.util.Log
+import android.widget.Toast
import androidx.work.Data
import androidx.work.Worker
import androidx.work.WorkerParameters
import com.anyun.exam.lib.AYSdk
import com.anyun.exam.lib.MyLog
+import com.google.gson.Gson
import org.json.JSONException
import org.json.JSONObject
import safeluck.drive.evaluation.DB.Constant
import safeluck.drive.evaluation.DB.WorkRoomDataBase
+import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig
+import safeluck.drive.evaluation.bean.SignalConfigRemote
class ExamStatusOutWorker(context: Context, workerParams: WorkerParameters) : Worker(context, workerParams) {
val TAG:String = "ExamStatusOutWorker"
+ private var signalConfiglist: MutableList<SignalConfigRemote> = ArrayList()
+ private val gson = Gson()
+ private var singalConfigs :List<SingalConfig> = ArrayList()
override fun doWork(): Result {
val examType =WorkRoomDataBase.getWorkRoomDataBase(applicationContext).examStatusDao.startExamInt;
+ singalConfigs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao._getSignalConfigs()
+ 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("鏌ュ埌鐨勮�冭瘯type="+examType)
val data = Data.Builder().putInt(Constant.EXAM_STATUS_TYPE,examType).build()
if (examType != safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) {
@@ -32,4 +49,28 @@
return Result.success(data)
}
+ private fun sendSignalConfigsToRemote(indexs: List<Int>) {
+ if (signalConfiglist.size > 0) {
+ if (listContainsSameValue(indexs)) {
+ Log.i(TAG, "sendSignalConfigsToRemote: 鏈夌浉鍚岀殑index锛屼笉鑳藉彂閫�" + gson.toJson(signalConfiglist))
+ } else {
+ AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.SEND_CONFIG_SIGNAL, gson.toJson(signalConfiglist))
+ }
+ }
+ }
+
+ private fun listContainsSameValue(indexs: List<Int>): Boolean {
+ for (i in indexs.indices) { //鍙互榛樿鏄�0 0涓嶅垽鏂槸鍚︽湁鐩稿悓鐨刬ndex
+ if (indexs[i] == 0) {
+ continue
+ }
+ for (j in i + 1 until indexs.size) {
+ if (indexs[i] === indexs[j]) {
+ return true
+ }
+ }
+ }
+ return false
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0