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