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 d6997845b8..eb20ed75e5 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 @@ -218,7 +218,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus && !OTAUpgradeConfig.inOrder){ //触发强提示升级 - CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason+upgradeTime) + CallerHmiManager.showOTAUpgradeDialog(1,true,upgradeReason+upgradeTime) }else{ //触发弱提示升级 //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, @@ -293,7 +293,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, //没有升级任务,取消查询,关掉弹窗 responseTimeoutNum = 0 handler.removeMessages(1) - CallerHmiManager.showOTAUpgradeDialog(false,"") + CallerHmiManager.showOTAUpgradeDialog(1,false,"") CallerHmiManager.showOTADownloadStatusDialog(false, emptyList()) CallerOTAManager.invokeOtaDownloadStatus(false) } @@ -352,7 +352,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus && !OTAUpgradeConfig.inOrder){ //触发强提示升级 - CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason+upgradeTime) + CallerHmiManager.showOTAUpgradeDialog(1,true,upgradeReason+upgradeTime) }else{ //触发弱提示升级 //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, @@ -414,7 +414,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, //通知关闭提示升级窗口(存在域控也在进行5min倒计时,与app存在时间差,域控会更早完成倒计时触发升级, // 此时通知app开始升级,app收到后即使未完成倒计时,也关闭提示弹窗,开始展示下载进展) OTAUpgradeConfig.isQuery = false - CallerHmiManager.showOTAUpgradeDialog(false,"") + CallerHmiManager.showOTAUpgradeDialog(1,false,"") CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList) CallerOTAManager.invokeOtaDownloadStatus(true) } @@ -494,7 +494,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, if(OTAUpgradeConfig.coldStartCompleted && !OTAUpgradeConfig.autopilotStatus && !OTAUpgradeConfig.inOrder){ //触发强提示升级 - CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason) + CallerHmiManager.showOTAUpgradeDialog(2,true,upgradeReason) }else{ //触发弱提示升级 //冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt index 3d7cadb1e7..f126fe9b9e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt @@ -389,7 +389,7 @@ class CarInfoTabView @JvmOverloads constructor( }else{ "预计部署过程用时${leftTime%60}秒" } - CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason+upgradeTime) + CallerHmiManager.showOTAUpgradeDialog(1,true,upgradeReason+upgradeTime) }else{ ToastUtils.showLong("请结束订单后触发升级") } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index f0e2f1a5db..1749466cfa 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -677,10 +677,11 @@ class MoGoHmiProvider : IMoGoHmiProvider { /** * 展示OTA升级弹窗 + * @param version OTA升级版本 * @param isShow 设置是否展示 * @param content 升级内容 */ - override fun showOTAUpgradeDialog(isShow: Boolean,content: String) { + override fun showOTAUpgradeDialog(version: Int,isShow: Boolean,content: String) { ThreadUtils.runOnUiThread{ context?.let { if(isShow){ @@ -690,6 +691,7 @@ class MoGoHmiProvider : IMoGoHmiProvider { if(otaUpgradeDialog?.isShowing == false){ otaUpgradeDialog?.show() } + otaUpgradeDialog?.setOTAVersion(version) otaUpgradeDialog?.showUpgradeContent(content) }else{ if(otaUpgradeDialog?.isShowing == true){ 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 f8e7c0a995..9da052716b 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 @@ -31,6 +31,7 @@ class OTAUpgradeDialog(context: Context) : private var clickListener: ClickListener? = null private var upgradeWaitingTimer: CountDownTimer ?= null //等待升级确认计时器 + private var otaVersion: Int = 0 init{ setContentView(R.layout.dialog_ota_upgrade) @@ -41,42 +42,74 @@ class OTAUpgradeDialog(context: Context) : private fun initView(){ //立即升级 tv_upgrade_now.setOnClickListener { -// val result = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) -// if(result){ -// ToastUtils.showShort("立即升级命令发送成功") -// }else{ -// ToastUtils.showShort("立即升级命令发送失败") -// } - - val query = JSONObject() - query.put("cmd","ASK_PAD_UPGRADE_RES") - query.put("token",OTAUpgradeConfig.token) - query.put("allow_upgrade",true) - query.put("reason","") - Log.i("xuxinchao",query.toString()) - CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) - + if(otaVersion == 1){ + val result = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) + if(result){ + ToastUtils.showShort("立即升级命令发送成功") + }else{ + ToastUtils.showShort("立即升级命令发送失败") + } + }else if(otaVersion == 2){ + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",true) + query.put("reason","") + Log.i(TAG,query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + }else{ + val result = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) + if(result){ + ToastUtils.showShort("立即升级命令发送成功") + }else{ + ToastUtils.showShort("立即升级命令发送失败") + } + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",true) + query.put("reason","") + Log.i(TAG,query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + } dismiss() } //稍后升级 tv_upgrade_later.setOnClickListener { -// val delayResult = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) -// if(delayResult){ -// ToastUtils.showShort("稍后升级命令发送成功") -// }else{ -// ToastUtils.showShort("稍后升级命令发送失败") -// } - - //不允许OTA升级 - val query = JSONObject() - query.put("cmd","ASK_PAD_UPGRADE_RES") - query.put("token",OTAUpgradeConfig.token) - query.put("allow_upgrade",false) - query.put("reason","user click") - Log.i("xuxinchao",query.toString()) - CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + if(otaVersion == 1){ + val delayResult = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) + if(delayResult){ + ToastUtils.showShort("稍后升级命令发送成功") + }else{ + ToastUtils.showShort("稍后升级命令发送失败") + } + }else if(otaVersion == 2){ + //不允许OTA升级 + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",false) + query.put("reason","user click") + Log.i(TAG,query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + }else{ + val delayResult = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY) + if(delayResult){ + ToastUtils.showShort("稍后升级命令发送成功") + }else{ + ToastUtils.showShort("稍后升级命令发送失败") + } + //不允许OTA升级 + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",false) + query.put("reason","user click") + Log.i(TAG,query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + } dismiss() } upgradeWaitingTimer = object: CountDownTimer(UPGRADE_WAITING_TIME,UPGRADE_WAITING_TIME){ @@ -85,7 +118,37 @@ class OTAUpgradeDialog(context: Context) : override fun onFinish() { //立即升级 - CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) + if(otaVersion == 1){ + val result = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) + if(result){ + ToastUtils.showShort("立即升级命令发送成功") + }else{ + ToastUtils.showShort("立即升级命令发送失败") + } + }else if(otaVersion == 2){ + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",true) + query.put("reason","") + Log.i(TAG,query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + }else{ + val result = CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) + if(result){ + ToastUtils.showShort("立即升级命令发送成功") + }else{ + ToastUtils.showShort("立即升级命令发送失败") + } + + val query = JSONObject() + query.put("cmd","ASK_PAD_UPGRADE_RES") + query.put("token",OTAUpgradeConfig.token) + query.put("allow_upgrade",true) + query.put("reason","") + Log.i(TAG,query.toString()) + CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString()) + } UiThreadHandler.postDelayed({ CallerAutoPilotControlManager.sendSsmFuncOtaStatusQuery(OTAUpgradeConfig.otaToken) dismiss() @@ -107,6 +170,10 @@ class OTAUpgradeDialog(context: Context) : } } + fun setOTAVersion(version: Int){ + otaVersion = version + } + interface ClickListener{ //立即升级 fun upgradeNow() diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt index 6d1e0c63df..ec60b8797f 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt @@ -334,7 +334,7 @@ interface IMoGoHmiProvider :IProvider{ * 展示OTA升级弹窗 * @param isShow 设置是否展示 */ - fun showOTAUpgradeDialog(isShow: Boolean,content: String) + fun showOTAUpgradeDialog(version: Int,isShow: Boolean,content: String) /** * 展示OTA升级下载状态弹窗 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index 85f5dfd307..bb822f5f6a 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -483,8 +483,8 @@ object CallerHmiManager { /** * 展示OTA升级弹窗 */ - fun showOTAUpgradeDialog(isShow: Boolean,content: String){ - hmiProviderApi?.showOTAUpgradeDialog(isShow,content) + fun showOTAUpgradeDialog(version: Int,isShow: Boolean,content: String){ + hmiProviderApi?.showOTAUpgradeDialog(version,isShow,content) } /**