From c0d8a47cc322e976c1d210724064c6f5eff26af3 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 18 Jan 2024 20:24:20 +0800 Subject: [PATCH] =?UTF-8?q?[6.2.8][=E5=BA=94=E7=94=A8=E5=8D=87=E7=BA=A7]?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=87=8D=E5=A4=8D=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../upgrade/UpgradeAppNetWorkManager.kt | 6 ++++++ .../upgrade/provider/MoGoUpgradeProviderImpl.kt | 13 +++++++++++++ .../function/api/upgrade/IMoGoUpgradeProvider.kt | 2 ++ 3 files changed, 21 insertions(+) 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 660526fd19..bcafa4b272 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 @@ -55,6 +55,12 @@ class UpgradeAppNetWorkManager private constructor() { fun getAppUpgradeInfo(context: Context?, mac: String, screenType: String) { upgradeJob?.safeCancel() scope.launch { + if (provider?.isDownloading() == true) { + withContext(Dispatchers.Main) { + ToastUtils.showShort("正在下载最新版本,不要重复下载...") + } + return@launch + } val sn = SharedPrefsMgr.getInstance().sn val macAddress = mac //"48:b0:2d:4d:31:7f" val type = screenType //"10" diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt index c0eaca9ef1..af3d343a5c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt @@ -18,10 +18,13 @@ import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.vo.UpgradeRecor import com.zhjt.service.chain.* import java.util.TreeMap import java.util.concurrent.TimeUnit +import java.util.concurrent.atomic.AtomicBoolean @Route(path = MogoServicePaths.PATH_UPGRADE_TYPE_API) class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { + private val isDownloading by lazy { AtomicBoolean(false) } + override fun init(context: Context?) {} override suspend fun recordUpgradeRecord(sn: String, mac: String, type: String?, isSupportPatch: Boolean) { @@ -80,6 +83,8 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { onUpgradeRecordLinkLog(mapOf("upgrade_download_start" to record)) } catch (t: Throwable) { t.printStackTrace() + } finally { + isDownloading.set(true) } } @@ -100,6 +105,8 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { onUpgradeRecordLinkLog(mapOf("upgrade_download_failed" to record)) } catch (t: Throwable) { t.printStackTrace() + } finally { + isDownloading.set(false) } } @@ -110,6 +117,8 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { onUpgradeRecordLinkLog(mapOf("upgrade_download_success" to record)) } catch (t: Throwable) { t.printStackTrace() + } finally { + isDownloading.set(false) } } @@ -297,6 +306,10 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { } == null } + override fun isDownloading(): Boolean { + return isDownloading.get() + } + private fun getType(type: Int): Type = if (type == 0) FULL else PATCH diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt index 3eea1a10d3..79230b7a14 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt @@ -49,4 +49,6 @@ interface IMoGoUpgradeProvider: IProvider { suspend fun hasUpgradeRecord(): Boolean suspend fun isNeedGoPatchUpgrade(): Boolean + + fun isDownloading(): Boolean } \ No newline at end of file