[6.7.0][应用升级] 应用升级接口请求添加接口回调

This commit is contained in:
renwj
2024-10-21 19:28:50 +08:00
parent 08dc5b120d
commit 56ff2a369c
6 changed files with 22 additions and 18 deletions

View File

@@ -271,7 +271,7 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
isShowRouteStrategy = !AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)
bizConfigCenter.updateChannelRole() //功能开关配置更新
traceManager.syncConfig() //同步信息至ms
BindingCarManager.queryAppUpgrade() //更新App升级信息
BindingCarManager.queryAppUpgrade(null) //更新App升级信息
}
private fun initMatrix() {
@@ -603,8 +603,8 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
WorkOrderManager.workOrderManager.getCategories(tenantId, level, parentId,type, upType)
}
override fun queryAppUpgrade() {
BindingCarManager.queryAppUpgrade()
override fun queryAppUpgrade(block: ((Boolean, String?) -> Unit)?) {
BindingCarManager.queryAppUpgrade(block)
}
// override fun apmEnvProvider(): IApmEnvProvider = apmEnvProvider

View File

@@ -110,7 +110,7 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener {
mAddress = macAddress
}
if (flag) {
queryAppUpgrade()
queryAppUpgrade(null)
val obuVersion = mObuVersion
if (obuVersion != null && !TextUtils.isEmpty(obuVersion)) {
queryObuUpgrade(obuVersion)
@@ -216,7 +216,7 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener {
/**
* 查询app是否需要升级
*/
fun queryAppUpgrade() {
fun queryAppUpgrade(block: ((Boolean, String?) -> Unit)?) {
CallerLogger.d(M_DEVA + "UPGRADE", "---- 1 ----")
var macAddress = mAddress
if (TextUtils.isEmpty(macAddress)) {
@@ -230,7 +230,7 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener {
}
CallerLogger.d(M_DEVA + "UPGRADE", "---- 3 ----[mac: $macAddress]")
UpgradeAppNetWorkManager.instance
?.getAppUpgradeInfo(mContext, macAddress, AppIdentityModeUtils.getMisChannelCode(FunctionBuildConfig.appIdentityMode).toString() + "")
?.getAppUpgradeInfo(mContext, macAddress, AppIdentityModeUtils.getMisChannelCode(FunctionBuildConfig.appIdentityMode).toString() + "", block)
}
}

View File

@@ -55,7 +55,7 @@ class UpgradeAppNetWorkManager private constructor() {
/**
* 获取app升级信息
*/
fun getAppUpgradeInfo(context: Context?, mac: String, screenType: String) {
fun getAppUpgradeInfo(context: Context?, mac: String, screenType: String, block: ((Boolean, String?) -> Unit)? = null) {
upgradeJob?.safeCancel()
scope.launch {
var sn = SharedPrefsMgr.getInstance().sn
@@ -101,12 +101,20 @@ class UpgradeAppNetWorkManager private constructor() {
provider?.recordUpgradeRecord(sn ?: "", macAddress, type, FunctionBuildConfig.isSupportPatchUpgrade)
provider?.recordUpgradeRequestStart()
val info = mUpgradeApiService.getUpgradeInfo(requestBody)
SharedPrefsMgr.getInstance().putString(SharedPrefsConstants.APP_UPGRADE_CONTENT, if (info.result != null) GsonUtils.toJson(info) + "--mac:$macAddress --type:$type --sn:$sn --versionName:$versionName" else "info.result == null --mac:$macAddress --type:$type --sn:$sn --versionName:$versionName --versionCode:$versionCode")
if (info.result != null) {
provider?.recordUpgradeRequestSuccess(GsonUtils.toJson(info))
val response = GsonUtils.toJson(info)
SharedPrefsMgr.getInstance().putString(SharedPrefsConstants.APP_UPGRADE_CONTENT, if (info.result != null) response + "--mac:$macAddress --type:$type --sn:$sn --versionName:$versionName" else "info.result == null --mac:$macAddress --type:$type --sn:$sn --versionName:$versionName --versionCode:$versionCode")
if (info.result != null) {
runCatching {
block?.invoke(true, response)
}
provider?.recordUpgradeRequestSuccess(response)
doUpgrade(info)
} else {
provider?.recordUpgradeRequestFailed(info.msg?:"请检查升级服务日志")
val error = info.msg?:"请检查升级服务日志"
runCatching {
block?.invoke(false, error)
}
provider?.recordUpgradeRequestFailed(error)
}
} catch (t: Throwable) {
t.printStackTrace()

View File

@@ -2,7 +2,6 @@ package com.zhjt.mogo_core_function_devatools.upgrade.provider
import android.content.*
import android.content.pm.PackageInstaller
import android.widget.Toast
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.data.deva.chain.*
@@ -59,9 +58,6 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider {
}
override suspend fun recordUpgradeRequestFailed(error: String) {
if(error.isNotEmpty()){
ToastUtils.showShort(error)
}
UpgradeDbHelper.insertCheckRecord(CheckRecord(AppUtils.getAppVersionName(), FAIL, error, time = System.currentTimeMillis()))
try {
onUpgradeRecordLinkLog(mapOf("upgrade_request_failed" to error))