From e75368154352704a05724e1268d990600abe475d Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期四, 27 二月 2020 22:15:13 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge

---
 app/src/main/java/safeluck/drive/evaluation/app.java                           |   49 +++++++++--
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java         |   26 ++++++
 app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java                  |   12 +-
 app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java                 |   24 ++++++
 app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java    |   74 +++++++++++++++++-
 im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java                |    8 +-
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java |    2 
 app/src/main/res/layout/layout_base_datas.xml                                  |   16 +++
 9 files changed, 185 insertions(+), 28 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
index 5b04a49..f697fb1 100644
--- a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
+++ b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
@@ -21,7 +21,7 @@
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
 public class SimpleFragmentAdapter  extends FragmentPagerAdapter {
-    private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","GPS淇℃伅"};
+    private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","GNSS淇℃伅"};
     public SimpleFragmentAdapter(FragmentManager fm) {
         super(fm);
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 81a393d..1fbb278 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -47,6 +47,7 @@
 import safeluck.drive.evaluation.DB.gps.GpsInfoWorker;
 import safeluck.drive.evaluation.DB.rtktb.RTKConfig;
 import safeluck.drive.evaluation.DB.rtktb.RTKWorkRepository;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
 import safeluck.drive.evaluation.cEventCenter.CEvent;
 import safeluck.drive.evaluation.cEventCenter.CEventCenter;
 import safeluck.drive.evaluation.im.IMSClientBootstrap;
@@ -322,13 +323,26 @@
         new Thread(new Runnable() {
             @Override
             public void run() {
-                StringBuffer vebuffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.VEHICLE);
-                if (vebuffer != null){
-
-                    AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,vebuffer.toString());
+                String carPath = ExamPlatformData.getInstance().getCarModelPath();
+                if (!TextUtils.isEmpty(carPath)){
+                    MyLog.i("浣跨敤鏇存柊鍚庣殑Car妯″瀷鍦板浘"+carPath);
+                    byte[] bytes = FileUtil.readFile(carPath);
+                    if (bytes != null){
+                        String str = new String(bytes);
+                        AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,str);
+                    }else{
+                        MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",carPath));
+                    }
                 }else{
-                    MyLog.d(TAG,String.format("杞﹁締妯″瀷妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+                    StringBuffer vebuffer =FileUtil.readAssetTxtFile(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();
     }
@@ -337,14 +351,29 @@
         new Thread(new Runnable() {
             @Override
             public void run() {
-                StringBuffer buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP);
-                if (buffer != null){
-
-                    AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString());
+                String mapPath = ExamPlatformData.getInstance().getMapPath();
+                if (!TextUtils.isEmpty(mapPath)){
+                    MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘"+mapPath);
+                    byte[] fileContent = FileUtil.readFile(mapPath);
+                    if (fileContent != null){
+                        String str = new String(fileContent);
+                        Log.i(TAG, "鏂囦欢鍐呭锛�"+str);
+                        AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,str);
+                    }else{
+                        MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",mapPath));
+                    }
                 }else{
-                    MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+                    MyLog.i("璇诲彇Assert鐩綍涓嬪垵濮嬪寲鐨勫湴鍥�");
+                    StringBuffer buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP);
+                    if (buffer != null){
 
+                        AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString());
+                    }else{
+                        MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+
+                    }
                 }
+
             }
         }).start();
 
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 dde1e74..af9c2d0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -24,6 +24,8 @@
 
     private String ip;
     private int port;
+    private String mapPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path
+    private String carPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path
 
     public static ExamPlatformData getInstance() {
         return ourInstance;
@@ -89,4 +91,28 @@
     public int getExam_id() {
         return exam_id;
     }
+
+    public void setNewMapPath(String path) {
+        this.mapPath = path;
+        SPUtils.put(app.getAppContext(),SPUtils.MAP_PATH,mapPath);
+    }
+
+    public String  getMapPath(){
+        mapPath = (String) SPUtils.get(app.getAppContext(),SPUtils.MAP_PATH,"");
+        return mapPath;
+    }
+
+    /**
+     * 璁剧疆淇濆瓨鍦板浘妯″瀷鏂囦欢锛堝潗鏍囩偣鈥旓級鐨勮矾寰�
+     * @param car_path
+     */
+    public void setCarModelPath(String car_path) {
+        this.carPath = car_path;
+        SPUtils.put(app.getAppContext(),SPUtils.CAR_PATH,car_path);
+    }
+
+    public String getCarModelPath(){
+        carPath = (String) SPUtils.get(app.getAppContext(),SPUtils.CAR_PATH,"");
+        return carPath;
+    }
 }
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 a62ef62..5f85b3e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -1,9 +1,10 @@
 package safeluck.drive.evaluation.fragment;
 
+import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.lifecycle.ViewModelProviders;
 
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -18,7 +19,6 @@
 import com.anyun.exam.lib.util.ByteUtil;
 
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.nio.charset.Charset;
 
 import me.yokeyword.fragmentation.SupportFragment;
@@ -26,8 +26,8 @@
 import safeluck.drive.evaluation.MainActivity;
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.bean.ExamPlatformData;
+import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.FileUtil;
-import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
 
 /**
  * 鍩虹鏁版嵁璁剧疆
@@ -40,11 +40,13 @@
 public class BaseDatasFragment extends SupportFragment implements View.OnClickListener {
 
     private static final String TAG = BaseDatasFragment.class.getSimpleName();
+    private static final int REQUEST_CODE_MAP = 100;
+    private static final int REQUEST_CODE_CAR = 101;
+    private int request_code = REQUEST_CODE_MAP;
     private Button btn_inspect_signal;
     private Button btn_config_signal;
-    private Button btn_mcu_upgrade;
+    private Button btn_mcu_upgrade,btn_map_select;
     private EditText et_ip,et_port;
-//    private ExamPlatformModel examPlatformModel;
     public static SupportFragment newInstance() {
         return new BaseDatasFragment();
     }
@@ -56,7 +58,6 @@
 
         View view = inflater.inflate(R.layout.layout_base_datas, container, false);
         initView(view);
-//        examPlatformModel = ViewModelProviders.of(this).get(ExamPlatformModel.class);
         return view;
     }
 
@@ -68,7 +69,10 @@
         et_port.setText(ExamPlatformData.getInstance().getPlatformPort()+"");
         btn_inspect_signal = view.findViewById(R.id.btn_inpsect_signal);
         btn_mcu_upgrade = view.findViewById(R.id.btn_mcu_upgrade);
+        btn_map_select = view.findViewById(R.id.btn_map_select);
+        view.findViewById(R.id.btn_car_select).setOnClickListener(this);
         btn_mcu_upgrade.setOnClickListener(this);
+        btn_map_select.setOnClickListener(this);
         btn_inspect_signal.setOnClickListener(this);
         btn_config_signal = view.findViewById(R.id.btn_signal_conf);
         btn_config_signal.setOnClickListener(this);
@@ -109,8 +113,66 @@
                     ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim()));
                 }
                 break;
+            case R.id.btn_car_select://杞﹁締妯″瀷鍜屽湴鍥惧叕鐢ㄤ竴濂椾唬鐮� 鍖哄埆鍦ㄤ簬REQUEST_CODE
+                request_code = REQUEST_CODE_CAR;
+                openFileMgr();
+                break;
+            case R.id.btn_map_select:
+                request_code = REQUEST_CODE_MAP;
+                openFileMgr();
+                break;
             default:
                 break;
         }
     }
+
+    private void openFileMgr() {
+        Intent intent = new Intent();
+        intent.setAction(Intent.ACTION_GET_CONTENT);
+        intent.setType("*/*");
+        intent.addCategory(Intent.CATEGORY_OPENABLE);
+        try {
+            startActivityForResult(intent, request_code);
+        } catch (android.content.ActivityNotFoundException e) {
+            e.printStackTrace();
+            Toast.makeText(_mActivity, "璇峰畨瑁呮枃浠剁鐞嗗櫒", Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (REQUEST_CODE_MAP == requestCode){
+           final Uri uri= data.getData();
+            Log.i(TAG, "onActivityResult: "+uri.getPath());
+            ExamPlatformData.getInstance().setNewMapPath(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_MAP_INFO,str);
+                    }
+                }
+            });
+
+        }else if (requestCode == REQUEST_CODE_CAR){
+            final Uri uri= data.getData();
+            Log.i(TAG, "onActivityResult: "+uri.getPath());
+            ExamPlatformData.getInstance().setCarModelPath(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_VECHILE_PROFILE,str);
+                    }
+                }
+            });
+
+        }
+    }
 }
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 13dade7..93c7f01 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -119,7 +119,7 @@
                     String icStr = jsSpeed.getString("serialno");
                     if (result == 0) {
                         JKMessage0201 jkMessage0201 = new JKMessage0201();
-                        jkMessage0201.currentExam = 1;
+                        jkMessage0201.currentExam = 0;
                         jkMessage0201.id = icStr;
                         MessageProcessor.getInstance().sendMessage(jkMessage0201);
                     }
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 57cb041..c0e8ed0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
@@ -293,4 +293,28 @@
         return "M" + sb.toString();
     }
 
+    public static byte[] readFile(String path) {
+        InputStream inputStream = null;
+        File file = new File(path);
+        if (!file.exists()){
+            return null;
+        }
+        try {
+            inputStream = new FileInputStream(file);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        byte[] data = new byte[0];
+        try {
+            data = toByteArray(inputStream);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        try {
+            inputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return data;
+    }
 }
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 ff8cc70..fa867ea 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
@@ -2,12 +2,12 @@
 
 
 
-        import java.lang.reflect.InvocationTargetException;
-        import java.lang.reflect.Method;
-        import java.util.Map;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Map;
 
-        import android.content.Context;
-        import android.content.SharedPreferences;
+import android.content.Context;
+import android.content.SharedPreferences;
 
 public class SPUtils
 {
@@ -18,6 +18,8 @@
     public static final String DES_HEX_PWD = "des_pwd";
     public static final String PLATFORM_IP = "platform_ip";
     public static final String PLATFORM_PORT = "platform_port";
+    public static final String MAP_PATH = "map_path";
+    public static final String CAR_PATH = "car_path";
 
     /**
      * 淇濆瓨鏁版嵁鐨勬柟娉曪紝鎴戜滑闇�瑕佹嬁鍒颁繚瀛樻暟鎹殑鍏蜂綋绫诲瀷锛岀劧鍚庢牴鎹被鍨嬭皟鐢ㄤ笉鍚岀殑淇濆瓨鏂规硶
diff --git a/app/src/main/res/layout/layout_base_datas.xml b/app/src/main/res/layout/layout_base_datas.xml
index c129b57..1310686 100644
--- a/app/src/main/res/layout/layout_base_datas.xml
+++ b/app/src/main/res/layout/layout_base_datas.xml
@@ -178,11 +178,25 @@
 
             <Button  android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="鍗囩骇鍗曠墖鏈�"
+                android:text="鍗忓鐞嗗櫒鍗囩骇"
                 android:padding="5dp"
                 android:id="@+id/btn_mcu_upgrade"
                 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_map_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_car_select"
+                android:layout_marginLeft="15dp"
+                android:background="@drawable/btn_bg_baseset"/>
         </TableRow>
         </TableLayout>
     </LinearLayout>
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 e257920..a94be4a 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
@@ -216,7 +216,7 @@
                 }
                 break;
             case IMSConfig.CONNECT_STATE_SUCCESSFUL:
-                Log.i(TAG, String.format("onConnectStatusCallback: ims杩炴帴鎴愬姛锛宧ost[%s],port[%s]",currentHost,currentPort));
+                MyLog.i(String.format("onConnectStatusCallback: ims杩炴帴鎴愬姛锛宧ost[%s],port[%s]",currentHost,currentPort));
                 if (imsConnectStatusCallback != null){
                     imsConnectStatusCallback.onConnected();
                 }
@@ -232,7 +232,7 @@
                 break;
             case IMSConfig.CONNECT_STATE_FAILURE:
                 default:
-                    Log.i(TAG, "onConnectStatusCallback: ims杩炴帴澶辫触");
+                    MyLog.i( "onConnectStatusCallback: ims杩炴帴澶辫触");
                     if (imsConnectStatusCallback != null){
                         imsConnectStatusCallback.onConnectFailed();
                     }
@@ -447,7 +447,7 @@
 
         @Override
         public void run() {
-            Log.i(TAG, "鎵ц閲嶈繛浠诲姟");
+            MyLog.i(TAG, "鎵ц閲嶈繛浠诲姟");
             if (!isFirst){
                 onConnectStatusCallback(IMSConfig.CONNECT_STATE_FAILURE);
             }
@@ -527,7 +527,7 @@
                     if(connectStatus != IMSConfig.CONNECT_STATE_CONNECTING){
                         onConnectStatusCallback(IMSConfig.CONNECT_STATE_CONNECTING);
                     }
-                    Log.i(TAG, String.format("姝e湪杩涜connectServer銆�%s銆戠殑绗琜%d]杩炴帴锛屽綋鍓嶉噸杩炲欢鏃舵椂闀夸负[%dms]: ",serverUrl,j,j*getReconnectInterval()));
+                    MyLog.i( String.format("姝e湪杩涜connectServer銆�%s銆戠殑绗琜%d]杩炴帴锛屽綋鍓嶉噸杩炲欢鏃舵椂闀夸负[%dms]: ",serverUrl,j,j*getReconnectInterval()));
                     try {
                         currentPort = Integer.parseInt(address[1]);
                         currentHost = address[0];

--
Gitblit v1.8.0