From 132cfcccbb2257b48b122160e372aeda63d288a3 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 23 Jun 2025 17:28:02 +0800 Subject: [PATCH] [8.1.0_new_ota]OTA2.0 --- .../ota/OTAUpgradeManager.kt | 56 +++++++++++++++++-- .../function/hmi/ui/tools/OTAUpgradeDialog.kt | 9 +-- 2 files changed, 56 insertions(+), 9 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeManager.kt index 6eb17d52dc..a75f12913e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeManager.kt @@ -423,6 +423,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, val products = jsonObject.optString("products") val productsArray = JSONArray(products) + val otaUpgradeList = ArrayList() if(productsArray.length() > 0){ for(index in 0 until productsArray.length()){ val productInfo = productsArray[index] as JSONObject @@ -431,8 +432,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, val speed = productInfo.optDouble("speed") val leftTime = productInfo.optInt("left_time") val name = productInfo.optString("name") - val curSize = productInfo.optInt("cur_size") - val totalSize = productInfo.optInt("total_size") + val curSize = productInfo.optDouble("cur_size") + val totalSize = productInfo.optDouble("total_size") Log.i(TAG, "productStatus=$productStatus") Log.i(TAG, "failReason=$failReason") @@ -442,13 +443,31 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, Log.i(TAG, "curSize=$curSize") Log.i(TAG, "totalSize=$totalSize") + + + val otaUpgradeInfo = OtaUpgradeInfo(otaToken, getProjectStatus(productStatus),failReason,upgradeReason, + 0,0,1,name,true,isDelay,curSize,totalSize,leftTime) + otaUpgradeList.add(otaUpgradeInfo) + } } - - if(otaToken.isNotEmpty()){ + //请求升级 + if(cmd == "ASK_PAD_UPGRADE" && otaToken.isNotEmpty()){ CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason) } - + //升级中 + if(cmd == "PAD_UPGRADE_REPORT"){ + CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList) + } + //升级完成 + if(otaStatus == "fail"){ + CallerHmiManager.showOTADownloadStatusDialog(false,emptyList()) + CallerHmiManager.showOTAResultDialog(isShow = true, result = false) + } + if(otaStatus == "success"){ + CallerHmiManager.showOTADownloadStatusDialog(false,emptyList()) + CallerHmiManager.showOTAResultDialog(isShow = true, result = true) + } } @@ -497,5 +516,32 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, return version } + private fun getProjectStatus(status: String): Int{ + return when(status){ + "init"->{ + 0 + } + "downloading"->{ + 1 + } + "sync_slave"->{ + 2 + } + "upgrading"->{ + 2 + } + "success"->{ + 3 + } + "fail"->{ + 4 + } + else->{ + 0 + } + + } + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OTAUpgradeDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OTAUpgradeDialog.kt index c0fdfbd5e4..f947733163 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OTAUpgradeDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OTAUpgradeDialog.kt @@ -48,7 +48,7 @@ class OTAUpgradeDialog(context: Context) : // ToastUtils.showShort("立即升级命令发送失败") // } - val query: JSONObject = JSONObject() + val query = JSONObject() query.put("cmd","ASK_PAD_UPGRADE_RES") query.put("token",OTAUpgradeConfig.token) query.put("allow_upgrade",true) @@ -69,10 +69,11 @@ class OTAUpgradeDialog(context: Context) : // } //不允许OTA升级 - val query: JSONObject = JSONObject() - query.put("cmd","PAD_NOT_ALLOW_UPGRADE_REASON") + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") query.put("token",OTAUpgradeConfig.token) - query.put("data","自动驾驶中") + query.put("allow_upgrade",false) + query.put("reason","") Log.i("xuxinchao",query.toString()) CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString())