From e0e6f7cf7ebf2a6fbfea13eb0743f5e95b1dc60c Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 11 二月 2020 13:10:06 +0800
Subject: [PATCH] 发送完单片机文件内容后删除dfu.bin;在发给移动站服务实际命令处打印log

---
 app/src/main/java/safeluck/drive/evaluation/Constant.java                   |    1 +
 lib/src/main/java/com/anyun/exam/lib/SvrManager.java                        |    7 +++++++
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java               |   32 ++++++++++++++++++++------------
 app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java              |   14 ++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java |    1 +
 lib/src/main/java/com/anyun/exam/lib/AYSdk.java                             |    2 +-
 6 files changed, 44 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index a311211..9679ed8 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -72,5 +72,6 @@
     public static final String BIND_RTCM_TOPIC = "BIND_RTCM_TOPIC";
     public static final String BIND_DEBUG_TXT = "BIND_DEBUG_TXT";
     public static final int UPGRADE_MCU_CONTENT_FILE = 0x8100;
+    public static final String MCU_FILE_NAME = "dfu.bin";
     public static String exam_enter_exitdata="exam_enter_exitdata";
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index d7caeea..e2cb43d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -37,6 +37,7 @@
 import java.nio.charset.Charset;
 import java.util.List;
 
+import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.FileUtil;
 import safeluck.drive.evaluation.util.PermissionManager;
 import safeluck.drive.evaluation.viewmodels.MainViewModel;
@@ -86,20 +87,27 @@
     };
 
     private void sendMcuUprgrade() {
-        try {
-            byte[] datas = FileUtil.readLocalFile(this,"dfu.bin");
-            Log.i(TAG, ByteUtil.byte2hex(datas));
-            if (datas != null){
+        CThreadPoolExecutor.runInBackground(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    byte[] datas = FileUtil.readLocalFile(MainActivity.this,Constant.MCU_FILE_NAME);
+                    if (datas != null){
+                        Log.i(TAG, ByteUtil.byte2hex(datas));
 
-                String strs = new String(datas, Charset.forName("ISO-8859-1"));
-                MyLog.i(TAG, "mcu upgrade datas.legnth=="+strs.getBytes("ISO-8859-1").length);
-                AYSdk.getInstance().sendCmd(Constant.UPGRADE_MCU_CONTENT_FILE, strs);
-            }else{
-                MyLog.i(TAG,"mcu鍗囩骇鏂囦欢涓嶅瓨鍦�");
+                        String strs = new String(datas, Charset.forName("ISO-8859-1"));
+                        MyLog.i(TAG, "mcu upgrade datas.legnth=="+strs.getBytes("ISO-8859-1").length);
+                        AYSdk.getInstance().sendCmd(Constant.UPGRADE_MCU_CONTENT_FILE, strs);
+                        FileUtil.deleteFile("",Constant.MCU_FILE_NAME);
+                    }else{
+                        MyLog.i(TAG,"mcu鍗囩骇鏂囦欢涓嶅瓨鍦�");
+                    }
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
             }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+        });
+
     }
 
     private void sendRtkConfigInfo() {
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 195dc0a..cdc900f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -78,6 +78,7 @@
                 try {
                     byte[] datas =FileUtil.readLocalFile(getActivity(),"dfu.bin");
                     if (datas != null){
+                        Log.i(TAG,ByteUtil.byte2hex(datas));
 
                         String strs = new String(datas, Charset.forName("ISO-8859-1"));
                         Log.i(TAG, "onClick: datas.legnth=="+strs.getBytes("ISO-8859-1").length);
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 7704465..d63b1b0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/FileUtil.java
@@ -185,6 +185,20 @@
         }
     }
 
+    /**
+     * 鍒犻櫎鏌愪釜鏂囦欢
+     * @param parentPathName 褰撳墠鏂囦欢鐨勭埗鐩綍涓�鐩村埌鏍圭洰褰曪紙涓嶅寘鎷牴鐩綍锛�
+     * @param fileName 鏂囦欢鍚�
+     */
+    public static void deleteFile(String parentPathName, String fileName){
+        String dir =Environment.getExternalStorageDirectory().getAbsolutePath()+"/";
+        dir = dir+parentPathName;
+        MyLog.i(TAG,"鍒犻櫎鏂囦欢"+dir+fileName);
+        File file = new File(dir,fileName);
+        if (file.exists()){
+            file.delete();
+        }
+    }
     public static byte[] readLocalFile(Context context,String fileName) throws IOException {
         InputStream inputStream = null;
         String dir = Environment.getExternalStorageDirectory().getAbsolutePath()+"/";
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 f2a57a9..3f6f2ca 100644
--- a/lib/src/main/java/com/anyun/exam/lib/AYSdk.java
+++ b/lib/src/main/java/com/anyun/exam/lib/AYSdk.java
@@ -86,7 +86,7 @@
 
     @Override
     public void sendCmd(int cmd, String s) {
-        MyLog.i(TAG,"CMD="+ String.format("0x%x",cmd) +" content:"+(!TextUtils.isEmpty(s)?s:"null"));
+
         SvrManager.getInstance().sendCmd(cmd,s);
     }
 
diff --git a/lib/src/main/java/com/anyun/exam/lib/SvrManager.java b/lib/src/main/java/com/anyun/exam/lib/SvrManager.java
index 9f761c7..4fc73ce 100644
--- a/lib/src/main/java/com/anyun/exam/lib/SvrManager.java
+++ b/lib/src/main/java/com/anyun/exam/lib/SvrManager.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;
 
 import java.util.LinkedList;
@@ -73,6 +74,12 @@
         if (!checkRemoteIsNull()){
             try {
                 remoteInterface.SendCmd(cmd,s);
+                if(cmd == 0x8100){
+                    MyLog.i(TAG,"CMD="+ String.format("0x%x",cmd) +" contentLength:"+(!TextUtils.isEmpty(s)?s.length():0));
+                }else{
+
+                    MyLog.i(TAG,"CMD="+ String.format("0x%x",cmd) +" content:"+(!TextUtils.isEmpty(s)?s:"null"));
+                }
             } catch (RemoteException e) {
                 e.printStackTrace();
             }

--
Gitblit v1.8.0