From a0ca91a47bc8c0d4bec1940ca0684468bc9928e0 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期三, 28 十月 2020 16:35:12 +0800
Subject: [PATCH] 驾考完成app重启自动拷贝assert里的设置文件到sd卡,并发送规则设置;服务绑定成功就会发送

---
 /dev/null                                                                                |    1 
 app/src/main/java/safeluck/drive/evaluation/app.java                                     |   20 +++++++++
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java                   |   20 ++++++++++
 app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java                           |   30 +++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/shop/ShopFragment.java              |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java |    1 
 app/src/main/assets/area_setting.json                                                    |    2 
 app/src/main/assets/sidestop_setting.json                                                |    2 
 8 files changed, 72 insertions(+), 6 deletions(-)

diff --git a/app/src/main/assets/area_setting.json b/app/src/main/assets/area_setting.json
index cd238be..7712212 100644
--- a/app/src/main/assets/area_setting.json
+++ b/app/src/main/assets/area_setting.json
@@ -1 +1 @@
-{"hold_start_key_limit_time":2000,"curve_pause_criteria":200,"park_bottom_pause_criteria":2000,"park_bottom_limit_time":210,"park_edge_pause_criteria":2000,"park_edge_limit_time":90,"turn_a90_pause_criteria":2000,"ramp_start_car_limit_time":30,"ramp_stoppoint_red_distance":0.5,"ramp_edge_yellow_distance":0.3,"ramp_edge_red_distance":0.5,"ramp_slide_yellow_distance":0.1,"ramp_slide_red_distance":0.3}
\ No newline at end of file
+{"hold_start_key_limit_time":2000,"curve_pause_criteria":2000,"park_bottom_pause_criteria":2000,"park_bottom_limit_time":210,"park_edge_pause_criteria":2000,"park_edge_limit_time":90,"turn_a90_pause_criteria":2000,"ramp_start_car_limit_time":30,"ramp_stoppoint_red_distance":0.5,"ramp_edge_yellow_distance":0.3,"ramp_edge_red_distance":0.5,"ramp_slide_yellow_distance":0.1,"ramp_slide_red_distance":0.3}
\ No newline at end of file
diff --git a/app/src/main/assets/sidestop_setting.json b/app/src/main/assets/sidestop_setting.json
index 6a6f4eb..523dd2d 100644
--- a/app/src/main/assets/sidestop_setting.json
+++ b/app/src/main/assets/sidestop_setting.json
@@ -1 +1 @@
-{"road_total_distance":3000,"road_max_speed":3,"stop_car_open_door_allow_time":15,"stop_car_limit_distance":150,"stop_car_edge_red_distance":0.5,"stop_car_edge_yellow_distance":0.3}
\ No newline at end of file
+{"road_total_distance":3000,"road_max_speed":60,"stop_car_open_door_allow_time":15,"stop_car_limit_distance":150,"stop_car_edge_red_distance":0.5,"stop_car_edge_yellow_distance":0.3}
\ No newline at end of file
diff --git a/app/src/main/assets/stop_setting.json b/app/src/main/assets/stop_setting.json
deleted file mode 100644
index 9f7b925..0000000
--- a/app/src/main/assets/stop_setting.json
+++ /dev/null
@@ -1 +0,0 @@
-{"road_stop_dist":150,"road_stop_open_door_time":2,"road_stop_edge_red_dist":0.5,"road_stop_edge_yellow_dist":0.3,"road_max_speed":60,"road_max_dist":3000}
\ No newline at end of file
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 6a1af4d..50fa403 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -35,6 +35,7 @@
 import java.io.File;
 import java.io.InputStreamReader;
 import java.util.Date;
+import java.util.List;
 import java.util.concurrent.Executors;
 
 import safeluck.drive.evaluation.DB.WorkRoomDataBase;
@@ -62,6 +63,8 @@
 import safeluck.drive.evaluation.util.FileUtil;
 import safeluck.drive.evaluation.util.SystemUtil;
 import safeluck.drive.evaluation.util.Utils;
+
+import static safeluck.drive.evaluation.bean.ExamPlatformData.getRulesettingFilesName;
 
 /**
  * MyApplication2
@@ -131,14 +134,29 @@
 
     private void sendJudgeArgs() {
         File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+getPackageName());
+
+        List<String> names = ExamPlatformData.getRulesettingFilesName();
+        for (int i = 0; i < names.size(); i++) {
+            File settFile = new File(dir,names.get(i));
+                if (settFile.exists() ){
+                    Log.i(TAG,settFile.getName()+"瀛樺湪涓嶅鍒�");
+                }else{
+                    Log.i(TAG,settFile.getName()+"涓嶅瓨鍦紝澶嶅埗...");
+                    FileUtil.copyAssertFileToSD(getApplicationContext(),names.get(i));
+                }
+        }
+
         if (dir.exists()){
             File[] files = dir.listFiles();
             for (int i = 0; i < files.length; i++) {
-                if (files[i].getName().contains("_setting")||files[i].getName().contains("_Setting")){
                 Log.i(TAG,files[i].getName());
+                if (names.contains(files[i].getName())){
+
 
                     byte[] buffer = FileUtil.readFile(files[i].getAbsolutePath());
                     AYSdk.getInstance().sendCmd(Constant.ID_judge_args,new String(buffer).trim());
+                }else{
+
                 }
             }
         }
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 570b425..5c65f63 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -91,7 +91,27 @@
     private List<Integer> sns =new ArrayList<>();//淇濆瓨鎵�鏈夊け璐ラ」鐩殑sn
     private static HashMap<Integer,String> enter_exit_item_tts = new HashMap<>();
     private static List<SimulateNightBean.QuestionBean> simulate_light_tips = new ArrayList<>();
+
+    private static List<String> RulesettingFilesName = new ArrayList<>();
+
+    public static List<String> getRulesettingFilesName() {
+        return RulesettingFilesName;
+    }
+
     static {
+
+        RulesettingFilesName.add("startcar_setting.json");
+        RulesettingFilesName.add("station_setting.json");
+        RulesettingFilesName.add("straightline_setting.json");
+        RulesettingFilesName.add("subdecGear_setting.json");
+        RulesettingFilesName.add("sidestop_setting.json");
+        RulesettingFilesName.add("overtake_setting.json");
+        RulesettingFilesName.add("Gear_Setting.json");
+        RulesettingFilesName.add("cornerlamp_setting.json");
+        RulesettingFilesName.add("common_setting.json");
+        RulesettingFilesName.add("area_setting.json");
+
+
         examPlatformStrs.put(TCP_DISCONNECT,"鏈繛鎺�");
         examPlatformStrs.put(TCP_CONNECTED,"鏈櫥褰�");
         examPlatformStrs.put(DEV_NOT_REGISTERED,"鏈敞鍐�");
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java
index 923b879..9b9bd32 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java
@@ -83,7 +83,6 @@
             @Override
             public void onChanged(GearRelateSet gearRelateSet) {
                 if (gearRelateSet != null){
-                    Toast.makeText(_mActivity, gearRelateSet.toString(), Toast.LENGTH_SHORT).show();
                     mgearRelateSet = gearRelateSet;
                     setDatas();
                 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ShopFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ShopFragment.java
index 852f6fa..7cd4550 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ShopFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/shop/ShopFragment.java
@@ -69,7 +69,7 @@
     @Override
     public boolean onBackPressedSupport() {
         // ContentFragment鏄疭hopFragment鐨勬爤椤跺瓙Fragment,浼氬厛璋冪敤ContentFragment鐨刼nBackPressedSupport鏂规硶
-        Toast.makeText(_mActivity, "onBackPressedSupport-->return false, 涓婂眰澶勭悊"  , Toast.LENGTH_SHORT).show();
+//        Toast.makeText(_mActivity, "onBackPressedSupport-->return false, 涓婂眰澶勭悊"  , Toast.LENGTH_SHORT).show();
         return false;
     }
 
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 cf34c18..6f870e7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
@@ -193,6 +193,36 @@
 
             OutputStream outputStream = new FileOutputStream(  new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+context.getPackageName(), assertfileName));
             byte[] bytes = new byte[1024];
+            int len = 0;
+            while ((len =inputStream.read(bytes))>0){
+                outputStream.write(bytes,0,len);
+            }
+            outputStream.close();
+            inputStream.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    /**
+     * 鎷疯礉assert鐩綍涓嬬殑鏂囦欢鍒� 瀹夎鍖呯洰褰曚笅
+     * @param context
+     * @param assertfileName
+     */
+    public static void copyAssertFileToCache(Context context,String assertfileName){
+
+        try {
+            InputStream inputStream = null;
+            try {
+                inputStream = context.getAssets()
+                        .open(assertfileName);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+//            deleteFile(context.getPackageName()+"/",assertfileName);
+
+            OutputStream outputStream = new FileOutputStream(  new File(context.getFilesDir(), assertfileName));
+//            OutputStream outputStream = context.openFileOutput(assertfileName,Context.MODE_PRIVATE+Context.MODE_WORLD_WRITEABLE);
+            byte[] bytes = new byte[1024];
             while ((inputStream.read(bytes))>0){
                 outputStream.write(bytes);
             }

--
Gitblit v1.8.0