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 e4c69ba7b2..3b6e7a3471 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 @@ -22,4 +22,7 @@ object OTAUpgradeConfig { //是否是主动查询 @JvmField var isQuery: Boolean = false + //已经提示过升级的列表 + @JvmField + var promptedUpgrade:ArrayList = ArrayList() } \ No newline at end of file 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 32bc8bd878..306f38e360 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 @@ -115,17 +115,20 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, if(index == 0){ //是否需要触发提示升级只判断第一个任务 if(productStatus == 0){ - //冷启动已完成(包括成功/失败),且驾驶状态为非自驾状态,且当前无订单进行强提示,否则为弱提示 - if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus - && !OTAUpgradeConfig.inOrder){ - //触发强提示升级 - CallerHmiManager.showOTAUpgradeDialog(true) - }else{ - //触发弱提示升级 - //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, - // 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级” - CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) - ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级") + if(!OTAUpgradeConfig.promptedUpgrade.contains(request.otaToken)){ + //冷启动已完成(包括成功/失败),且驾驶状态为非自驾状态,且当前无订单进行强提示,否则为弱提示 + if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus + && !OTAUpgradeConfig.inOrder){ + //触发强提示升级 + CallerHmiManager.showOTAUpgradeDialog(true) + }else{ + //触发弱提示升级 + //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, + // 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级” + CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) + ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级") + } + OTAUpgradeConfig.promptedUpgrade.add(request.otaToken) } return } @@ -210,17 +213,20 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, if(index == 0){ //是否需要触发提示升级只判断第一个任务 if(productStatus == 0){ - //冷启动已完成(包括成功/失败),且驾驶状态为非自驾状态,且当前无订单进行强提示,否则为弱提示 - if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus - && !OTAUpgradeConfig.inOrder){ - //触发强提示升级 - CallerHmiManager.showOTAUpgradeDialog(true) - }else{ - //触发弱提示升级 - //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, - // 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级” - CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) - ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级") + if(!OTAUpgradeConfig.promptedUpgrade.contains(status.otaInfo.otaToken)){ + //冷启动已完成(包括成功/失败),且驾驶状态为非自驾状态,且当前无订单进行强提示,否则为弱提示 + if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus + && !OTAUpgradeConfig.inOrder){ + //触发强提示升级 + CallerHmiManager.showOTAUpgradeDialog(true) + }else{ + //触发弱提示升级 + //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, + // 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级” + CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) + ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级") + } + OTAUpgradeConfig.promptedUpgrade.add(status.otaInfo.otaToken) } return }