finish the multi thread down load func and wait to test

This commit is contained in:
zhongchao
2022-03-22 21:57:26 +08:00
parent b28c3ab3cd
commit 22adb762c3
16 changed files with 396 additions and 175 deletions

View File

@@ -1,15 +1,17 @@
package com.zhjt.mogo_core_function_devatools.upgrade
import android.content.Context
import com.mogo.commons.context.ContextHolderUtil
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsUpgradeListenerManager
import com.mogo.eagle.core.utilcode.breakpoint.Config
import com.mogo.eagle.core.utilcode.breakpoint.bean.ThreadBean
import com.mogo.eagle.core.utilcode.breakpoint.callback.IDownload
import com.mogo.eagle.core.utilcode.breakpoint.utils.DownloadUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
import com.zhjt.mogo_core_function_devatools.upgrade.network.UpgradeVersionNetWorkModel
class UpgradeManager {
class UpgradeManager : IDownload {
companion object {
@@ -37,13 +39,58 @@ class UpgradeManager {
fun downLoadPackage(context: Context, downLoadKey: String) {
// val downLoadUrl = map?.get(downLoadKey)
// downLoadUrl?.let {
DownloadUtils.downLoad(
context,
"https://scm-1255510688.cos.ap-beijing.myqcloud.com/test/com.mogo.launcher.f/2.5.1.1009/IntelligentPilot_v2.5.1.1009_20220216_[fPadLenovoOchTaxi-launcher-online]_debug.apk",
Config.downLoadPath,
downLoadKey,
5
)
DownloadUtils.downLoad(
context,
"https://scm-1255510688.cos.ap-beijing.myqcloud.com/test/com.mogo.launcher.f/2.5.1.1009/IntelligentPilot_v2.5.1.1009_20220216_[fPadLenovoOchTaxi-launcher-online]_debug.apk",
Config.downLoadPath,
downLoadKey,
5,
this
)
// }
}
override fun onStart(downloadUrl: String?) {
CallerLogger.d("$M_DEVA$TAG","onStart downloadUrl : $downloadUrl")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeStart(it)
}
}
override fun onPause(downloadUrl: String?, threadBean: ThreadBean?) {
CallerLogger.d("$M_DEVA$TAG","onPause downloadUrl : $downloadUrl , threadBean : $threadBean")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradePause(it)
}
}
override fun onProgress(downloadUrl: String?, length: Int) {
CallerLogger.d("$M_DEVA$TAG","onProgress downloadUrl : $downloadUrl , length : $length")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeProgress(it, length)
}
}
override fun onFinished(downloadUrl: String?, threadBean: ThreadBean?) {
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(it)
}
}
override fun onError(downloadUrl: String?, errorMsg: String?) {
CallerLogger.d("$M_DEVA$TAG","onError downloadUrl : $downloadUrl , errorMsg : $errorMsg")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(it, errorMsg ?: "未知错误")
}
}
private fun findKey(downloadUrl: String?, findResult: (downloadUrl: String) -> Unit) {
downloadUrl?.let { url ->
map?.iterator()?.forEach {
if (it.value == url) {
findResult.invoke(it.key)
}
}
}
}
}