From a05f71526bfdeefb19bf8b1f07c10bf12c673a2d Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 8 Jan 2025 11:35:03 +0800 Subject: [PATCH] =?UTF-8?q?[6.9.0]OTA=E5=8D=87=E7=BA=A7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ota/OTAUpgradeManager.kt | 5 ++-- .../core/function/hmi/ui/MoGoHmiProvider.kt | 27 ++++++++++++------- .../function/hmi/ui/tools/OTAUpgradeDialog.kt | 9 +++++-- .../api/hmi/warning/IMoGoHmiProvider.kt | 2 +- .../function/call/hmi/CallerHmiManager.kt | 4 +-- 5 files changed, 30 insertions(+), 17 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 89f6b07c4e..17597bd3f9 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 @@ -160,7 +160,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, taskId,taskItemId,otaType,productName,needRestart,isDelay,curSize,totalSize) otaUpgradeList.add(otaUpgradeInfo) } - CallerHmiManager.showOTADownloadStatusDialog(otaUpgradeList) + CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList) if(upgradeComplete){ OTAUpgradeConfig.otaToken = "" CallerOTAManager.invokeOtaDownloadStatus(false) @@ -269,6 +269,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, OTAUpgradeConfig.isQuery = false }else{ if(!OTAUpgradeConfig.upgradeFinish.contains(status.otaInfo.otaToken)){ + CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList) CallerHmiManager.showOTAResultDialog(upgradeResult) OTAUpgradeConfig.upgradeFinish.add(status.otaInfo.otaToken) } @@ -278,7 +279,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener, //通知关闭提示升级窗口(存在域控也在进行5min倒计时,与app存在时间差,域控会更早完成倒计时触发升级, // 此时通知app开始升级,app收到后即使未完成倒计时,也关闭提示弹窗,开始展示下载进展) CallerHmiManager.showOTAUpgradeDialog(false) - CallerHmiManager.showOTADownloadStatusDialog(otaUpgradeList) + CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList) CallerOTAManager.invokeOtaDownloadStatus(true) } } 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 881f47c690..0b9d7fb0d0 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 @@ -691,19 +691,26 @@ class MoGoHmiProvider : IMoGoHmiProvider { /** * 展示OTA升级下载状态弹窗 */ - override fun showOTADownloadStatusDialog(list: List) { + override fun showOTADownloadStatusDialog(isShow: Boolean,list: List) { ThreadUtils.runOnUiThread{ - if(otaDownloadStatusDialog?.isShowing == true){ - otaDownloadStatusDialog?.notifyDownloadStatus(list) - return@runOnUiThread - } - context?.let { - if(otaDownloadStatusDialog == null){ - otaDownloadStatusDialog = OTADownloadStatusDialog(it) + if(isShow){ + if(otaDownloadStatusDialog?.isShowing == true){ + otaDownloadStatusDialog?.notifyDownloadStatus(list) + return@runOnUiThread + } + context?.let { + if(otaDownloadStatusDialog == null){ + otaDownloadStatusDialog = OTADownloadStatusDialog(it) + } + otaDownloadStatusDialog?.show() + otaDownloadStatusDialog?.notifyDownloadStatus(list) + } + }else{ + if(otaDownloadStatusDialog?.isShowing == true){ + otaDownloadStatusDialog?.dismiss() } - otaDownloadStatusDialog?.show() - otaDownloadStatusDialog?.notifyDownloadStatus(list) } + } } 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 55aa433a6a..d14461553b 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 @@ -2,11 +2,14 @@ package com.mogo.eagle.core.function.hmi.ui.tools import android.content.Context import android.os.CountDownTimer +import android.util.Log +import androidx.annotation.UiThread import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.zhjt.mogo_core_function_devatools.ota.OTAUpgradeConfig import kotlinx.android.synthetic.main.dialog_ota_upgrade.tv_upgrade_later import kotlinx.android.synthetic.main.dialog_ota_upgrade.tv_upgrade_now @@ -50,9 +53,11 @@ class OTAUpgradeDialog(context: Context) : override fun onFinish() { //立即升级 CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY) - ThreadUtils.runOnUiThread { + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendSsmFuncOtaStatusQuery(OTAUpgradeConfig.otaToken) dismiss() - } + },2000 + ) } } 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 b065b234eb..a157768e25 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 @@ -333,7 +333,7 @@ interface IMoGoHmiProvider :IProvider{ /** * 展示OTA升级下载状态弹窗 */ - fun showOTADownloadStatusDialog(list: List) + fun showOTADownloadStatusDialog(isShow: Boolean,list: List) /** * 展示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 b51f2a22d6..d44d39057e 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 showOTADownloadStatusDialog(list: List){ - hmiProviderApi?.showOTADownloadStatusDialog(list) + fun showOTADownloadStatusDialog(isShow: Boolean,list: List){ + hmiProviderApi?.showOTADownloadStatusDialog(isShow,list) }