From de1edc7ad9dec23564e13c600683a2140965661e Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 16 三月 2020 13:44:48 +0800
Subject: [PATCH] 优化app.java代码,防止RTK配置发两次;MCU协处理器升级以Worker的形势进行,防止多个入口升级,升级之后会删除dfu.bin,加入dfu.bin不存在的话给出提示;

---
 app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java |   32 +++++++++++++++++---------------
 1 files changed, 17 insertions(+), 15 deletions(-)

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 e08042c..9e6f492 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
@@ -20,6 +20,9 @@
 import androidx.lifecycle.ViewModelProviders;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import androidx.work.Data;
+import androidx.work.OneTimeWorkRequest;
+import androidx.work.WorkInfo;
 import androidx.work.WorkManager;
 
 import com.anyun.exam.lib.AYSdk;
@@ -56,6 +59,7 @@
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.FileUtil;
 import safeluck.drive.evaluation.util.SPUtils;
+import safeluck.drive.evaluation.worker.MCUUpgradeWorker;
 
 /**
  * 璁剧疆鎵�鏈夊弬鏁�
@@ -188,21 +192,19 @@
             case R.id.btn_mcu_upgrade:
 
 
-
-                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);
-                        AYSdk.getInstance().sendCmd(Constant.UPGRADE_MCU_CONTENT_FILE, strs);
-                    }else{
-                        MyLog.i(TAG,"mcu鍗囩骇鏂囦欢涓嶅瓨鍦�");
-                    }
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
+                OneTimeWorkRequest mcuUpgradeWorkReq = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
+                WorkManager.getInstance(_mActivity.getApplicationContext()).enqueue(mcuUpgradeWorkReq);
+                WorkManager.getInstance(_mActivity.getApplicationContext()).getWorkInfoByIdLiveData(mcuUpgradeWorkReq.getId())
+                        .observe(this, new Observer<WorkInfo>() {
+                            @Override
+                            public void onChanged(WorkInfo workInfo) {
+                                if (workInfo.getState()== WorkInfo.State.FAILED){
+                                    Data data = workInfo.getOutputData();
+                                    String str = data.getString(Constant.MCU_UPGRADE_FAIL_RESASON);
+                                    Toast.makeText(_mActivity, str, Toast.LENGTH_SHORT).show();
+                                }
+                            }
+                        });
                 break;
             case R.id.btn_save_platform:
                 Toast.makeText(_mActivity, "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show();

--
Gitblit v1.8.0