[合并] 将分支2.15.0_merge_master的最新代码合并过来

This commit is contained in:
renwj
2023-05-16 10:56:36 +08:00
38 changed files with 477 additions and 1489 deletions

View File

@@ -2,7 +2,6 @@ package com.zhjt.mogo_core_function_devatools
import android.app.Activity
import android.content.Context
import android.util.Log
import android.view.View
import android.view.ViewGroup
import com.alibaba.android.arouter.facade.annotation.Route
@@ -268,7 +267,7 @@ class DevaToolsProvider : IDevaToolsProvider {
}
override fun updateUpgradeProgress() {
upgradeManager.updateUpgradeProgress(mContext!!)
upgradeManager.updateUpgradeProgress()
}
override fun showStatusBar(ctx: Context, container: ViewGroup) {

View File

@@ -2,7 +2,6 @@ package com.zhjt.mogo_core_function_devatools.upgrade
import android.content.*
import android.util.*
import com.elegant.utils.UiThreadHandler
import com.mogo.cloud.passport.*
import com.mogo.commons.constants.*
import com.mogo.commons.utils.*
@@ -14,7 +13,7 @@ import com.mogo.eagle.core.function.call.patch.CallerPatchManager.addPatchInfo
import com.mogo.eagle.core.function.call.patch.CallerPatchManager.isPatchAccept
import com.mogo.eagle.core.network.*
import com.mogo.eagle.core.network.utils.*
import com.mogo.eagle.core.utilcode.breakpoint.Config
import com.mogo.eagle.core.utilcode.download.Config
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

View File

@@ -15,10 +15,9 @@ import com.mogo.eagle.core.function.call.devatools.*
import com.mogo.eagle.core.function.call.patch.CallerPatchManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.updateStatusBarDownloadView
import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
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.download.Config
import com.mogo.eagle.core.utilcode.download.callback.IDownloadListener
import com.mogo.eagle.core.utilcode.download.DownloadUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
@@ -31,7 +30,7 @@ import kotlinx.coroutines.*
import java.io.IOException
import java.util.concurrent.ConcurrentHashMap
class UpgradeManager : IDownload {
class UpgradeManager : IDownloadListener {
companion object {
@@ -55,55 +54,29 @@ class UpgradeManager : IDownload {
fun downLoadPackage(context: Context, type: DownloadType, downloadKey: String, downloadUrl: String) {
CallerLogger.d("$M_DEVA$TAG", "UpgradeManager downLoadPackage = " + downloadUrl.contains(".zip") + "---type =" + type + "----downloadKey = $downloadKey ---downloadUrl = $downloadUrl")
types[downloadUrl] = type
DownloadUtils.downLoad(
context,
downloadUrl,
if (type == OBU) Config.downLoadObuPath else Config.downLoadPath,
downloadKey,
5,
this
)
DownloadUtils.downLoad(context, downloadUrl, if (type == OBU) Config.downLoadObuPath else Config.downLoadPath, downloadKey, this)
}
override fun onStart(downloadUrl: String?) {
CallerLogger.d("$M_DEVA$TAG","onStart downloadUrl : $downloadUrl")
if (downloadUrl != null) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeStart(downloadUrl)
val type = types[downloadUrl]
if (type == PATCH || type == APK) {
scope.launch {
CallerDevaToolsManager.upgradeProvider()?.recordDownloadStart(downloadUrl)
}
override fun onStart(url: String) {
CallerLogger.d("$M_DEVA$TAG","onStart downloadUrl : $url")
CallerDevaToolsUpgradeListenerManager.invokeUpgradeStart(url)
val type = types[url]
if (type == PATCH || type == APK) {
scope.launch {
CallerDevaToolsManager.upgradeProvider()?.recordDownloadStart(url)
}
}
}
override fun onPause(downloadUrl: String?, threadBean: ThreadBean?) {
CallerLogger.d("$M_DEVA$TAG","onPause downloadUrl : $downloadUrl , threadBean : $threadBean")
if (downloadUrl != null) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradePause(downloadUrl)
val type = types[downloadUrl]
if (type == PATCH || type == APK) {
scope.launch {
CallerDevaToolsManager.upgradeProvider()?.recordDownloadPause(downloadUrl)
}
}
}
override fun onProgress(url: String, downloaded: Long, total: Long) {
CallerLogger.d("$M_DEVA$TAG"," onProgress downloadUrl : $url , downloaded: $downloaded, total: $total")
CallerDevaToolsUpgradeListenerManager.invokeUpgradeProgress(url, (downloaded * 100 / total).toInt())
}
override fun onProgress(downloadUrl: String?, length: Int) {
CallerLogger.d("$M_DEVA$TAG"," onProgress downloadUrl : $downloadUrl , length : $length")
if (downloadUrl != null) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeProgress(downloadUrl, length)
}
}
override fun onFinished(downloadUrl: String?, threadBean: ThreadBean?, localPath: String) {
Log.d(TAG, "onFinished downloadUrl = $downloadUrl")
if (downloadUrl == null) {
return
}
doOnFinished(downloadUrl, localPath)
override fun onFinished(url: String, path: String) {
Log.d(TAG, "onFinished downloadUrl = $url")
doOnFinished(url, path)
}
private fun doOnFinished(downloadUrl: String, localPath: String) {
@@ -215,25 +188,23 @@ class UpgradeManager : IDownload {
}
}
override fun onError(downloadUrl: String?, errorMsg: String?) {
CallerLogger.d("$M_DEVA$TAG","onError downloadUrl : $downloadUrl , errorMsg : $errorMsg")
if (downloadUrl != null) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(downloadUrl, errorMsg ?: "未知错误")
val type = types[downloadUrl]
if (type == APK || type == PATCH) {
scope.launch { upgradeProvider?.recordDownloadFailed(downloadUrl,errorMsg ?: "下载失败") }
} else if (type == OBU) {
CallerLogger.e("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus errorMsg = $errorMsg ")
//下载失败,删除文件夹
CallerObuApiManager.deleteObuFile()
}
override fun onError(url: String, error: String?) {
CallerLogger.d("$M_DEVA$TAG","onError downloadUrl : $url , errorMsg : $error")
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(url, error ?: "未知错误")
val type = types[url]
if (type == APK || type == PATCH) {
scope.launch { upgradeProvider?.recordDownloadFailed(url, error ?: "下载失败") }
} else if (type == OBU) {
CallerLogger.e("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus errorMsg = $error ")
//下载失败,删除文件夹
CallerObuApiManager.deleteObuFile()
}
}
/**
* 鹰眼app下载监听
*/
fun updateUpgradeProgress(context: Context) {
fun updateUpgradeProgress() {
CallerDevaToolsUpgradeListenerManager.addListener(
TAG,
object : IMogoDevaToolsUpgradeListener {