diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index 78fd9e3522..109c854f62 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -19,7 +19,6 @@ import com.mogo.eagle.core.network.* import com.mogo.eagle.core.network.utils.* import com.mogo.eagle.core.utilcode.download.Config import com.mogo.eagle.core.utilcode.kotlin.* -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.* import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.* @@ -45,6 +44,10 @@ class UpgradeAppNetWorkManager private constructor() { @Volatile private var upgradeJob: Job? = null + // 标识静默升级是否已触发下载,如果为true, 直接返回,防止重复下载 + @Volatile + private var mDownloadRequested = false + /** * 获取app升级信息 */ @@ -136,6 +139,10 @@ class UpgradeAppNetWorkManager private constructor() { provider?.recordUpgradeRecord(info.result.versionName, null, 0) } if (ApkInstaller.isInstallAppStore(Utils.getApp())) { + if (mDownloadRequested) { + return + } + mDownloadRequested = true try { withContext(Dispatchers.Main) { Toast.makeText(Utils.getApp(), "检测到新版本[${info.result.versionName}]并且当前设备支持静默升级,开始下载新版本...", Toast.LENGTH_SHORT).show()