From a88912d08d28159bc464f715704a0d08be6edad8 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 31 三月 2020 13:38:26 +0800
Subject: [PATCH] 系统设置增加路考地图选择

---
 app/src/main/java/safeluck/drive/evaluation/app.java                              |   49 ++++++++++++----
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java            |   20 ++++++
 app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java                     |    1 
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt |   31 ++++++++--
 app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java    |   29 +++++++++
 app/src/main/res/drawable/btn_state_save.xml                                      |    5 +
 app/src/main/res/layout/layout_base_datas.xml                                     |   11 +++
 7 files changed, 122 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt
index ecc25a2..798da34 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
@@ -175,6 +175,30 @@
 
     private fun sendMapInfo(){
         val mapPath = ExamPlatformData.getInstance().mapPath
+        val roadmapPath = ExamPlatformData.getInstance().roadMapPath
+
+        if (!TextUtils.isEmpty(roadmapPath)) {
+            MyLog.i("璋冪敤鏇存柊RoadMap璺緞鍚庣殑鍦板浘$roadmapPath")
+            val fileContent = FileUtil.readFile(roadmapPath)
+            if (fileContent != null) {
+                val str = String(fileContent)
+                Log.i(TAG,"鏂囦欢鍐呭锛�$str")
+                AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_ROAD_MAP_INFO, str)
+            } else {
+                MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�", roadmapPath))
+                CThreadPoolExecutor.runOnMainThread { Toast.makeText(app.getAppContext(), "鏂囦欢锛�" + roadmapPath + "涓嶅瓨鍦�", Toast.LENGTH_SHORT).show() }
+            }
+        } else {
+            val buffer: StringBuffer?
+            buffer = FileUtil.readAssetTxtFile(applicationContext, safeluck.drive.evaluation.Constant.ROAD_MAP)
+            if (buffer != null) {
+                AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_ROAD_MAP_INFO, buffer.toString())
+            } else {
+                MyLog.i(String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().absolutePath + "/" + applicationContext.packageName))
+                CThreadPoolExecutor.runOnMainThread { Toast.makeText(app.getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().absolutePath + "/" + applicationContext.packageName), Toast.LENGTH_SHORT).show() }
+            }
+        }
+
         if (!TextUtils.isEmpty(mapPath)) {
             MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘$mapPath")
             val fileContent = FileUtil.readFile(mapPath)
@@ -189,13 +213,6 @@
         } else {
             MyLog.i("璇诲彇Assert鐩綍涓嬪垵濮嬪寲鐨勫湴鍥�")
             var buffer: StringBuffer?
-            buffer = FileUtil.readAssetTxtFile(applicationContext, safeluck.drive.evaluation.Constant.ROAD_MAP)
-            if (buffer != null) {
-                AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_ROAD_MAP_INFO, buffer.toString())
-            } else {
-                MyLog.i( String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().absolutePath + "/" + applicationContext.packageName))
-                CThreadPoolExecutor.runOnMainThread { Toast.makeText(app.getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().absolutePath + "/" + applicationContext.packageName), Toast.LENGTH_SHORT).show() }
-            }
             buffer = FileUtil.readAssetTxtFile(applicationContext, safeluck.drive.evaluation.Constant.MAP)
             if (buffer != null) {
                 AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_MAP_INFO, buffer.toString())
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index c4d2568..01c37fd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -502,6 +502,42 @@
             @Override
             public void run() {
                 final String mapPath = ExamPlatformData.getInstance().getMapPath();
+                final String roadmapPath = ExamPlatformData.getInstance().getRoadMapPath();
+
+                if (!TextUtils.isEmpty(roadmapPath)){
+                    MyLog.i("璋冪敤鏇存柊RoadMap璺緞鍚庣殑鍦板浘"+roadmapPath);
+                    byte[] fileContent = FileUtil.readFile(roadmapPath);
+                    if (fileContent != null){
+                        String str = new String(fileContent);
+                        Log.i(TAG, "鏂囦欢鍐呭锛�"+str);
+                        AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,str);
+                    }else{
+                        MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",roadmapPath));
+
+                        CThreadPoolExecutor.runOnMainThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                Toast.makeText(getAppContext(), "鏂囦欢锛�"+roadmapPath+"涓嶅瓨鍦�", Toast.LENGTH_SHORT).show();
+                            }
+                        });
+                    }
+                }else{
+                    StringBuffer buffer;
+                    buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.ROAD_MAP);
+                    if (buffer != null){
+
+                        AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,buffer.toString());
+                    }else{
+                        MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+                        CThreadPoolExecutor.runOnMainThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show();
+                            }
+                        });
+
+                    }
+                }
                 if (!TextUtils.isEmpty(mapPath)){
                     MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘"+mapPath);
                     byte[] fileContent = FileUtil.readFile(mapPath);
@@ -528,20 +564,7 @@
                         }
                     });
                     StringBuffer buffer;
-                        buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.ROAD_MAP);
-                        if (buffer != null){
 
-                            AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,buffer.toString());
-                        }else{
-                            MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
-                            CThreadPoolExecutor.runOnMainThread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show();
-                                }
-                            });
-
-                        }
                         buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP);
                         if (buffer != null){
 
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 16bec68..02232d2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -124,6 +124,7 @@
     private String ip="47.93.80.84";
     private int port=12125;
     private String mapPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path
+    private String roadmapPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path
     private String carPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path
     private StringBuffer stringBuffer;
     private int rtkPort = 12125;
@@ -377,4 +378,23 @@
     public void setExamType(int examType) {
         this.examType = examType;
     }
+
+    /**
+     * 璁剧疆璺�冨湴鍥剧殑璺緞
+     * @param path
+     */
+    public void setNewRoadMapPath(String path) {
+        this.roadmapPath = path;
+        SPUtils.put(app.getAppContext(),SPUtils.ROAD_MAP_PATH,roadmapPath);
+    }
+
+    /**
+     * 鑾峰緱璺�冨湴鍥剧殑璺緞
+     * @return
+     */
+    public String  getRoadMapPath(){
+        roadmapPath = (String) SPUtils.get(app.getAppContext(),SPUtils.ROAD_MAP_PATH,"");
+        return roadmapPath;
+    }
+
 }
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 9e6f492..04a064f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
@@ -73,16 +73,16 @@
 
     private static final String TAG = SetArgumentsFragment.class.getSimpleName();
     private static final int REQUEST_CODE_MAP = 100;
+    private static final int REQUEST_CODE_ROADMAP = 102;
     private static final int REQUEST_CODE_CAR = 101;
     private int request_code = REQUEST_CODE_MAP;
     private Button btn_config_signal;
-    private Button btn_mcu_upgrade,btn_map_select;
+    private Button btn_mcu_upgrade,btn_map_select,btn_roadmap_select;
     private EditText et_ip,et_port,et_simulte_ip,et_simulate_port;
     private Gson gson = new Gson();
     private EditText et_ip_rtk,et_port_rtk,et_city_id,et_city_province,et_phone;
     private RTKConfigViewModel rtkConfigViewModel;
     private RTKConfig mRtkConfig;
-    private Toolbar toolbar;
     private boolean needSendRtk = false;
 
     public static SetArgumentsFragment newInstance() {
@@ -161,9 +161,11 @@
         et_port.setText(ExamPlatformData.getInstance().getPlatformPort()+"");
         btn_mcu_upgrade = view.findViewById(R.id.btn_mcu_upgrade);
         btn_map_select = view.findViewById(R.id.btn_map_select);
+        btn_roadmap_select = view.findViewById(R.id.btn_roadmap_select);
         view.findViewById(R.id.btn_car_select).setOnClickListener(this);
         btn_mcu_upgrade.setOnClickListener(this);
         btn_map_select.setOnClickListener(this);
+        btn_roadmap_select.setOnClickListener(this);
         btn_config_signal = view.findViewById(R.id.btn_signal_conf);
         btn_config_signal.setOnClickListener(this);
 
@@ -248,6 +250,10 @@
                 request_code = REQUEST_CODE_MAP;
                 openFileMgr();
                 break;
+            case R.id.btn_roadmap_select:
+                request_code = REQUEST_CODE_ROADMAP;
+                openFileMgr();
+                break;
             default:
                 break;
         }
@@ -306,6 +312,25 @@
             }
 
 
+        }else  if (REQUEST_CODE_ROADMAP == requestCode){
+            if (data != null){
+                final Uri uri= data.getData();
+                Log.i(TAG, "onActivityResult: "+uri.getPath());
+                ExamPlatformData.getInstance().setNewRoadMapPath(uri.getPath());
+                CThreadPoolExecutor.runInBackground(new Runnable() {
+                    @Override
+                    public void run() {
+                        byte[] fileContent = FileUtil.readFile(uri.getPath());
+                        if (fileContent != null){
+                            String str = new String(fileContent);
+                            Log.i(TAG, "鏂囦欢鍐呭锛�"+str);
+                            AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,str);
+                        }
+                    }
+                });
+            }
+
+
         }
     }
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
index b70bc26..7e8e818 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
@@ -22,6 +22,7 @@
     public static final String CAR_PATH = "car_path";
     public static final String TRAIN_MODE = "training_mode";
     public static final String FAIL_PROJ_SNS = "failed_projs_sns";
+    public static final String ROAD_MAP_PATH = "road_map_path";
 
     /**
      * 淇濆瓨鏁版嵁鐨勬柟娉曪紝鎴戜滑闇�瑕佹嬁鍒颁繚瀛樻暟鎹殑鍏蜂綋绫诲瀷锛岀劧鍚庢牴鎹被鍨嬭皟鐢ㄤ笉鍚岀殑淇濆瓨鏂规硶
diff --git a/app/src/main/res/drawable/btn_state_save.xml b/app/src/main/res/drawable/btn_state_save.xml
new file mode 100644
index 0000000..1b621a7
--- /dev/null
+++ b/app/src/main/res/drawable/btn_state_save.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+<item android:state_pressed="true" android:drawable="@drawable/ic_btn_fail"></item>
+<item android:state_pressed="false" android:drawable="@drawable/ic_btn_daikao"></item>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_base_datas.xml b/app/src/main/res/layout/layout_base_datas.xml
index 4eb3f8f..0554463 100644
--- a/app/src/main/res/layout/layout_base_datas.xml
+++ b/app/src/main/res/layout/layout_base_datas.xml
@@ -333,7 +333,7 @@
                 android:background="@drawable/btn_bg_baseset"/>
             <Button  android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="鑰冭瘯鍦板浘閫夋嫨"
+                android:text="鍦鸿�冨湴鍥鹃�夋嫨"
                 android:padding="5dp"
                 android:id="@+id/btn_map_select"
                 android:layout_marginLeft="15dp"
@@ -343,6 +343,13 @@
                 android:text="杞﹁締妯″瀷閫夋嫨"
                 android:padding="5dp"
                 android:id="@+id/btn_car_select"
+                android:layout_marginLeft="15dp"
+                android:background="@drawable/btn_bg_baseset"/>
+            <Button  android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="璺�冨湴鍥鹃�夋嫨"
+                android:padding="5dp"
+                android:id="@+id/btn_roadmap_select"
                 android:layout_marginLeft="15dp"
                 android:background="@drawable/btn_bg_baseset"/>
         </TableRow>
@@ -361,7 +368,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:id="@+id/btn_save_platform"
-            android:background="@drawable/ic_btn_fail"
+            android:background="@drawable/btn_state_save"
             android:text="淇濆瓨"/>
     </LinearLayout>
 <!--    </ScrollView>-->

--
Gitblit v1.8.0