From d1dce940a9d23e5bd2d40ae81daa83d65b551969 Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期一, 27 七月 2020 17:04:40 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge
---
app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt | 201 ++++++++++++++++++++++++++++++++++++++++
app/src/main/java/safeluck/drive/evaluation/app.java | 11 +
app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 6
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 6
app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java | 4
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 7
app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java | 4
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 6
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java | 1
9 files changed, 228 insertions(+), 18 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
index fb107b4..0bc7afd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
@@ -28,7 +28,7 @@
public AppStatusWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
- MyLog.i("鍒濆鍖朅ppStatusWorker");
+ MyLog.i(TAG,"鍒濆鍖朅ppStatusWorker");
appStatusDao = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao();
}
@@ -37,7 +37,7 @@
public Result doWork() {
String[] str = getInputData().getStringArray(Constant.APP_STATUS);
JSONObject jsonObject = null;
- MyLog.i("AppStatusWorker:"+str[0]+": "+str[1]);
+ MyLog.i(TAG,"AppStatusWorker:"+str[0]+": "+str[1]);
try {
jsonObject = new JSONObject(str[1]);
switch (str[0]) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java
index 2199a40..8838945 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java
@@ -40,7 +40,6 @@
WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
@Override
public void run() {
-
examStatusDao.updateStartExam(startex);
}
});
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 9cf5b06..1964cd7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -125,7 +125,8 @@
hideBottomUIMenu();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
-
+ //鍒濆鍖杢ts
+ ExamPlatformData.getInstance().initTTS(getApplicationContext());
viewtitle = findViewById(R.id.top_title);
btn_return = findViewById(R.id.btn_return);
@@ -141,8 +142,7 @@
tv_network_time.setText(Utils.getHHmm());
- //鍒濆鍖杢ts
- ExamPlatformData.getInstance().initTTS(getApplicationContext());
+
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index f21a3d9..2401054 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -52,6 +52,7 @@
import safeluck.drive.evaluation.platformMessage.JKMessage0206;
import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
import safeluck.drive.evaluation.util.CThreadPoolExecutor;
+import safeluck.drive.evaluation.util.DataInitKt;
import safeluck.drive.evaluation.util.FileUtil;
import safeluck.drive.evaluation.util.SystemUtil;
import safeluck.drive.evaluation.util.Utils;
@@ -108,11 +109,15 @@
MyLog.i("寮�濮嬪垵濮嬪寲鏁版嵁鍙戦�佸湴鍥�/杞﹁締/mcu鍗囩骇鏂囦欢/鑰冭瘯鐘舵��");
int type = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().getStartExamInt();
ExamPlatformData.getInstance().setExamType(type);
- OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class);
+// OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class);
sendMapInfo();
sendVechileInfo();
- OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
- WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue();
+ DataInitKt.MCUUpgrade(getApplicationContext());
+ DataInitKt.sendExamLights(getApplicationContext());
+ DataInitKt.sendRtkConfig(getApplicationContext());
+ DataInitKt.sendSignalConfigToRemote(getApplicationContext());
+// OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
+// WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue();
});
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
index 0c64c66..bd92cb9 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -286,9 +286,11 @@
return enter_exit_item_tts.get(item);
}
- public Speaker getTTS(){
+ public synchronized Speaker getTTS(){
if (speaker == null){
- throw new RuntimeException("璇峰厛鍒濆鍖朤TS,鍏堣皟鐢╥nitTTS");
+ MyLog.i("璇峰厛鍒濆鍖朤TS,鍏堣皟鐢╥nitTTS");
+ initTTS(app.getAppContext());
+ return speaker;
}else
return speaker;
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
index 7477d75..ef32b5e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -460,12 +460,13 @@
examStatusList.clear();
examStatusList.addAll(examStatus);
mHandler.obtainMessage(ADD_DATA).sendToTarget();
- if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){
+ exam_type = examStatus.get(0).getStartExam();
+ if (exam_type != Constant.NONE_BEEN_START_EXAM){
btn_start_exam.setText("缁撴潫鑰冭瘯");
}else{
btn_start_exam.setText("寮�濮嬭�冭瘯");
}
- exam_type = examStatus.get(0).getStartExam();
+
}
@@ -685,6 +686,7 @@
ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭�冭瘯");
Date date = new Date();
+ MyLog.i("淇敼exam_status琛ㄧ殑startExam瀛楁涓�"+exam_type);
wokViewModel.updateBeginTime(date.getTime());
jkMessage0202.timeBCD = date;
ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
index 7777c40..75bf62a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
@@ -59,7 +59,7 @@
public class RoadDriveMapFragmentaa extends SupportFragment implements View.OnClickListener {
private static final int ALL_MAP = 100;
- private int pixels = 80;
+ private int pixels = 3;
private boolean isDrawing = false;
private StringBuffer buffer = null;//瀛樻斁鍦板浘鐨刡uffer
@@ -865,7 +865,7 @@
scale_x = Math.round(Math.abs(50 / Math.sqrt(Math.pow(car[0][0], 2) + Math.pow(car[0][1], 2)) ));
- scale_x = 3;
+ scale_x = pixels;
scale_y = scale_x;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index 8ac2f3d..a4f3b2c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -449,16 +449,17 @@
Log.i(TAG, "ExamStatus onChanged: ");
if (examStatus!=null && examStatus.size()>0){
showChangKaoOrLukao(examStatus.get(0).getStartExam());
- MyLog.i(TAG,"鑰冭瘯鐘舵�佹洿鏂�"+examStatus.get(0).getStartExam());
+ MyLog.i("鑰冭瘯鐘舵�佹洿鏂�"+examStatus.get(0).getStartExam());
examStatusList.clear();
examStatusList.addAll(examStatus);
mHandler.obtainMessage(ADD_DATA).sendToTarget();
- if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){
+ exam_type = examStatus.get(0).getStartExam();
+ if (exam_type != Constant.NONE_BEEN_START_EXAM){
btn_start_exam.setText("缁撴潫璁粌");
}else{
btn_start_exam.setText("寮�濮嬭缁�");
}
- exam_type = examStatus.get(0).getStartExam();
+
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
new file mode 100644
index 0000000..2b1f5ea
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
@@ -0,0 +1,201 @@
+package safeluck.drive.evaluation.util
+
+import android.content.Context
+import androidx.work.Data
+import androidx.work.ListenableWorker
+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.Constant
+import safeluck.drive.evaluation.DB.WorkRoomDataBase
+import safeluck.drive.evaluation.DB.rtktb.RTKConfig
+import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig
+import safeluck.drive.evaluation.bean.ExamPlatformData
+import safeluck.drive.evaluation.bean.SignalConfigRemote
+import safeluck.drive.evaluation.bean.SimulateNightBean
+import safeluck.drive.evaluation.worker.MCUUpgradeWorker
+import java.io.IOException
+import java.io.InputStreamReader
+import java.nio.charset.Charset
+
+/**
+ *
+ * @ProjectName: DriveJudge
+ * @Package: safeluck.drive.evaluation.util
+ * @ClassName: DataInit
+ * @Description: java绫讳綔鐢ㄦ弿杩�
+ * @Author: 鏉庡崰浼�
+ * @CreateDate: 20/7/26 涓嬪崍4:44
+ * @UpdateUser: 鏇存柊鑰�
+ * @UpdateDate: 20/7/26 涓嬪崍4:44
+ * @UpdateRemark: 鏇存柊璇存槑
+ * @Version: 1.0
+ */
+
+fun MCUUpgrade(applicationContext:Context) {
+ MyLog.i("鍗囩骇鍗曠墖鏈�")
+ try {
+ val datas = FileUtil.readLocalFile(applicationContext, "dfu.bin")
+ if (datas != null) {
+ val strs = String(datas, Charset.forName("ISO-8859-1"))
+ AYSdk.getInstance().sendCmd(Constant.UPGRADE_MCU_CONTENT_FILE, strs)
+
+ FileUtil.deleteFile("", Constant.MCU_FILE_NAME);
+ } else {
+
+ MyLog.i( "mcu鍗囩骇鏂囦欢涓嶅瓨鍦�")
+ var data = Data.Builder().putString(Constant.MCU_UPGRADE_FAIL_RESASON,"mcu鍗囩骇鏂囦欢涓嶅瓨鍦�").build()
+
+ }
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+}
+
+private val gson = Gson()
+private val tempQs: MutableList<SimulateNightBean.QuestionBean> = java.util.ArrayList()
+var simulateNightBean:SimulateNightBean=SimulateNightBean()
+fun sendExamLights(applicationContext: Context){
+ MyLog.i("鍙戦�佺伅鍏�")
+
+ val examType = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).examStatusDao.startExamInt;
+ simulateNightBean.setExam(0)
+
+ val list = ExamPlatformData.getInstance().simulate_light_tips
+
+ tempQs.add(list[list.size-2])//鎻愮ず涓嬮潰灏嗚繘琛岀伅鍏夎�冭瘯
+ tempQs.add(list[0])
+ val a = Utils.getRandomInts(4, 12)
+ for (i in a.indices) {
+ tempQs.add(list[a[i]])
+ }
+ tempQs.add(list[list.size-1])//鎻愮ず鐏厜鑰冭瘯缁撴潫
+ simulateNightBean.setQuestion(tempQs)
+
+ MyLog.i("寮�濮嬪彂閫佺伅鍏�,鑰冭瘯椤瑰叡鏈�"+simulateNightBean.question.size)
+ AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean))
+
+ //鍙戦�佽�冭瘯鐘舵��
+ MyLog.i("鏌ュ埌鐨勮�冭瘯type=$examType")
+ try {
+ val jsonObject = JSONObject()
+ if (examType == safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) {
+ jsonObject.put("exam", 0)
+ }else{
+ jsonObject.put("exam", 1)
+ }
+
+ jsonObject.put("type", examType)
+ val examJson = jsonObject.toString()
+ AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.EXAM_STATUS, examJson)
+ } catch (e: JSONException) {
+ e.printStackTrace()
+ }
+
+}
+
+
+
+fun sendRtkConfig(applicationContext: Context){
+ 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)
+}
+
+private var signalConfiglist: MutableList<SignalConfigRemote> = ArrayList()
+private fun sendRtkConfigInfo(mRTKConfig: RTKConfig) {
+ if (mRTKConfig != null) {
+ var rtkjson = gson.toJson(mRTKConfig)
+ //鍘婚櫎id瀛楁
+ var jsonObject: JSONObject? = null
+ try {
+ jsonObject = JSONObject(rtkjson)
+ } catch (e: JSONException) {
+ e.printStackTrace()
+ }
+ jsonObject!!.remove("_id")
+ rtkjson = null
+ rtkjson = jsonObject.toString()
+ MyLog.i("NDK_start RTK閰嶇疆淇℃伅")
+ AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_RTK_PLATFORM_INFO, rtkjson)
+ } else {
+ MyLog.i("RTKConfig鏈彇鍒版暟鎹�")
+ }
+}
+
+private var singalConfigs :List<SingalConfig> = ArrayList()
+
+fun sendSignalConfigToRemote(applicationContext: Context){
+
+ 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 = singalConfigs.get(i).func_id
+ signalConfigRemote.gpio_num = singalConfigs.get(i).getIndex()-1
+ signalConfigRemote.level = singalConfigs.get(i).getHighLevel()
+ signalConfiglist.add(signalConfigRemote)
+ }
+
+
+ var indexs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao.allIndexs
+ sendSignalConfigsToRemote_(indexs)
+}
+
+private fun sendSignalConfigsToRemote_(indexs: List<Int>) {
+ if (signalConfiglist.size > 0) {
+ if (listContainsSameValue(indexs)) {
+ MyLog.i("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
+}
--
Gitblit v1.8.0