[8.1.0_new_ota]OTA2.0

This commit is contained in:
xuxinchao
2025-06-23 17:28:02 +08:00
parent dbf2b08dd7
commit 132cfcccbb
2 changed files with 56 additions and 9 deletions

View File

@@ -423,6 +423,7 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
val products = jsonObject.optString("products")
val productsArray = JSONArray(products)
val otaUpgradeList = ArrayList<OtaUpgradeInfo>()
if(productsArray.length() > 0){
for(index in 0 until productsArray.length()){
val productInfo = productsArray[index] as JSONObject
@@ -431,8 +432,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
val speed = productInfo.optDouble("speed")
val leftTime = productInfo.optInt("left_time")
val name = productInfo.optString("name")
val curSize = productInfo.optInt("cur_size")
val totalSize = productInfo.optInt("total_size")
val curSize = productInfo.optDouble("cur_size")
val totalSize = productInfo.optDouble("total_size")
Log.i(TAG, "productStatus=$productStatus")
Log.i(TAG, "failReason=$failReason")
@@ -442,13 +443,31 @@ 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(otaToken.isNotEmpty()){
//请求升级
if(cmd == "ASK_PAD_UPGRADE" && otaToken.isNotEmpty()){
CallerHmiManager.showOTAUpgradeDialog(true,upgradeReason)
}
//升级中
if(cmd == "PAD_UPGRADE_REPORT"){
CallerHmiManager.showOTADownloadStatusDialog(true,otaUpgradeList)
}
//升级完成
if(otaStatus == "fail"){
CallerHmiManager.showOTADownloadStatusDialog(false,emptyList())
CallerHmiManager.showOTAResultDialog(isShow = true, result = false)
}
if(otaStatus == "success"){
CallerHmiManager.showOTADownloadStatusDialog(false,emptyList())
CallerHmiManager.showOTAResultDialog(isShow = true, result = true)
}
}
@@ -497,5 +516,32 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
return version
}
private fun getProjectStatus(status: String): Int{
return when(status){
"init"->{
0
}
"downloading"->{
1
}
"sync_slave"->{
2
}
"upgrading"->{
2
}
"success"->{
3
}
"fail"->{
4
}
else->{
0
}
}
}
}