diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeConfig.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeConfig.kt index 7adf6454c9..17f0bb6d1a 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeConfig.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ota/OTAUpgradeConfig.kt @@ -29,10 +29,13 @@ object OTAUpgradeConfig { @JvmField var upgradeFinish: ArrayList = ArrayList() - - + //OTA2.0 Token + @JvmField var token: String = "" + //已经提示过升级的列表 + var promptedUpgradeTwo: ArrayList = ArrayList() + 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 ae49413cc3..3a6a2864fc 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 @@ -441,6 +441,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, Log.i(TAG, "isDelay=$isDelay") Log.i(TAG, "isCancel=$isCancel") + OTAUpgradeConfig.token = otaToken + val products = jsonObject.optString("products") val productsArray = JSONArray(products) val otaUpgradeList = ArrayList() @@ -463,18 +465,48 @@ 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(cmd == "ASK_PAD_UPGRADE" && otaToken.isNotEmpty()){ - CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason) + if(cmd == "ASK_PAD_UPGRADE" && otaStatus == "init"){ + if(!OTAUpgradeConfig.promptedUpgradeTwo.contains(otaToken)){ + //冷启动已完成(包括成功/失败),且驾驶状态为非自驾状态,且当前无订单进行强提示,否则为弱提示 + if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus + && !OTAUpgradeConfig.inOrder){ + //触发强提示升级 + CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason) + }else{ + //触发弱提示升级 + //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, + // 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级” + + val reason = if(OTAUpgradeConfig.autopilotStatus){ + "处于自驾中" + }else if(OTAUpgradeConfig.inOrder){ + "处于订单中" + }else{ + "冷启动未完成" + } + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",false) + query.put("reason",reason) + Log.i("xuxinchao",query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + + ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级") + } + OTAUpgradeConfig.promptedUpgradeTwo.add(otaToken) + } + return } + //升级中 if(cmd == "PAD_UPGRADE_REPORT"){ CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList)