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