From 33c5692bc659fa09990d736304532ab39f043fed Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 13 一月 2020 15:04:05 +0800
Subject: [PATCH] app初始化的时候拷贝地图和模型到sd卡包目录下;检测到RTK配置信息主动触发上传RTK配置给RemoteService;修改FileUtil;删除单机训练和联网考试点进去上传RTK额皮质信息;收到错误码主动上传地图和车辆

---
 app/src/main/java/safeluck/drive/evaluation/app.java                           |   86 ++++++++++++++++++++++------
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java                  |   41 +++++++------
 app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java                 |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java        |    4 
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java |    4 
 lib/src/main/java/com/anyun/exam/lib/AYSdk.java                                |    2 
 6 files changed, 96 insertions(+), 43 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index a63aff3..65d107d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -54,24 +54,7 @@
         @Override
         public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
             if (msgCode == Constant.FETCH_RTK_PLATFORM_INFO) {
-                if (mRTKConfig != null) {
-                    String rtkjson = gson.toJson(mRTKConfig);
-
-                    //鍘婚櫎id瀛楁
-                    JSONObject jsonObject = null;
-                    try {
-                        jsonObject = new JSONObject(rtkjson);
-                    } catch (JSONException e) {
-                        e.printStackTrace();
-                    }
-                    jsonObject.remove("_id");
-                    rtkjson = null;
-                    rtkjson = jsonObject.toString();
-                    MyLog.i(TAG, "RTK閰嶇疆淇℃伅锛�" + rtkjson);
-                    AYSdk.getInstance().sendCmd(Constant.PUSH_RTK_PLATFORM_INFO, rtkjson);
-                } else {
-                    MyLog.d(TAG, "RTKConfig鏈彇鍒版暟鎹�");
-                }
+              sendRtkConfigInfo();
             }
             if (msgCode == Constant.RTK_PLATFORM_REGISTER_STATUS) {
                 try {
@@ -92,6 +75,27 @@
             }
         }
     };
+
+    private void sendRtkConfigInfo() {
+        if (mRTKConfig != null) {
+            String rtkjson = gson.toJson(mRTKConfig);
+
+            //鍘婚櫎id瀛楁
+            JSONObject jsonObject = null;
+            try {
+                jsonObject = new JSONObject(rtkjson);
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
+            jsonObject.remove("_id");
+            rtkjson = null;
+            rtkjson = jsonObject.toString();
+            MyLog.i(TAG, "RTK閰嶇疆淇℃伅锛�" + rtkjson);
+            AYSdk.getInstance().sendCmd(Constant.PUSH_RTK_PLATFORM_INFO, rtkjson);
+        } else {
+            MyLog.d(TAG, "RTKConfig鏈彇鍒版暟鎹�");
+        }
+    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -118,6 +122,7 @@
 
                 MyLog.i(TAG, "RTKConfig Changed: " + (rtkConfig != null ? rtkConfig.toString() : "null"));
                 mRTKConfig = rtkConfig;
+                sendRtkConfigInfo();
             }
         });
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index efe687a..4da6324 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -19,6 +19,7 @@
 
 import com.anyun.exam.lib.MyLog;
 import com.anyun.exam.lib.crash.CrashHandler;
+import com.anyun.im_lib.ExecutorServiceFactory;
 import com.facebook.stetho.Stetho;
 import com.google.gson.Gson;
 import com.google.gson.JsonArray;
@@ -86,6 +87,16 @@
             FileUtil.createdirs(getApplicationContext());
             failedProjRepository = new FailedProjRepository(this);
             rtkWorkRepository = new RTKWorkRepository(this);
+            MyLog.i(TAG,"鎷疯礉assert鐩綍涓嬬殑map" +
+                    "鍜寁echile json鍒板寘鐩綍涓�");
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    FileUtil.copyAssertFileToSD(getApplicationContext(),Constant.MAP);
+                    FileUtil.copyAssertFileToSD(getApplicationContext(),Constant.VEHICLE);
+                }
+            }).start();
+
         }
 
     }
@@ -144,7 +155,24 @@
                 break;
             case Constant.EXAM_STATUS_REPLY:
                 MyLog.d(TAG, "鑰冭瘯寮�濮嬶紝闇�瑕佸垹闄や笂涓�涓�冭瘯瀛﹀憳鐨勬暟鎹簱澶辫触椤圭洰琛�");
-                failedProjRepository.deleteAll();
+                try {
+                    failedProjRepository.deleteAll();
+                    JSONObject jsonObject =new JSONObject((String)json);
+                    int errCode = jsonObject.getInt("error");
+                    switch (errCode){
+                        case -1:
+                            sendMapInfo();
+                            break;
+                        case -2:
+
+                            sendVechileInfo();
+                            break;
+                        case -3:
+                            break;
+                    }
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
                 break;
             case Constant.RTK_PLATFORM_CONNECT_STATUS:
                 String[] conn_strs = new String[2];
@@ -156,8 +184,42 @@
                 WorkManager.getInstance(getApplicationContext()).enqueue(oneTimeWorkRequest);
                 break;
             case Constant.FETCH_MAP_INFO:
+                sendMapInfo();
 
-                StringBuffer buffer =FileUtil.readTxtFileFromSD(this,Constant.MAP);
+                break;
+            case Constant.REQ_VECHILE_PROFILE:
+                sendVechileInfo();
+                break;
+            case Constant.GPS_INFO:
+                Data gpsData = new Data.Builder().putString(Constant.GPS_INFO_DATA,json).build();
+                OneTimeWorkRequest gpsinfoWorkRequest = new OneTimeWorkRequest.Builder(GpsInfoWorker.class).setInputData(gpsData).build();
+                WorkManager.getInstance(getApplicationContext()).enqueue(gpsinfoWorkRequest);
+                break;
+
+        }
+
+    }
+
+    private void sendVechileInfo() {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                StringBuffer vebuffer =FileUtil.readTxtFileFromSD(getApplicationContext(),Constant.VEHICLE);
+                if (vebuffer != null){
+
+                    AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,vebuffer.toString());
+                }else{
+                    MyLog.d(TAG,String.format("杞﹁締妯″瀷妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+                }
+            }
+        }).start();
+    }
+
+    private void sendMapInfo(){
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                StringBuffer buffer =FileUtil.readTxtFileFromSD(getApplicationContext(),Constant.MAP);
                 if (buffer != null){
 
                     AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString());
@@ -165,24 +227,8 @@
                     MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
 
                 }
-                break;
-            case Constant.REQ_VECHILE_PROFILE:
-                StringBuffer vebuffer =FileUtil.readTxtFileFromSD(this,Constant.VEHICLE);
-                if (vebuffer != null){
-
-                    AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,vebuffer.toString());
-                }else{
-                    MyLog.d(TAG,String.format("杞﹁締妯″瀷妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
-                }
-                break;
-            case Constant.GPS_INFO:
-                Data gpsData = new Data.Builder().putString(Constant.GPS_INFO_DATA,json).build();
-                OneTimeWorkRequest gpsinfoWorkRequest = new OneTimeWorkRequest.Builder(GpsInfoWorker.class).setInputData(gpsData).build();
-                WorkManager.getInstance(getApplicationContext()).enqueue(gpsinfoWorkRequest);
-                break;
-        }
+            }
+        }).start();
 
     }
-
-
 }
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 f239c8a..6b2620d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -100,8 +100,8 @@
 
     }
     private void sendRTKConfig2RemoteService() {
-        MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
-        CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
+//        MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
+//        CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
     }
     @Override
     public void onClick(View v) {
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 e51a495..da9a80a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -118,8 +118,8 @@
     }
 
     private void sendRTKConfig2RemoteService() {
-        MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
-        CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
+//        MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
+//        CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
     }
 
     @Override
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 6055ddb..58e5238 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
@@ -132,7 +132,7 @@
             } catch (IOException e) {
                 e.printStackTrace();
             }
-            OutputStream outputStream = new FileOutputStream(  new File(context.getExternalFilesDir(null), assertfileName));
+            OutputStream outputStream = new FileOutputStream(  new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+context.getPackageName(), assertfileName));
             byte[] bytes = new byte[1024];
             while ((inputStream.read(bytes))>0){
                 outputStream.write(bytes);
diff --git a/lib/src/main/java/com/anyun/exam/lib/AYSdk.java b/lib/src/main/java/com/anyun/exam/lib/AYSdk.java
index d4e4feb..b0e8e97 100644
--- a/lib/src/main/java/com/anyun/exam/lib/AYSdk.java
+++ b/lib/src/main/java/com/anyun/exam/lib/AYSdk.java
@@ -6,6 +6,7 @@
 import android.content.ServiceConnection;
 import android.os.IBinder;
 import android.os.RemoteException;
+import android.text.TextUtils;
 import android.util.Log;
 
 /**
@@ -83,6 +84,7 @@
 
     @Override
     public void sendCmd(int cmd, String s) {
+        MyLog.i(TAG,"CMD="+cmd+" content:"+(!TextUtils.isEmpty(s)?s:"null"));
         SvrManager.getInstance().sendCmd(cmd,s);
     }
 

--
Gitblit v1.8.0