From 2242a796345bceb301cf3e2094f2a4871cb81cb6 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期四, 13 八月 2020 18:22:25 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge

---
 app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt                              |   16 
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java                    |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java                      |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java        |    3 
 app/src/main/java/safeluck/drive/evaluation/worker/TimeWorker.kt                          |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java                   |   25 
 app/src/main/java/safeluck/drive/evaluation/worker/MCUUpgradeWorker.kt                    |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java               |    2 
 BaseCommonLib/src/main/AndroidManifest.xml                                                |    5 
 BaseCommonLib/src/main/java/com/anyun/basecommonlib/MyLog.java                            |   11 
 app/src/main/java/safeluck/drive/evaluation/adapter/WrapContentLinearLayoutManager.java   |    4 
 app/src/main/java/safeluck/drive/evaluation/receiver/BootFinishReceiver.java              |    8 
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java       |    5 
 app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java           |   11 
 im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java                           |    2 
 app/src/main/java/safeluck/drive/evaluation/receiver/ReBootBroadcastReceiver.java         |    5 
 BaseCommonLib/build.gradle                                                                |   31 +
 app/build.gradle                                                                          |    7 
 app/src/main/res/layout/layout_base_datas.xml                                             |    1 
 lib/build.gradle                                                                          |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java                 |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java           |   10 
 app/src/main/res/layout/layout_signal_slice.xml                                           |   28 
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt         |    2 
 app/src/main/java/safeluck/drive/evaluation/util/Utils.java                               |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java |    2 
 app/src/main/assets/signal_config_file.json                                               |  207 +++++----
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java      |    6 
 app/src/main/java/safeluck/drive/evaluation/app.java                                      |   34 +
 app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt             |   18 
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java                             |    9 
 app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java           |   93 +++
 app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java                 |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/TakePhotoFragment.java               |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java            |   27 +
 app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java        |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java               |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIWorker.java         |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIWorker.java          |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java            |   11 
 app/src/main/res/layout/layout_check_signal.xml                                           |    1 
 app/src/main/res/values/styles.xml                                                        |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWoker.java           |    2 
 app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt                        |   16 
 app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java                     |    4 
 app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java        |    3 
 app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java                      |    6 
 BaseCommonLib/src/test/java/com/anyun/basecommonlib/ExampleUnitTest.java                  |   17 
 app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java                           |    2 
 app/src/main/res/layout/layout_train_fragment.xml                                         |    1 
 app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java                            |    2 
 app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java             |    2 
 app/src/main/res/values/arrays.xml                                                        |    4 
 im_lib/build.gradle                                                                       |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java               |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java          |    2 
 settings.gradle                                                                           |    1 
 app/src/main/res/layout/layout_gps_info.xml                                               |    1 
 im_lib/src/main/java/com/anyun/im_lib/HeartbeatHandler.java                               |    2 
 app/src/main/java/safeluck/drive/evaluation/util/CThreadPoolExecutor.java                 |    2 
 /dev/null                                                                                 |  485 -----------------------
 BaseCommonLib/src/androidTest/java/com/anyun/basecommonlib/ExampleInstrumentedTest.java   |   26 +
 app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java                      |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjWorker.java            |    3 
 app/src/main/java/safeluck/drive/evaluation/receiver/ShutdownBroadcastReceiver.java       |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragment.java            |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/Constant.java                              |    1 
 app/src/main/res/layout/layout_sys_setting.xml                                            |    1 
 app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java                 |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java            |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java             |    2 
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java        |    9 
 72 files changed, 484 insertions(+), 736 deletions(-)

diff --git a/BaseCommonLib/build.gradle b/BaseCommonLib/build.gradle
new file mode 100644
index 0000000..72c14e8
--- /dev/null
+++ b/BaseCommonLib/build.gradle
@@ -0,0 +1,31 @@
+apply plugin: 'com.android.library'
+
+android {
+    compileSdkVersion 30
+
+    defaultConfig {
+        minSdkVersion 21
+        targetSdkVersion 30
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        consumerProguardFiles "consumer-rules.pro"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    implementation fileTree(dir: "libs", include: ["*.jar"])
+    implementation 'androidx.appcompat:appcompat:1.1.0'
+    testImplementation 'junit:junit:4.12'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+
+}
\ No newline at end of file
diff --git a/BaseCommonLib/src/androidTest/java/com/anyun/basecommonlib/ExampleInstrumentedTest.java b/BaseCommonLib/src/androidTest/java/com/anyun/basecommonlib/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..209579b
--- /dev/null
+++ b/BaseCommonLib/src/androidTest/java/com/anyun/basecommonlib/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package com.anyun.basecommonlib;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+    @Test
+    public void useAppContext() {
+        // Context of the app under test.
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        assertEquals("com.anyun.basecommonlib.test", appContext.getPackageName());
+    }
+}
\ No newline at end of file
diff --git a/BaseCommonLib/src/main/AndroidManifest.xml b/BaseCommonLib/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..e2cba02
--- /dev/null
+++ b/BaseCommonLib/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.anyun.basecommonlib">
+
+    /
+</manifest>
\ No newline at end of file
diff --git a/im_lib/src/main/java/com/anyun/im_lib/util/MyLog.java b/BaseCommonLib/src/main/java/com/anyun/basecommonlib/MyLog.java
similarity index 96%
rename from im_lib/src/main/java/com/anyun/im_lib/util/MyLog.java
rename to BaseCommonLib/src/main/java/com/anyun/basecommonlib/MyLog.java
index 6ebeba7..8823f54 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/util/MyLog.java
+++ b/BaseCommonLib/src/main/java/com/anyun/basecommonlib/MyLog.java
@@ -1,4 +1,4 @@
-package com.anyun.im_lib.util;
+package com.anyun.basecommonlib;
 
 
 
@@ -31,7 +31,7 @@
 
 public class MyLog {
 
-    private static final String TAG = "AYJiaKao";
+     private static final String TAG = "AYJiaKao";
 
 
     // 鏃ュ織鏂囦欢鍦╯dcard涓殑璺緞
@@ -40,7 +40,7 @@
 
     private static Boolean MYLOG_SWITCH = true; // 鏃ュ織鏂囦欢鎬诲紑鍏�
 
-    private static Boolean MYLOG_WRITE_TO_FILE = true;// 鏃ュ織鍐欏叆鏂囦欢寮�鍏�
+    private static Boolean MYLOG_WRITE_TO_FILE = false;// 鏃ュ織鍐欏叆鏂囦欢寮�鍏�
     private static File file;
 
     // 杈撳叆鏃ュ織绫诲瀷锛寃浠h〃鍙緭鍑哄憡璀︿俊鎭瓑锛寁浠h〃杈撳嚭鎵�鏈変俊鎭�
@@ -273,7 +273,7 @@
      * @param text
      */
     static int count=0;
-    private static void writeLogtoFile( final String tag, final String text) {// 鏂板缓鎴栨墦寮�鏃ュ織鏂囦欢
+    private static synchronized void writeLogtoFile( final String tag, final String text) {// 鏂板缓鎴栨墦寮�鏃ュ織鏂囦欢
 
         String needWriteMessage = myLogSdf.format(System.currentTimeMillis()) + " " + tag + "  " + text;
 
@@ -316,7 +316,6 @@
         File tempFile = null;
         for (int j = 0; j < 5; j++) {
             tempFile = new File(dirPath,PREFREIX+j+".txt");
-            Log.i(TAG,"tempFIle Name= "+tempFile.getName());
 
             if (tempFile.length()>20*1024*1024) {
                 if (j==4){
@@ -334,7 +333,7 @@
 
 
             }else{
-                Log.i(TAG,String.format("杩斿洖鏂囦欢%s",tempFile.getName()));
+//                Log.i(TAG,String.format("杩斿洖鏂囦欢%s",tempFile.getName()));
                 break;
             }
 
diff --git a/BaseCommonLib/src/test/java/com/anyun/basecommonlib/ExampleUnitTest.java b/BaseCommonLib/src/test/java/com/anyun/basecommonlib/ExampleUnitTest.java
new file mode 100644
index 0000000..c52c303
--- /dev/null
+++ b/BaseCommonLib/src/test/java/com/anyun/basecommonlib/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.anyun.basecommonlib;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+public class ExampleUnitTest {
+    @Test
+    public void addition_isCorrect() {
+        assertEquals(4, 2 + 2);
+    }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index c04999c..dd43306 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@
         applicationId "safeluck.drive.evaluation"
         minSdkVersion 21
         targetSdkVersion 28
-        versionCode 1
-        versionName "1.0"
+        versionCode 3
+        versionName "1.3"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
         ndk {
@@ -59,7 +59,7 @@
     implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.lifecycleVersion"
     implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     // To get SwipeBack feature, rely on both fragmentation & fragmentation-swipeback
-    implementation 'me.yokeyword:fragmentation:1.3.6'
+    implementation 'me.yokeyword:fragmentationx:1.0.1'
 // Swipeback is based on fragmentation. Refer to SwipeBackActivity/Fragment for your Customized SupportActivity/Fragment
     implementation 'me.yokeyword:fragmentation-swipeback:1.3.6'
 
@@ -71,6 +71,7 @@
     implementation 'com.google.code.gson:gson:2.8.6'
     implementation 'com.facebook.stetho:stetho:1.5.0'
     implementation project(path: ':im_lib')
+    implementation project(path: ':BaseCommonLib')
     implementation "androidx.core:core-ktx:+"
     implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0"
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
diff --git a/app/src/main/assets/signal_config_file.json b/app/src/main/assets/signal_config_file.json
index a621e73..e25e67f 100644
--- a/app/src/main/assets/signal_config_file.json
+++ b/app/src/main/assets/signal_config_file.json
@@ -1,100 +1,8 @@
 [
-
-  {
-    "signalName": "闆剧伅",
-    "index":1,
-    "func_id":21,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "涓夋。",
-    "index":15,
-    "func_id":11,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "鎵嬪埞",
-    "index":3,
-    "func_id":3,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "涓�妗�",
-    "index":8,
-    "func_id":9,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "鍓埞",
-    "index":16,
-    "func_id":16,
-    "highLevel":1,
-    "mainBoard":2
-  },
   {
     "signalName": "瀹夊叏甯�",
     "index":6,
     "func_id":0,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "浜屾。",
-    "index":7,
-    "func_id":10,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "鑴氬埞",
-    "index":4,
-    "func_id":4,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "绌烘尅",
-    "index":9,
-    "func_id":8,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "闂ㄩ攣",
-    "func_id":7,
-    "index":10,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "START浣�",
-    "func_id":15,
-    "highLevel":1,
-    "index":11,
-    "mainBoard":2
-  },
-  {
-    "signalName": "杩滃厜",
-    "index":12,
-    "func_id":6,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "缁曡溅涓�",
-    "index":13,
-    "func_id":17,
-    "highLevel":1,
-    "mainBoard":2
-  },
-  {
-    "signalName": "杩戝厜",
-    "index":14,
-    "func_id":5,
     "highLevel":1,
     "mainBoard":2
   },
@@ -112,6 +20,103 @@
     "highLevel":1,
     "mainBoard":2
   },
+  {
+    "signalName": "鎵嬪埞",
+    "index":3,
+    "func_id":3,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "鑴氬埞",
+    "index":4,
+    "func_id":4,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "杩戝厜",
+    "index":14,
+    "func_id":5,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "杩滃厜",
+    "index":12,
+    "func_id":6,
+    "highLevel":1,
+    "mainBoard":2
+  }
+, {
+  "signalName": "闂ㄩ攣",
+  "index":22,
+  "func_id":7,
+  "highLevel":1,
+  "mainBoard":2
+},
+
+  {
+    "signalName": "绌烘尅",
+    "index":9,
+    "func_id":8,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "闆剧伅",
+    "index":1,
+    "func_id":21,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "涓夋。",
+    "index":15,
+    "func_id":11,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "涓�妗�",
+    "index":8,
+    "func_id":9,
+    "highLevel":1,
+    "mainBoard":2
+  },
+  {
+    "signalName": "鍓埞",
+    "index":16,
+    "func_id":16,
+    "highLevel":1,
+    "mainBoard":2
+  },
+
+  {
+    "signalName": "浜屾。",
+    "index":10,
+    "func_id":10,
+    "highLevel":1,
+    "mainBoard":2
+  },
+
+  {
+    "signalName": "START浣�",
+    "func_id":15,
+    "highLevel":1,
+    "index":11,
+    "mainBoard":2
+  },
+
+  {
+    "signalName": "缁曡溅涓�",
+    "index":13,
+    "func_id":17,
+    "highLevel":1,
+    "mainBoard":2
+  },
+
+
   {
     "signalName": "缁曡溅浜�",
     "index":17,
@@ -139,5 +144,23 @@
     "func_id":22,
     "highLevel":1,
     "mainBoard":2
+  }, {
+    "signalName": "鍥涙。",
+    "index":21,
+    "func_id":12,
+    "highLevel":1,
+    "mainBoard":2
+  }, {
+    "signalName": "浜旀。",
+    "index":23,
+    "func_id":13,
+    "highLevel":1,
+    "mainBoard":2
+  }, {
+    "signalName": "鍊掓。",
+    "index":7,
+    "func_id":14,
+    "highLevel":1,
+    "mainBoard":2
   }
 ]
\ No newline at end of file
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 deb55f5..d2c9f3d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java
@@ -25,4 +25,5 @@
     public static final int EXAM_MAP_TYPE_ANGLE = 5;
     public static final int FINISH_ITEM = 0;//璇ラ」鍦哄湴鑰冭瘯缁撴潫锛堝嚭鍦哄湴锛�
     public static final int BEGIN_ITEM = 1;//璇ラ」鑰冭瘯寮�濮嬭繘鍏ュ満鍦�
+    public static final int EXAM_STATUS_MAP_ID = -1;
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java b/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java
index b691c46..1187f05 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java
@@ -8,7 +8,7 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import org.json.JSONException;
 import org.json.JSONObject;
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 0bc7afd..ac183d9 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
@@ -7,19 +7,19 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
+import com.anyun.basecommonlib.MyLog;
+
 
 import org.json.JSONException;
 import org.json.JSONObject;
 
-import java.lang.reflect.Type;
 
 import safeluck.drive.evaluation.Constant;
 import safeluck.drive.evaluation.DB.WorkRoomDataBase;
-import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
 
+/**
+ * @author Administrator
+ */
 public class AppStatusWorker extends Worker {
 
     private static final String TAG = "AppStatusWorker";
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java
index 1ab54c9..efd9bbc 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java
@@ -6,7 +6,7 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.gson.stream.JsonReader;
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIWorker.java
index 2a9d8ff..16155e8 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIWorker.java
@@ -6,7 +6,7 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.gson.stream.JsonReader;
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIWorker.java
index 1e5e16c..2d1723b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIWorker.java
@@ -6,7 +6,7 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.gson.stream.JsonReader;
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java
index d6f81e8..2bea80b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java
@@ -29,6 +29,6 @@
     @Query("select startExam from exam_status where map_id=1")
     int getStartExamInt();
 
-    @Query("delete from exam_status")
+    @Query("delete from exam_status where map_id >-1")
     void deleteAll();
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java
index 0376acb..293b9b3 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java
@@ -7,10 +7,11 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.util.Random;
 
+import safeluck.drive.evaluation.DB.Constant;
 import safeluck.drive.evaluation.DB.WorkRoomDataBase;
 
 public class ExamStatusInitWorker extends Worker {
@@ -20,6 +21,7 @@
 
     public ExamStatusInitWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
         super(context, workerParams);
+        Log.i(TAG,"ExamStatusInitWOrker");
         examStatus = new ExamStatus();
     }
 
@@ -31,7 +33,7 @@
         for (int i = 0; i < 1; i++) {
             examStatus.setEnter(2);//榛樿寰呰�冮」鐩�
             examStatus.setStartExam(0);//榛樿娌℃湁寮�濮嬭�冭瘯
-            examStatus.setMap_id(1);
+            examStatus.setMap_id(Constant.EXAM_STATUS_MAP_ID);
 
             WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().insert(examStatus);
         }
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 d9a8c31..dd73720 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,8 +8,8 @@
 import androidx.work.Data
 import androidx.work.Worker
 import androidx.work.WorkerParameters
+import com.anyun.basecommonlib.MyLog
 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
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
index 3473fd7..27ac6e2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
@@ -58,4 +58,9 @@
     public void updateItemExamResult(int i, int map_id) {
         examStatusWorkRepo.updateItemResult(i,map_id);
     }
+
+    public void deleteAll() {
+
+        examStatusWorkRepo.deleteAll();
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWoker.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWoker.java
index b840c2e..17c04bf 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWoker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWoker.java
@@ -8,7 +8,7 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import org.json.JSONException;
 import org.json.JSONObject;
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 8838945..67323ce 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
@@ -61,4 +61,13 @@
             }
         });
     }
+
+    public void deleteAll() {
+        WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                examStatusDao.deleteAll();
+            }
+        });
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java
index 6db9e45..097748d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java
@@ -4,11 +4,10 @@
 
 import androidx.lifecycle.LiveData;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.util.List;
 
-import safeluck.drive.evaluation.Constant;
 import safeluck.drive.evaluation.DB.WorkRoomDataBase;
 
 /**
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjWorker.java
index b304389..f513320 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjWorker.java
@@ -6,9 +6,6 @@
 import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 
-import com.anyun.exam.lib.MyLog;
-
-import safeluck.drive.evaluation.DB.WorkRoomDataBase;
 
 /**
  * MyApplication2
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
index 54e7565..7501015 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
@@ -7,8 +7,8 @@
 import android.widget.Toast
 import androidx.work.Worker
 import androidx.work.WorkerParameters
+import com.anyun.basecommonlib.MyLog
 import com.anyun.exam.lib.AYSdk
-import com.anyun.exam.lib.MyLog
 import com.google.gson.Gson
 import okhttp3.ResponseBody
 import org.json.JSONException
@@ -128,7 +128,7 @@
                                                 MyLog.i(PlatFormConstant.HTTPTAG,"绉戜笁鍦哄湴鍦板浘淇濆瓨鎴愬姛")
                                                 str = gson.toJson(yard.data.map_json)
                                                 FileUtil.writeTxtFileToSD(applicationContext,fileName,str,"")
-//                                                sendMapInfo()
+                                                sendMapInfo()
                                             })
                                         }
                                     }
@@ -146,7 +146,7 @@
                                             str = gson.toJson(car.data.map_json)
                                             MyLog.i(PlatFormConstant.HTTPTAG,"杞﹁締妯″瀷淇濆瓨鎴愬姛")
                                             FileUtil.writeTxtFileToSD(applicationContext,fileName,str,"")
-//                                            sendVehicleInfo()
+                                            sendVehicleInfo()
                                         })
 
                                     }
@@ -161,12 +161,12 @@
             })
 
         }else{
-//            MyLog.i(PlatFormConstant.HTTPTAG,"宸插瓨鍦ㄧ洿鎺ュ彂閫佽溅杈嗗拰鍦板浘"+fileName)
-//            when(type){
-//                "road" -> sendRoadMapInfo()
-//                "yard" -> sendMapInfo()
-//                else -> sendVehicleInfo()
-//            }
+            MyLog.i(PlatFormConstant.HTTPTAG,"宸插瓨鍦ㄧ洿鎺ュ彂閫佽溅杈嗗拰鍦板浘"+fileName)
+            when(type){
+                "road" -> sendRoadMapInfo()
+                "yard" -> sendMapInfo()
+                else -> sendVehicleInfo()
+            }
 
         }
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java
index 60d2280..fc9b9b0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKWorkRepository.java
@@ -4,7 +4,7 @@
 
 import androidx.lifecycle.LiveData;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import safeluck.drive.evaluation.DB.WorkRoomDataBase;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java
index 228f070..95188b7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigDao.java
@@ -29,6 +29,9 @@
     int getSignalName2Index(String signame);
 
 
+
+
+
     //鏌ヨ鎵�鏈変俊鍙峰搴旂殑鐗╃悊鎵�寮�
     @Query("select `index` from signal_config")
     List<Integer> getAllIndexs();
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java
index 6f0e210..f44d763 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java
@@ -8,7 +8,7 @@
 import androidx.work.WorkerParameters;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.gson.stream.JsonReader;
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java
index f337755..4f6360b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SingalConfig.java
@@ -55,4 +55,15 @@
     public void setMainBoard(int mainBoard) {
         this.mainBoard = mainBoard;
     }
+
+    @Override
+    public String toString() {
+        return "SingalConfig{" +
+                "signalName='" + signalName + '\'' +
+                ", index=" + index +
+                ", highLevel=" + highLevel +
+                ", mainBoard=" + mainBoard +
+                ", func_id=" + func_id +
+                '}';
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 1964cd7..4d41694 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -3,7 +3,7 @@
 
 import android.Manifest;
 import android.app.AlertDialog;
-
+import com.anyun.basecommonlib.MyLog;
 import android.content.DialogInterface;
 import android.os.AsyncTask;
 import android.os.Build;
@@ -24,25 +24,20 @@
 import androidx.annotation.Nullable;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProviders;
-import androidx.work.OneTimeWorkRequest;
-import androidx.work.WorkManager;
+
 
 import me.yokeyword.fragmentation.SupportActivity;
 import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
 import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel;
-import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
 import safeluck.drive.evaluation.DB.rtktb.RTKConfig;
 import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
 import safeluck.drive.evaluation.DB.signalConfigdb.SignalConfigViewModel;
-import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig;
 import safeluck.drive.evaluation.bean.ExamPlatformData;
 import safeluck.drive.evaluation.bean.SignalConfigRemote;
 import safeluck.drive.evaluation.cEventCenter.CEventCenter;
 import safeluck.drive.evaluation.cEventCenter.ICEventListener;
 import safeluck.drive.evaluation.fragment.HomeFragment;
 
-import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
 import com.anyun.im_lib.listener.IMSConnectStatusCallback;
 import com.google.gson.Gson;
 import com.safeluck.aykj.utils.BytesUtils;
diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/WrapContentLinearLayoutManager.java b/app/src/main/java/safeluck/drive/evaluation/adapter/WrapContentLinearLayoutManager.java
index 8862fcb..42873bf 100644
--- a/app/src/main/java/safeluck/drive/evaluation/adapter/WrapContentLinearLayoutManager.java
+++ b/app/src/main/java/safeluck/drive/evaluation/adapter/WrapContentLinearLayoutManager.java
@@ -2,14 +2,12 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.util.Log;
 
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
-import safeluck.drive.evaluation.fragment.BaseDatasFragment;
 
 public class WrapContentLinearLayoutManager extends LinearLayoutManager {
     private static final String TAG = "WrapContentLinearLayoutManager";
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 23357ad..07539dc 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -20,7 +20,7 @@
 import me.yokeyword.fragmentation.Fragmentation;
 import me.yokeyword.fragmentation.helper.ExceptionHandler;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.exam.lib.crash.CrashHandler;
 import com.facebook.stetho.Stetho;
 import com.google.gson.JsonArray;
@@ -37,6 +37,7 @@
 import safeluck.drive.evaluation.DB.appstatusdb.AppStatusWorker;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForIII;
+import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatusOutWorker;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatusWoker;
 import safeluck.drive.evaluation.DB.failitems.FailedProj;
@@ -56,7 +57,6 @@
 import safeluck.drive.evaluation.util.FileUtil;
 import safeluck.drive.evaluation.util.SystemUtil;
 import safeluck.drive.evaluation.util.Utils;
-import safeluck.drive.evaluation.worker.MCUUpgradeWorker;
 
 /**
  * MyApplication2
@@ -87,7 +87,6 @@
             crashHandler.init(getApplicationContext());
             AYSdk.getInstance().init(getApplicationContext());
             AYSdk.getInstance().registListener(this);
-            MyLog.createIfNotExist();
             Stetho.initializeWithDefaults(this);
 
             appContext = this;
@@ -140,6 +139,9 @@
 
     private String lastStr;
     private String lastSn;
+    private int mapId = 0;
+    int type = 0;
+    int enter_status = -1;
     @Override
     public void callBackMsg(final int cmd, String json) {
         String strConent = String.format("鏀跺埌鍛戒护[%d],Json鍐呭涓�%s", cmd, json);
@@ -181,11 +183,8 @@
                 if(!TextUtils.isEmpty(json)){
                     final JKMessage0203 jkMessage0203 = new JKMessage0203();
 
-//                    Data judgeData = new Data.Builder().putString(Constant.TTS,json).build();
                     final JsonArray jsonArray = (JsonArray) JsonParser.parseString(json);
 //
-//                    OneTimeWorkRequest ttswoker = new OneTimeWorkRequest.Builder(TTSWorker.class).setInputData(judgeData).build();
-//                    WorkManager.getInstance(getAppContext()).enqueue(ttswoker);
 
                     CThreadPoolExecutor.runInBackground(new Runnable() {
                         @Override
@@ -324,12 +323,13 @@
                 WorkManager.getInstance(getApplicationContext()).enqueue(gpsinfoWorkRequest);
                 break;
             case Constant.ENTER_OR_EXIT_ITEM:
-                int type = 0;
-                int enter_status = -1;
+
                 try {
                     JSONObject rtkConfigUpdtea = new JSONObject(json);
                     type = rtkConfigUpdtea.getInt("type");
                     enter_status = rtkConfigUpdtea.getInt("enter");
+                    mapId = rtkConfigUpdtea.getInt("map_id");
+
                     String itemstr=ExamPlatformData.getInstance().getItemStatusStr(type);
                     MyLog.i(PlatFormConstant.LUKAO,String.format("%s",itemstr+(enter_status==Constant.EXIT_CURRENT_ITEM?"缁撴潫":"寮�濮�")));
                     if (ExamPlatformData.getInstance().getTrainingMode()== ExamPlatformData.TRAINING_MODE){
@@ -355,9 +355,21 @@
                 } catch (JSONException e) {
                     e.printStackTrace();
                 }
-                Data exam_enter_exitdata = new Data.Builder().putString(Constant.exam_enter_exitdata,json).build();
-                OneTimeWorkRequest examStatusWorker = new OneTimeWorkRequest.Builder(ExamStatusWoker.class).setInputData(exam_enter_exitdata).build();
-                WorkManager.getInstance(getApplicationContext()).enqueue(examStatusWorker);
+
+                MyLog.i("鏀跺埌鍛戒护13="+json);
+                CThreadPoolExecutor.runInBackground(new Runnable() {
+                    @Override
+                    public void run() {
+                        ExamStatus examStatus = new ExamStatus();
+                        examStatus.setEnter(enter_status);
+                        examStatus.setMap_id(mapId);
+                        examStatus.setMap_item(type);
+                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().insert(examStatus);
+                    }
+                });
+//                Data exam_enter_exitdata = new Data.Builder().putString(Constant.exam_enter_exitdata,json).build();
+//                OneTimeWorkRequest examStatusWorker = new OneTimeWorkRequest.Builder(ExamStatusWoker.class).setInputData(exam_enter_exitdata).build();
+//                WorkManager.getInstance(getApplicationContext()).enqueue(examStatusWorker);
                 break;
             case Constant.REAL_TIME_CAR_POS:
                 try {
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 bd92cb9..b88df7f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -10,7 +10,7 @@
 import androidx.work.OneTimeWorkRequest;
 import androidx.work.WorkManager;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.exam.lib.util.Speaker;
 
 import java.util.ArrayList;
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java b/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java
index 43768a8..923a77f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java
@@ -1,6 +1,6 @@
 package safeluck.drive.evaluation.bean;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import safeluck.drive.evaluation.util.Utils;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt b/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt
index e800626..1901f7f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/customview/MyDialog.kt
@@ -35,10 +35,10 @@
     lateinit var onClick:MyOnClickListener
     override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
         if(dialog!=null){
-            var windown = dialog.window;
-           windown.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
-            windown.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
-            dialog.setOnShowListener { windown.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
+            var windown = dialog!!.window;
+           windown?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+            windown?.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
+            dialog?.setOnShowListener { windown?.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
             hideBottomUIMenu()}
         }
         var view = inflater.inflate(R.layout.layout_dlg,container,false)
@@ -67,13 +67,13 @@
      */
     protected fun hideBottomUIMenu() { //闅愯棌铏氭嫙鎸夐敭锛屽苟涓斿叏灞�
         if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
-            val v = this.dialog.window.decorView
-            v.systemUiVisibility = View.GONE
+            val v = this.dialog?.window?.decorView
+            v?.systemUiVisibility = View.GONE
         } else if (Build.VERSION.SDK_INT >= 19) { //for new api versions.
-            val decorView = dialog.window.decorView
+            val decorView = dialog?.window?.decorView
             val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                     or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or View.SYSTEM_UI_FLAG_FULLSCREEN)
-            decorView.systemUiVisibility = uiOptions
+            decorView?.systemUiVisibility = uiOptions
         }
     }
 
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 6954618..cf2b582 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -30,7 +30,7 @@
 import android.widget.Toast;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.exam.lib.util.ByteUtil;
 import com.google.gson.Gson;
 import com.safeluck.aykj.utils.BytesUtils;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java
index 5bd05f8..2aa333e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java
@@ -17,7 +17,7 @@
 import androidx.lifecycle.ViewModelProviders;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.lang.reflect.Field;
 import java.util.ArrayList;
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 6b3b62f..39de491 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java
@@ -15,16 +15,21 @@
 import androidx.annotation.Nullable;
 import androidx.appcompat.widget.Toolbar;
 import androidx.databinding.DataBindingUtil;
+import androidx.lifecycle.ViewModelProviders;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.im_lib.util.ByteUtil;
 import com.google.gson.Gson;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.DB.signalConfigdb.SignalConfigViewModel;
+import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig;
 import safeluck.drive.evaluation.MainActivity;
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.bean.MCUInfo;
@@ -52,6 +57,7 @@
     Drawable leftGray ;
     private int  index =0 ;
     private Object object = new Object();
+    private int fun_id = 0;
     private ICEventListener icEventListener = new ICEventListener() {
         @Override
         public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
@@ -76,22 +82,40 @@
                                     MyLog.i(TAG, "run: gpio["+i+"]="+gpios.get(i));
                                 }
                                 MyLog.i("gpios.size="+gpios.size());
-                                bingding.inpsetSignalSlice.tvSeatBelt.setCompoundDrawablesWithIntrinsicBounds(gpios.get(5)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvTrunLeft.setCompoundDrawablesWithIntrinsicBounds(gpios.get(14)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvTurnRight.setCompoundDrawablesWithIntrinsicBounds(gpios.get(15)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvParkingBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(2)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvFootBrake.setCompoundDrawablesWithIntrinsicBounds(gpios.get(7)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvLowLamp.setCompoundDrawablesWithIntrinsicBounds(gpios.get(13)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvHighBeam.setCompoundDrawablesWithIntrinsicBounds(gpios.get(11)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
 
-                                bingding.inpsetSignalSlice.tvGateLock.setCompoundDrawablesWithIntrinsicBounds(gpios.get(9)==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(3)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvGearTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(6)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvGearThree.setCompoundDrawablesWithIntrinsicBounds(gpios.get(1)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvGearFour.setCompoundDrawablesWithIntrinsicBounds(gpios.get(4)==VALIAD_NUM?leftGreen:leftGray,null,null,null);//鍓埞
-                                bingding.inpsetSignalSlice.tvWindingOne.setCompoundDrawablesWithIntrinsicBounds(gpios.get(12)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
-                                bingding.inpsetSignalSlice.tvWindingTwo.setCompoundDrawablesWithIntrinsicBounds(gpios.get(10)==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                fun_id = 0;
+                                //瀹夊叏甯�
+                                bingding.inpsetSignalSlice.tvSeatBelt.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                Log.i(TAG,"瀹夊叏甯︿箣鍚庯紝Fun_ID="+fun_id);
+                                //宸﹁浆
+                                bingding.inpsetSignalSlice.tvTrunLeft.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                //鍙宠浆
+                                bingding.inpsetSignalSlice.tvTurnRight.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvParkingBrake.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvFootBrake.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvLowLamp.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvHighBeam.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+
+                                bingding.inpsetSignalSlice.tvGateLock.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvNullEngine.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvGearOne.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvGearTwo.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvGearThree.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvGearFour.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvGearFive.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvReverseGear.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                Log.i(TAG,"涓夋尅涔嬪悗锛孎un_ID="+fun_id);
+
+                              //鍓埞
+                                bingding.inpsetSignalSlice.tvSecondaryBrake.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);//鍓埞
+                                bingding.inpsetSignalSlice.tvWindingOne.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvWindingTwo.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvWindingThree.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                bingding.inpsetSignalSlice.tvWindingFour.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+
+                                bingding.inpsetSignalSlice.tvFoglight.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
+                                //绀哄鐏�
+                                bingding.inpsetSignalSlice.tvWidthLamp.setCompoundDrawablesWithIntrinsicBounds(getGpioBitValue()==VALIAD_NUM?leftGreen:leftGray,null,null,null);
                             }
                         });
                     }
@@ -100,18 +124,38 @@
 
         }
     };
+    private int getGpioBitValue(){
 
+        int index = singalConfigList.get(fun_id++).getIndex();
+        Log.i(TAG,"fun_id"+(fun_id-1)+"瀵瑰簲index="+index);
+        if (index<gpios.size()){
+
+            int value = gpios.get(index-1);
+            return value;
+        }else{
+            Log.i(TAG,"绱㈠紩瓒呭嚭锛屾墍浠ュ�艰繑鍥�0锛岄粯璁ょ伆鑹蹭俊鍙�");
+            return 0;
+        }
+
+    }
     public static SupportFragment newInstance(){
         return new InspectSignalFragment();
     }
-
+    private List<SingalConfig> singalConfigList = new ArrayList<>();
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
 
         bingding = DataBindingUtil.inflate(inflater,R.layout.layout_check_signal,container,false);
         initView();
-
+        SignalConfigViewModel signalConfigViewModel = ViewModelProviders.of(this).get(SignalConfigViewModel.class);
+        signalConfigViewModel.getSignalConfigs().observe(this, singalConfigs -> {
+            if (singalConfigs != null && singalConfigs.size()>0){
+                singalConfigList.clear();
+                singalConfigList = singalConfigs;
+                sortSigalConfigList();
+            }
+        });
         leftGreen = getResources().getDrawable(R.drawable.green_light,null);
         leftGray = getResources().getDrawable(R.drawable.gray_light,null);
 
@@ -119,6 +163,19 @@
         return bingding.getRoot();
     }
 
+    private void sortSigalConfigList() {
+        Collections.sort(singalConfigList, new Comparator<SingalConfig>() {
+            @Override
+            public int compare(SingalConfig o1, SingalConfig o2) {
+                return o1.getFunc_id()-o2.getFunc_id();
+            }
+        });
+        Log.i(TAG,"鏍规嵁fun_id 鍗囧簭鎺掑垪");
+        for (int j = 0; j < singalConfigList.size(); j++) {
+            Log.i(TAG,singalConfigList.get(j).toString());
+        }
+    }
+
     private void initView() {
         Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName());
         if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
index 03fc017..e3723ef 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
@@ -23,7 +23,7 @@
 import androidx.appcompat.widget.Toolbar;
 
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 
@@ -1249,7 +1249,7 @@
                     String newmap = null;
                     String mapPath = ExamPlatformData.getInstance().getMapPath();
                     if (!TextUtils.isEmpty(mapPath)){
-                        MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘"+mapPath);
+//                        MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘"+mapPath);
                         byte[] fileContent = FileUtil.readFile(mapPath);
                         if (fileContent != null){
                             newmap= new String(fileContent);
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 ef32b5e..ef7c128 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -33,7 +33,7 @@
 import androidx.work.WorkManager;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.squareup.picasso.Picasso;
 
 import org.json.JSONException;
@@ -727,8 +727,13 @@
         //璁剧疆妯″紡涓篘ONE 0
         ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE);
         //鎭㈠鍒濆鏁版嵁
-        OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
-        WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
+//        OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
+//        WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
+        //鎭㈠鍒濆鏁版嵁exam_status琛�
+        examStatusViewModel.deleteAll();
+        examStatusViewModel.updateItemExamResult(1, safeluck.drive.evaluation.DB.Constant.EXAM_STATUS_MAP_ID);
+        examStatusViewModel.updateStartExam(0);
+        examStatusViewModel.updateExamStatus(2, safeluck.drive.evaluation.DB.Constant.EXAM_STATUS_MAP_ID);
 
         item_id = 0;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
index 423f9e7..b7027b1 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
@@ -14,7 +14,7 @@
 import android.widget.EditText;
 import android.widget.TextView;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 
 import me.yokeyword.fragmentation.SupportFragment;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragment.java
index 29b98bb..b3a41c0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragment.java
@@ -17,7 +17,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 
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 b08a568..2c09d3e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
@@ -24,7 +24,7 @@
 import androidx.annotation.Nullable;
 import androidx.appcompat.widget.Toolbar;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
index 31da35f..68efb0f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
@@ -26,7 +26,7 @@
 import androidx.work.WorkManager;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.exam.lib.util.ByteUtil;
 import com.google.gson.Gson;
 import com.safeluck.aykj.utils.BytesUtils;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
index 5962107..bdc68e7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
@@ -16,6 +16,7 @@
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -23,7 +24,7 @@
 import androidx.appcompat.widget.Toolbar;
 import androidx.lifecycle.ViewModelProviders;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -34,8 +35,10 @@
 import safeluck.drive.evaluation.DB.signalConfigdb.SignalConfigViewModel;
 import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig;
 import safeluck.drive.evaluation.R;
+import safeluck.drive.evaluation.app;
 import safeluck.drive.evaluation.bean.SignalConfigBean;
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
+import safeluck.drive.evaluation.util.DataInitKt;
 
 
 /**
@@ -44,7 +47,7 @@
  * 閭锛�632393724@qq.com
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
-public class SignalConfigFragment extends SupportFragment {
+public class SignalConfigFragment extends SupportFragment implements View.OnClickListener {
 
 
     private static final int INDEX  = 1;
@@ -78,6 +81,7 @@
 
         linearLayout = view.findViewById(R.id.ll_container);
         listView =view.findViewById(R.id.lv_signalconf);
+        view.findViewById(R.id.btn_save_signals).setOnClickListener(this);
         listView.setDivider(null);
         final MySignalsAdapter mySignalsAdapter = new MySignalsAdapter(_mActivity);
 
@@ -85,9 +89,9 @@
         signalConfigViewModel.getSignalConfigs().observe(this, singalConfigs -> {
             list.clear();
             signalConfiglist.clear();
-            MyLog.i(TAG,"淇″彿閰嶇疆鍙戠敓鍙樺寲");
 
 
+            MyLog.i(TAG,"淇″彿閰嶇疆鍙戠敓鍙樺寲"+singalConfigs.size());
             for (int i = 0; i < singalConfigs.size(); i++) {
                 SingalConfig singalConfig = singalConfigs.get(i);
                 i++;
@@ -108,8 +112,19 @@
 
     }
 
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()){
+            case R.id.btn_save_signals:
+                Toast.makeText(_mActivity, "鍙戦�佷俊鍙烽厤缃�", Toast.LENGTH_SHORT).show();
+                CThreadPoolExecutor.runInBackground(()->{
+                    MyLog.i("click鏃堕棿锛屽彂閫佷俊鍙�");
+                    DataInitKt.sendSignalConfigToRemote(app.getAppContext());
+                });
 
-
+                break;
+        }
+    }
 
 
     private  class MySignalsAdapter extends BaseAdapter{
@@ -283,8 +298,8 @@
                         @Override
                         public void run() {
                             Log.i(TAG,"CThreadPoolExecutor position="+position+ " s1="+signName1+" s2="+s2);
-                            viewHolder.editText1.setSelection(getSigal2Pos(signName1));
-                            viewHolder.editText2.setSelection(getSigal2Pos(s2));
+                            viewHolder.editText1.setSelection(getSigal2Pos(signName1),true);
+                            viewHolder.editText2.setSelection(getSigal2Pos(s2),true);
                         }
                     });
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TakePhotoFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TakePhotoFragment.java
index 9d8bccf..fde1638 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TakePhotoFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TakePhotoFragment.java
@@ -61,7 +61,7 @@
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.customview.AutoFitTextureView;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 /**
  * MyApplication2
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 a4f3b2c..8609a49 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -36,7 +36,7 @@
 import android.widget.Toast;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 
 import org.json.JSONException;
@@ -52,10 +52,7 @@
 import safeluck.drive.evaluation.Constant;
 import safeluck.drive.evaluation.DB.Student;
 import safeluck.drive.evaluation.DB.WokViewModel;
-import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
-import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
-import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
 import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel;
 import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
@@ -66,13 +63,13 @@
 import safeluck.drive.evaluation.bean.ScoreBean;
 import safeluck.drive.evaluation.cEventCenter.CEventCenter;
 import safeluck.drive.evaluation.cEventCenter.ICEventListener;
-import safeluck.drive.evaluation.customview.LoadProgressDialog;
-import safeluck.drive.evaluation.customview.MyDialog;
+
 import safeluck.drive.evaluation.customview.QRCodeDialog;
 import safeluck.drive.evaluation.customview.SelectDialog;
 import safeluck.drive.evaluation.im.MessageProcessor;
 import safeluck.drive.evaluation.platformMessage.JKMessage0201;
 import safeluck.drive.evaluation.platformMessage.JKMessage0202;
+import safeluck.drive.evaluation.platformMessage.JKMessage0204;
 import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
 import safeluck.drive.evaluation.util.Utils;
 
@@ -695,13 +692,21 @@
 
     private void stopExam() {
         MyLog.i(TAG,"缁撴潫璁粌");
-
+        JKMessage0204 jkMessage0204 = new JKMessage0204();
+        jkMessage0204.timeBCD = new Date();
+        jkMessage0204.score = currTotalScore<0?0:currTotalScore;
+        jkMessage0204.stop = JKMessage0204.SUCC_STOP;
+        jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
+        MessageProcessor.getInstance().sendMessage(jkMessage0204);
         //璁剧疆妯″紡涓篘ONE 0
         ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE);
 
-        //鎭㈠鍒濆鏁版嵁
-        OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
-        WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
+        //鎭㈠鍒濆鏁版嵁exam_status琛�
+        examStatusViewModel.deleteAll();
+        examStatusViewModel.updateItemExamResult(1, safeluck.drive.evaluation.DB.Constant.EXAM_STATUS_MAP_ID);
+        examStatusViewModel.updateStartExam(0);
+        examStatusViewModel.updateExamStatus(2, safeluck.drive.evaluation.DB.Constant.EXAM_STATUS_MAP_ID);
+
         item_id = 0;
         currTotalScore = 100;
         failedProjViewModel.deleteAll();
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java
index 9bdb8f5..41b36ae 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java
@@ -13,7 +13,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java b/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
index 3255c46..581c747 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
@@ -4,7 +4,7 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.im_lib.listener.OnEventListener;
 
 import safeluck.drive.evaluation.app;
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
index 1bd912f..a2b0e0e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -7,7 +7,7 @@
 import androidx.work.OneTimeWorkRequest;
 import androidx.work.WorkManager;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.im_lib.interf.IMSClientInteface;
 import com.anyun.im_lib.util.ByteUtil;
 import com.google.gson.Gson;
@@ -86,7 +86,7 @@
                 sendMessage(jkMessage0101);
                 ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_REGISTERED);
             }else{
-                ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_REGISTERED);
+                ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_NOT_REGISTERED);
             }
         }else if (jk2019MessageBase instanceof JKMessage8001){
             JKMessage8001 jkMessage8001 = (JKMessage8001) jk2019MessageBase;
@@ -181,7 +181,7 @@
                 case "0101":
                     return true;
                     default:
-                        return false;
+                        return true;
             }
 
         }else{
diff --git a/app/src/main/java/safeluck/drive/evaluation/receiver/BootFinishReceiver.java b/app/src/main/java/safeluck/drive/evaluation/receiver/BootFinishReceiver.java
index 7413e01..91daeb6 100644
--- a/app/src/main/java/safeluck/drive/evaluation/receiver/BootFinishReceiver.java
+++ b/app/src/main/java/safeluck/drive/evaluation/receiver/BootFinishReceiver.java
@@ -5,10 +5,13 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import safeluck.drive.evaluation.MainActivity;
 
+/**
+ * @author Administrator
+ */
 public class BootFinishReceiver extends BroadcastReceiver {
 
     private static final String TAG = "BootFinishReceiver";
@@ -18,7 +21,8 @@
     public void onReceive(Context context, Intent intent) {
         if (intent.getAction().equals(ACTION)) {
             MyLog.i(TAG,"寮�鏈哄惎鍔ㄥ畬鎴�");
-            Intent first= new Intent();  //鍚姩鎸囧畾椤甸潰
+            //鍚姩鎸囧畾椤甸潰
+            Intent first= new Intent();
             PackageManager packageManager = context.getPackageManager();
             first.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
             first.setClass(context,MainActivity.class);
diff --git a/app/src/main/java/safeluck/drive/evaluation/receiver/ReBootBroadcastReceiver.java b/app/src/main/java/safeluck/drive/evaluation/receiver/ReBootBroadcastReceiver.java
index be6e363..d331938 100644
--- a/app/src/main/java/safeluck/drive/evaluation/receiver/ReBootBroadcastReceiver.java
+++ b/app/src/main/java/safeluck/drive/evaluation/receiver/ReBootBroadcastReceiver.java
@@ -5,12 +5,15 @@
 import android.content.Intent;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 
 import safeluck.drive.evaluation.Constant;
 import safeluck.drive.evaluation.bean.DeviceWorkMCU;
 
+/**
+ * @author Administrator
+ */
 public class ReBootBroadcastReceiver extends BroadcastReceiver {
 
     private static final String TAG = "ReBootBroadcastReceiver";
diff --git a/app/src/main/java/safeluck/drive/evaluation/receiver/ShutdownBroadcastReceiver.java b/app/src/main/java/safeluck/drive/evaluation/receiver/ShutdownBroadcastReceiver.java
index 63056b2..cdd825e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/receiver/ShutdownBroadcastReceiver.java
+++ b/app/src/main/java/safeluck/drive/evaluation/receiver/ShutdownBroadcastReceiver.java
@@ -5,7 +5,7 @@
 import android.content.Intent;
 
 import com.anyun.exam.lib.AYSdk;
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.google.gson.Gson;
 
 import safeluck.drive.evaluation.Constant;
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/CThreadPoolExecutor.java b/app/src/main/java/safeluck/drive/evaluation/util/CThreadPoolExecutor.java
index 4317398..29159ef 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/CThreadPoolExecutor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/CThreadPoolExecutor.java
@@ -5,7 +5,7 @@
 import android.os.Looper;
 import android.util.Log;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.util.HashMap;
 import java.util.Iterator;
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
index 2b1f5ea..ae0cc4e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
@@ -4,7 +4,7 @@
 import androidx.work.Data
 import androidx.work.ListenableWorker
 import com.anyun.exam.lib.AYSdk
-import com.anyun.exam.lib.MyLog
+import com.anyun.basecommonlib.MyLog
 import com.google.gson.Gson
 import com.google.gson.reflect.TypeToken
 import com.google.gson.stream.JsonReader
@@ -142,10 +142,12 @@
     }
 }
 
-private var singalConfigs :List<SingalConfig> = ArrayList()
+private var singalConfigs :MutableList<SingalConfig> =  mutableListOf()
 
 fun sendSignalConfigToRemote(applicationContext: Context){
-
+    MyLog.i("sendSignalConfigToRemote")
+    singalConfigs.clear()
+    signalConfiglist.clear()
     singalConfigs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao._getSignalConfigs()
     if (singalConfigs ==null){
         MyLog.i("璇绘枃浠跺彂閫佷俊鍙烽厤缃�")
@@ -156,13 +158,16 @@
             val gson = Gson()
             val type = object : TypeToken<List<SingalConfig?>?>() {}.type
             val mstus = gson.fromJson<List<SingalConfig>>(jsonReader, type)
-            singalConfigs = mstus
+            for (j in mstus.indices){
+                singalConfigs[j] = mstus[j]
+            }
         } catch (e: IOException) {
             e.printStackTrace()
         }
     }else{
-
+        MyLog.i("璇诲埌鏁版嵁搴撻噷闈㈢殑淇″彿閰嶇疆"+ signalConfiglist.size);
     }
+
     for (i in singalConfigs.indices) {
         val signalConfigRemote = SignalConfigRemote()
         signalConfigRemote.func_id = singalConfigs.get(i).func_id
@@ -181,6 +186,7 @@
         if (listContainsSameValue(indexs)) {
             MyLog.i("sendSignalConfigsToRemote: 鏈夌浉鍚岀殑index锛屼笉鑳藉彂閫�" + gson.toJson(signalConfiglist))
         } else {
+            MyLog.i("璋冪敤鍙戦�佸懡浠ゆ帴鍙e彂閫佷俊鍙烽厤缃�")
             AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.SEND_CONFIG_SIGNAL, gson.toJson(signalConfiglist))
         }
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
index 262f447..cf34c18 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
@@ -7,7 +7,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.exam.lib.util.ByteUtil;
 
 import java.io.BufferedOutputStream;
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 2c1ab57..3733639 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -6,7 +6,7 @@
 import android.util.Log;
 import android.util.TypedValue;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.exam.lib.util.ByteUtil;
 import com.google.gson.Gson;
 import com.safeluck.aykj.utils.BytesUtils;
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java
index 50ecc5e..cdca63a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java
@@ -7,7 +7,7 @@
 import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.ViewModel;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java
index 32d6da5..85846c9 100644
--- a/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java
@@ -9,7 +9,7 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import com.anyun.exam.lib.MyLog;
+import com.anyun.basecommonlib.MyLog;
 
 public class MainViewModel extends ViewModel {
     private static final String TAG = "MainViewModel";
diff --git a/app/src/main/java/safeluck/drive/evaluation/worker/MCUUpgradeWorker.kt b/app/src/main/java/safeluck/drive/evaluation/worker/MCUUpgradeWorker.kt
index 6f293b2..3641738 100644
--- a/app/src/main/java/safeluck/drive/evaluation/worker/MCUUpgradeWorker.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/worker/MCUUpgradeWorker.kt
@@ -4,8 +4,8 @@
 import androidx.work.Data
 import androidx.work.Worker
 import androidx.work.WorkerParameters
+import com.anyun.basecommonlib.MyLog
 import com.anyun.exam.lib.AYSdk
-import com.anyun.exam.lib.MyLog
 import safeluck.drive.evaluation.Constant
 import safeluck.drive.evaluation.util.FileUtil
 import java.io.IOException
diff --git a/app/src/main/java/safeluck/drive/evaluation/worker/TimeWorker.kt b/app/src/main/java/safeluck/drive/evaluation/worker/TimeWorker.kt
index 768cc44..cc6e4d6 100644
--- a/app/src/main/java/safeluck/drive/evaluation/worker/TimeWorker.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/worker/TimeWorker.kt
@@ -6,7 +6,7 @@
 import androidx.work.Data
 import androidx.work.Worker
 import androidx.work.WorkerParameters
-import com.anyun.exam.lib.MyLog
+import com.anyun.basecommonlib.MyLog
 import safeluck.drive.evaluation.Constant
 import safeluck.drive.evaluation.util.Utils
 
diff --git a/app/src/main/res/layout/layout_base_datas.xml b/app/src/main/res/layout/layout_base_datas.xml
index d2fab1c..0dd85a4 100644
--- a/app/src/main/res/layout/layout_base_datas.xml
+++ b/app/src/main/res/layout/layout_base_datas.xml
@@ -5,6 +5,7 @@
     xmlns:lee="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@drawable/ic_bground"
     android:layout_marginTop="@dimen/ui_margin_20dp">
     <TextView
         android:layout_width="114dp"
diff --git a/app/src/main/res/layout/layout_check_signal.xml b/app/src/main/res/layout/layout_check_signal.xml
index cb48455..581eb68 100644
--- a/app/src/main/res/layout/layout_check_signal.xml
+++ b/app/src/main/res/layout/layout_check_signal.xml
@@ -4,6 +4,7 @@
         xmlns:lee="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:background="@drawable/ic_bground"
         android:orientation="vertical"
         >
         <TextView
diff --git a/app/src/main/res/layout/layout_gps_info.xml b/app/src/main/res/layout/layout_gps_info.xml
index 3ae55fb..dd29b4e 100644
--- a/app/src/main/res/layout/layout_gps_info.xml
+++ b/app/src/main/res/layout/layout_gps_info.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" android:layout_width="match_parent"
+    android:background="@drawable/ic_bground"
     android:layout_height="match_parent">
     <ListView
         android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/layout_signal_slice.xml b/app/src/main/res/layout/layout_signal_slice.xml
index 3384cea..ba62121 100644
--- a/app/src/main/res/layout/layout_signal_slice.xml
+++ b/app/src/main/res/layout/layout_signal_slice.xml
@@ -14,8 +14,8 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="鍠囧彮"
-            android:id="@+id/tv_loudspeaker"
+            android:text="闆剧伅"
+            android:id="@+id/tv_foglight"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
             android:textSize="@dimen/network_train_textsize22px"
@@ -124,10 +124,10 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="鍙岄棯"
+            android:text="妗d綅鍥�"
             android:textSize="@dimen/network_train_textsize22px"
             android:layout_marginLeft="30dp"
-            android:id="@+id/tv_emergency_flasher"
+            android:id="@+id/tv_gear_four"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
             android:textColor="@android:color/white"/>
@@ -136,7 +136,8 @@
             android:layout_height="wrap_content"
             android:text="鍓埞"
             android:layout_marginLeft="30dp"
-            android:id="@+id/tv_gear_four"
+            android:id="@+id/tv_secondary_brake"
+
             android:textSize="@dimen/network_train_textsize22px"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
@@ -203,10 +204,9 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="Signal3-6"
+            android:text="缁曡溅浜�"
             android:layout_marginLeft="30dp"
             android:id="@+id/tv_signal3_6"
-            android:visibility="gone"
             android:textSize="@dimen/network_train_textsize22px"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
@@ -238,10 +238,9 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="Signal3-7"
-            android:id="@+id/tv_signal3_7"
+            android:text="缁曡溅涓�"
+            android:id="@+id/tv_winding_three"
             android:textSize="@dimen/network_train_textsize22px"
-            android:visibility="gone"
             android:layout_marginLeft="30dp"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
@@ -263,9 +262,9 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="绂诲悎"
+            android:text="鍊掓尅"
             android:layout_marginLeft="30dp"
-            android:id="@+id/tv_clutch_pedal"
+            android:id="@+id/tv_reverse_gear"
             android:textSize="@dimen/network_train_textsize22px"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
@@ -273,10 +272,9 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="Signal3-8"
-            android:visibility="gone"
+            android:text="缁曡溅鍥�"
             android:layout_marginLeft="30dp"
-            android:id="@+id/tv_signal3_8"
+            android:id="@+id/tv_winding_four"
             android:drawableLeft="@drawable/gray_light"
             android:drawablePadding="5dp"
             android:textSize="@dimen/network_train_textsize22px"
diff --git a/app/src/main/res/layout/layout_sys_setting.xml b/app/src/main/res/layout/layout_sys_setting.xml
index 5e5e7fa..034f020 100644
--- a/app/src/main/res/layout/layout_sys_setting.xml
+++ b/app/src/main/res/layout/layout_sys_setting.xml
@@ -2,6 +2,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@drawable/ic_bground"
     android:orientation="vertical">
 
     <android.support.design.widget.AppBarLayout
diff --git a/app/src/main/res/layout/layout_train_fragment.xml b/app/src/main/res/layout/layout_train_fragment.xml
index 4f2898c..6dd57b8 100644
--- a/app/src/main/res/layout/layout_train_fragment.xml
+++ b/app/src/main/res/layout/layout_train_fragment.xml
@@ -2,6 +2,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@drawable/ic_bground"
     android:orientation="vertical"
     style="@style/ui_margin"
     >
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 106064d..e0a8a1e 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -24,9 +24,9 @@
         <item>涓�妗�</item>
         <item>浜屾。</item>
         <item>涓夋。</item>
-    <!--    <item>鍥涙。</item>
+        <item>鍥涙。</item>
         <item>浜旀。</item>
-        <item>鍊掓。</item>-->
+        <item>鍊掓。</item>
         <item>START浣�</item>
         <item>鍓埞</item>
         <item>缁曡溅涓�</item>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 984f0cc..2c137f2 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -5,7 +5,7 @@
         <!-- Customize your theme here. -->
         <item name="windowActionBar">false</item>
         <item name="windowNoTitle">true</item>
-        <item name="android:windowBackground">@null</item>
+        <item name="android:windowBackground">@drawable/ic_bground</item>
 
         <item name="android:windowContentOverlay">@null</item>
         <item name="colorPrimary">@color/colorPrimary</item>
diff --git a/im_lib/build.gradle b/im_lib/build.gradle
index 8ac8395..178cede 100644
--- a/im_lib/build.gradle
+++ b/im_lib/build.gradle
@@ -25,7 +25,7 @@
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
-
+    implementation project(path: ':BaseCommonLib')
     implementation 'androidx.appcompat:appcompat:1.0.2'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'androidx.test.ext:junit:1.1.1'
diff --git a/im_lib/src/main/java/com/anyun/im_lib/HeartbeatHandler.java b/im_lib/src/main/java/com/anyun/im_lib/HeartbeatHandler.java
index 8d9fa1e..815746a 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/HeartbeatHandler.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/HeartbeatHandler.java
@@ -1,7 +1,7 @@
 package com.anyun.im_lib;
 
 import com.anyun.im_lib.netty.NettyTcpClient;
-import com.anyun.im_lib.util.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.safeluck.aykj.utils.BytesUtils;
 
 import io.netty.channel.ChannelHandlerContext;
diff --git a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
index b0953bd..7485539 100644
--- a/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
+++ b/im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
@@ -12,7 +12,7 @@
 import com.anyun.im_lib.listener.IMSConnectStatusCallback;
 import com.anyun.im_lib.listener.OnEventListener;
 import com.anyun.im_lib.util.ByteUtil;
-import com.anyun.im_lib.util.MyLog;
+import com.anyun.basecommonlib.MyLog;
 import com.anyun.im_lib.util.PlatFormConstant;
 import com.safeluck.aykj.utils.BytesUtils;
 
diff --git a/lib/build.gradle b/lib/build.gradle
index af41cde..24ef7ba 100644
--- a/lib/build.gradle
+++ b/lib/build.gradle
@@ -40,7 +40,7 @@
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
-
+    implementation project(path: ':BaseCommonLib')
     implementation 'com.android.support:appcompat-v7:28.0.0'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
diff --git a/lib/src/main/java/com/anyun/exam/lib/MyLog.java b/lib/src/main/java/com/anyun/exam/lib/MyLog.java
deleted file mode 100644
index caeb8c6..0000000
--- a/lib/src/main/java/com/anyun/exam/lib/MyLog.java
+++ /dev/null
@@ -1,485 +0,0 @@
-package com.anyun.exam.lib;
-
-
-
-
-
-
-/**
- * anyunProject(20190906)
- * Created by lzw on 2019/9/6. 17:23:17
- * 閭锛�632393724@qq.com
- * All Rights Saved! Chongqing AnYun Tech co. LTD
- */
-
-
-import android.content.Context;
-        import android.os.Environment;
-        import android.text.TextUtils;
-        import android.util.Log;
-
-        import java.io.BufferedWriter;
-        import java.io.File;
-        import java.io.FileWriter;
-        import java.io.IOException;
-        import java.text.SimpleDateFormat;
-        import java.util.Calendar;
-        import java.util.Date;
-import java.util.concurrent.Executors;
-import java.util.regex.Matcher;
-        import java.util.regex.Pattern;
-
-public class MyLog {
-
-     private static final String TAG = "AYJiaKao";
-
-
-    // 鏃ュ織鏂囦欢鍦╯dcard涓殑璺緞
-    private static String MYLOG_PATH_SDCARD_DIR = "/sdcard/JiaKaolog";
-
-
-    private static Boolean MYLOG_SWITCH = true; // 鏃ュ織鏂囦欢鎬诲紑鍏�
-
-    private static Boolean MYLOG_WRITE_TO_FILE = true;// 鏃ュ織鍐欏叆鏂囦欢寮�鍏�
-    private static File file;
-
-    // 杈撳叆鏃ュ織绫诲瀷锛寃浠h〃鍙緭鍑哄憡璀︿俊鎭瓑锛寁浠h〃杈撳嚭鎵�鏈変俊鎭�
-    private static char MYLOG_TYPE = 'v';
-
-    // 鏃ュ織鏂囦欢鍦╯dcard涓殑璺緞
-
-    private static int SDCARD_LOG_FILE_SAVE_DAYS = 7;// sd鍗′腑鏃ュ織鏂囦欢鐨勬渶澶氫繚瀛樺ぉ鏁�
-
-    private static String MYLOGFILEName = "Log.txt";// 鏈被杈撳嚭鐨勬棩蹇楁枃浠跺悕绉�
-
-    private static SimpleDateFormat myLogSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 鏃ュ織鐨勮緭鍑烘牸寮�
-
-    private static SimpleDateFormat logfile = new SimpleDateFormat("yyyy-MM-dd");// 鏃ュ織鏂囦欢鏍煎紡
-
-    public Context context;
-
-
-    public static void w(String tag, Object msg) { // 璀﹀憡淇℃伅
-
-        log(tag, msg.toString(), 'w');
-
-    }
-
-
-    public static void e(String tag, Object msg) { // 閿欒淇℃伅
-
-        log(tag, msg.toString(), 'e');
-
-    }
-
-
-    public static void d(String tag, Object msg) {// 璋冭瘯淇℃伅
-
-        log(tag, msg.toString(), 'd');
-
-    }
-
-
-    public static void i(String tag, Object msg) {//
-
-        log(tag, msg.toString(), 'i');
-
-    }
-
-    public static void i(Object msg) {//
-
-        log(TAG, msg.toString(), 'i');
-
-    }
-
-
-    public static void v(String tag, Object msg) {
-
-        log(tag, msg.toString(), 'v');
-
-    }
-
-
-    public static void w(String tag, String text) {
-
-        log(tag, text, 'w');
-
-    }
-
-
-    public static void e(String tag, String text) {
-
-        log(tag, text, 'e');
-
-    }
-
-
-    public static void d(String tag, String text) {
-
-        log(tag, text, 'd');
-
-    }
-
-
-    public static void i(String tag, String text) {
-
-        log(tag, text, 'i');
-
-    }
-
-    public static void i(String text) {
-
-        log(TAG, text, 'i');
-
-    }
-
-
-    public static void v(String tag, String text) {
-
-        log(tag, text, 'v');
-
-    }
-
-
-    /**
-     * 鏍规嵁tag, msg鍜岀瓑绾э紝杈撳嚭鏃ュ織
-     *
-     * @param tag
-     * @param msg
-     * @param level
-     */
-
-    private static void log(final String tag, final String msg, final char level) {
-
-        if (MYLOG_SWITCH) {//鏃ュ織鏂囦欢鎬诲紑鍏�
-
-            if ('e' == level && ('e' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) { // 杈撳嚭閿欒淇℃伅
-
-                Log.e(tag, msg);
-
-            } else if ('w' == level && ('w' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) {
-
-                Log.w(tag, msg);
-
-            } else if ('d' == level && ('d' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) {
-
-                Log.d(tag, msg);
-
-            } else if ('i' == level && ('d' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) {
-
-                Log.i(tag, msg);
-
-            } else {
-
-                Log.v(tag, msg);
-
-            }
-
-            if (MYLOG_WRITE_TO_FILE)//鏃ュ織鍐欏叆鏂囦欢寮�鍏�
-
-                Executors.newSingleThreadExecutor().execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        writeLogtoFile( tag, msg);
-                    }
-                });
-
-        }
-
-    }
-
-    public static void createIfNotExist() {
-
-
-        String needWriteFiel = logfile.format(System.currentTimeMillis());
-
-
-        Log.i(TAG, "createIfNotExist: " + needWriteFiel);
-
-
-        File dirsFile = new File(MYLOG_PATH_SDCARD_DIR);
-
-        if (!dirsFile.exists()) {
-
-            dirsFile.mkdirs();
-
-        }
-
-        //Log.i("鍒涘缓鏂囦欢","鍒涘缓鏂囦欢");
-
-        file = new File(dirsFile.toString(), needWriteFiel + MYLOGFILEName);// MYLOG_PATH_SDCARD_DIR
-
-        if (!file.exists()) {
-
-            try {
-
-                //鍦ㄦ寚瀹氱殑鏂囦欢澶逛腑鍒涘缓鏂囦欢
-
-                file.createNewFile();
-
-            } catch (Exception e) {
-
-            }
-
-        }
-    }
-
-    /**
-     * 鎵撳紑鏃ュ織鏂囦欢骞跺啓鍏ユ棩蹇�
-     *
-     * @param mylogtype
-     * @param tag
-     * @param text
-     */
-
-    private static void writeLogtoFile(String mylogtype, final String tag, final String text) {// 鏂板缓鎴栨墦寮�鏃ュ織鏂囦欢
-
-        String needWriteMessage = myLogSdf.format(System.currentTimeMillis()) + " " + tag + "  " + text;
-
-        try {
-/**鍚庨潰杩欎釜鍙傛暟浠h〃鏄笉鏄鎺ヤ笂鏂囦欢涓師鏉ョ殑鏁版嵁锛屼笉杩涜瑕嗙洊**/
-            if (file != null){
-                if (!file.getName().contains(logfile.format(System.currentTimeMillis()))){
-                    Log.i(TAG, "writeLogtoFile: 褰撳墠file涓嶆槸褰撳墠鏃ユ湡鐨勶紝缃负null");
-                    file = null;
-                }
-            }
-            if (file == null) {
-                Log.i(TAG, "writeLogtoFile: file==null");
-                createIfNotExist();
-            }
-            FileWriter filerWriter = new FileWriter(file, true);
-
-            BufferedWriter bufWriter = new BufferedWriter(filerWriter);
-
-            bufWriter.write(needWriteMessage);
-
-            bufWriter.newLine();
-
-            bufWriter.close();
-
-            filerWriter.close();
-
-        } catch (IOException e) {
-
-            e.printStackTrace();
-
-        }
-    }
-    /**
-     * 鎵撳紑鏃ュ織鏂囦欢骞跺啓鍏ユ棩蹇�
-     *
-     * @param tag
-     * @param text
-     */
-    static int count=0;
-    private static void writeLogtoFile( final String tag, final String text) {// 鏂板缓鎴栨墦寮�鏃ュ織鏂囦欢
-
-        String needWriteMessage = myLogSdf.format(System.currentTimeMillis()) + " " + tag + "  " + text;
-
-        try {
-/**鍚庨潰杩欎釜鍙傛暟浠h〃鏄笉鏄鎺ヤ笂鏂囦欢涓師鏉ョ殑鏁版嵁锛屼笉杩涜瑕嗙洊**/
-
-
-            //鍏堟鏌ュ瓨鍦ㄧ殑file锛屽鏋滃瓨鍦ㄦ病鏈夊啓婊★紙灏忎簬1MB鐨勶級鐨� 鍒欒繑鍥濬ile銆傚鏋滆繑鍥瀗ull,鍒欒鏂板缓
-
-            file =  checkExistFilesAndCreateFile();
-
-
-            FileWriter filerWriter = new FileWriter(file, true);
-
-            BufferedWriter bufWriter = new BufferedWriter(filerWriter);
-
-            bufWriter.write(needWriteMessage);
-
-            bufWriter.newLine();
-
-            bufWriter.close();
-
-            filerWriter.close();
-
-        } catch (IOException e) {
-
-            e.printStackTrace();
-
-        }
-    }
-
-    private static final String PREFREIX = "jiaKao_appLog";
-    private static synchronized File checkExistFilesAndCreateFile() {
-        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/JiaKaolog";
-        File dirsFile  = new File(dirPath);
-        if (!dirsFile.exists()){
-            Log.i(TAG,"鏂囦欢鐩綍涓嶅瓨鍦紝鍒涘缓/nvlog...");
-            dirsFile.mkdirs();
-        }
-        File tempFile = null;
-        for (int j = 0; j < 5; j++) {
-            tempFile = new File(dirPath,PREFREIX+j+".txt");
-            Log.i(TAG,"tempFIle Name= "+tempFile.getName());
-
-            if (tempFile.length()>20*1024*1024) {
-                if (j==4){
-                    Log.i(TAG,"鍒犻櫎绗竴涓枃浠�");
-                    File file = new File(dirPath,PREFREIX+"0.txt");
-                    file.delete();
-                    Log.i(TAG,"閲嶅懡鍚嶅叾浠栨枃浠�");
-                    rename();
-                    return new File(dirPath,PREFREIX+"4.txt");
-                }
-
-
-                continue;
-
-
-
-            }else{
-                Log.i(TAG,String.format("杩斿洖鏂囦欢%s",tempFile.getName()));
-                break;
-            }
-
-        }
-//        Log.i(TAG,String.format("杩斿洖鏂囦欢null"));
-        return tempFile;
-    }
-
-    private static void rename() {
-        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/JiaKaolog";
-        for (int i = 1; i < 5; i++) {
-            File file = new File(dirPath,PREFREIX+i+".txt");
-            File fileSrc = new File(dirPath,PREFREIX+(i-1)+".txt");
-            file.renameTo(fileSrc);
-        }
-
-    }
-
-
-    /**
-     * 鍒犻櫎鍒跺畾鐨勬棩蹇楁枃浠�
-     */
-
-    public static void delFile() {// 鍒犻櫎鏃ュ織鏂囦欢
-
-        String needDelFiel = logfile.format(getDateBefore());
-
-        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/JiaKaolog";
-
-        File file = new File(dirPath, needDelFiel + MYLOGFILEName);// MYLOG_PATH_SDCARD_DIR
-
-        if (file.exists()) {
-
-            file.delete();
-
-        }
-
-    }
-    private static long filesLength  = 0;
-    public static void checkTotalFileSpace(){
-        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/JiaKaolog";
-        String regx = "^[0-9]{4}-";
-        Pattern pattern = Pattern.compile(regx);
-        File file = new File(dirPath);
-        filesLength = 0;
-        if (file.isDirectory()) {
-            File[] subFiles = file.listFiles();
-            for (File f :
-                    subFiles) {
-                String fName = f.getName();
-                if (!TextUtils.isEmpty(fName)) {
-                    Matcher matcher = pattern.matcher(fName);
-                    if (matcher.find()) {
-                        Log.i(TAG, "鏂囦欢鍚嶇О锛�" + fName+"checkTotalFileSpace: "+f.length());
-                        if (f.length()>20*1024*1024){
-                            Log.i(TAG, "checkTotalFileSpace: 鍗曚釜鏂囦欢瓒呰繃20MB 锛屽垹闄�"+f.getName());
-                            f.delete();
-                            continue;
-                        }
-                        filesLength +=f.length();
-                    }
-                }
-            }
-            if (filesLength >= 2*1024*1024){
-                Log.i(TAG, "checkTotalFileSpace: 鎬诲ぇ灏忚秴杩�20MB 鍒犻櫎"+filesLength+"B");
-                delSubDirLogs();
-            }
-        }
-    }
-
-    public static void delSubDirLogs() {
-        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/JiaKaolog";
-        String regx = "^[0-9]{4}-";
-        Pattern pattern = Pattern.compile(regx);
-        File file = new File(dirPath);
-        boolean needDel = true;
-        if (file.isDirectory()) {
-
-            File[] subFiles = file.listFiles();
-            for (File f :
-                    subFiles) {
-                String fName = f.getName();
-
-                if (!TextUtils.isEmpty(fName)) {
-                    Matcher matcher = pattern.matcher(fName);
-                    if (matcher.find()) {
-
-                        Log.i(TAG, "subDirLogs: 绗﹀悎瑙勫垯^[0-9]{4}- : " + matcher.group(0));
-                        for (int i = 0; i < SDCARD_LOG_FILE_SAVE_DAYS; i++) {
-                            String needSaveFileName = logfile.format(getDateBefore(i));
-                            if (fName.contains(needSaveFileName)) {
-                                Log.i(TAG, "delSubDirLogs: 姝og闇�瑕佷繚鐣欙細" + fName + " 鏃ユ湡锛�" + needSaveFileName);
-                                needDel = false;
-                                break;
-                            } else {
-                                needDel = true;
-                            }
-                        }
-                        if (needDel) {
-                            Log.i(TAG, "delSubDirLogs: 鍒犻櫎璇ユ枃浠讹細" + fName);
-                            f.delete();
-                        }
-                    }
-
-
-
-                } else {
-                    Log.i(TAG, "delSubDirLogs: 涓嶇鍚堝垹闄よ鍒欙紝鍒欎笉鍒犻櫎锛�" + fName);
-                }
-            }
-        } else {
-            Log.i(TAG, "subDirLogs: is not a directory");
-        }
-
-    }
-
-
-    /**
-     * 寰楀埌鐜板湪鏃堕棿鍓嶇殑鍑犲ぉ鏃ユ湡锛岀敤鏉ュ緱鍒伴渶瑕佸垹闄ょ殑鏃ュ織鏂囦欢鍚�
-     */
-
-    private static Date getDateBefore() {
-
-        Date nowtime = new Date();
-
-        Calendar now = Calendar.getInstance();
-
-        now.setTime(nowtime);
-
-        now.set(Calendar.DATE, now.get(Calendar.DATE) - SDCARD_LOG_FILE_SAVE_DAYS);
-
-        return now.getTime();
-
-    }
-
-    private static Date getDateBefore(int i) {
-        Date nowtime = new Date();
-
-        Calendar now = Calendar.getInstance();
-
-        now.setTime(nowtime);
-
-        now.set(Calendar.DATE, now.get(Calendar.DATE) - i);
-
-        return now.getTime();
-    }
-
-}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index c3516ad..3f220c5 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,2 @@
+include ':BaseCommonLib'
 include ':app', ':lib', ':im_lib'

--
Gitblit v1.8.0