[8.2.0]OTA升级兼容策略调整

This commit is contained in:
xuxinchao
2025-08-08 18:34:03 +08:00
parent 9221b8b584
commit 1d2b0af350
6 changed files with 110 additions and 41 deletions

View File

@@ -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{
//触发弱提示升级
//冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级,

View File

@@ -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("请结束订单后触发升级")
}

View File

@@ -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){

View File

@@ -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()

View File

@@ -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升级下载状态弹窗

View File

@@ -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)
}
/**