[dev_opt_2.15.0] patch升级代码提交
This commit is contained in:
@@ -14,6 +14,8 @@ import com.mogo.eagle.core.data.deva.scene.SceneTAG
|
||||
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
|
||||
import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider
|
||||
import com.mogo.eagle.core.function.api.devatools.apm.*
|
||||
import com.mogo.eagle.core.function.api.devatools.download.*
|
||||
import com.mogo.eagle.core.function.api.upgrade.*
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
|
||||
@@ -158,8 +160,8 @@ object CallerDevaToolsManager {
|
||||
/**
|
||||
* 下载指定包
|
||||
*/
|
||||
fun downLoadPackage(downloadKey: String, downloadUrl: String) {
|
||||
devaToolsProviderApi?.downLoadPackage(downloadKey, downloadUrl)
|
||||
fun downLoadPackage(type: DownloadType, downloadKey: String, downloadUrl: String) {
|
||||
devaToolsProviderApi?.downLoadPackage(type, downloadKey, downloadUrl, )
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -248,4 +250,6 @@ object CallerDevaToolsManager {
|
||||
fun queryObuUpgrade(obuVersionName: String) {
|
||||
devaToolsProviderApi?.queryObuUpgrade(obuVersionName)
|
||||
}
|
||||
|
||||
fun upgradeProvider(): IMoGoUpgradeProvider? = devaToolsProviderApi?.upgradeProvider()
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.mogo.eagle.core.function.call.patch
|
||||
|
||||
import android.content.*
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.AppInfo.PatchInfo
|
||||
import com.mogo.eagle.core.function.api.patch.*
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import java.io.*
|
||||
import java.util.concurrent.CopyOnWriteArraySet
|
||||
|
||||
object CallerPatchManager {
|
||||
|
||||
private val patchInfo by lazy { CopyOnWriteArraySet<PatchInfo>() }
|
||||
|
||||
private val provider: IMoGoPatchProvider? by lazy {
|
||||
CallerBase.getApiInstance(IMoGoPatchProvider::class.java, MogoServicePaths.PATH_PATCH_UPGRADE)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param context 上下文环境
|
||||
* @param expectOldApkMd5 服务端返回的旧apk文件的md5
|
||||
* @return true: 本地apk与服务端旧apk版本的md5文件一致; false: 本地apk与服务端旧apk版本md5不一致
|
||||
*/
|
||||
fun isPatchAccept(context: Context, expectOldApkMd5: String, patchSize: Long): Boolean {
|
||||
return provider?.isPatchAccept(context, expectOldApkMd5, patchSize) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* @param context 上下文环境
|
||||
* @param patch 已下载文件的patch路径
|
||||
* @param newApk 合成后文件的文件路径
|
||||
* @return true: patch与旧apk文件合成成功; false: patch与旧apk文件合成失败
|
||||
*/
|
||||
fun applyPatch(context: Context, patch: File, newApk: File): Boolean {
|
||||
return provider?.applyPatch(context, patch, newApk) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* @param context 上下文环境
|
||||
* @param mergedApk patch合成后的文件路径
|
||||
* @param expectNewApkMd5 期望合成后文件的md5值
|
||||
* @return true: md5校验成功; false: md5校验失败
|
||||
*/
|
||||
fun checkMd5ForMergedApk(context: Context, mergedApk: File, expectNewApkMd5: String): Boolean {
|
||||
return provider?.checkMd5ForMergedApk(context, mergedApk, expectNewApkMd5) ?: false
|
||||
}
|
||||
|
||||
fun addPatchInfo(info: PatchInfo) {
|
||||
patchInfo += info
|
||||
}
|
||||
|
||||
fun getPatchInfoByUrl(patchUrl: String): PatchInfo? = patchInfo.find { it.patchDownloadUrl == patchUrl }
|
||||
|
||||
fun removePatchInfoByUrl(patchUrl: String) {
|
||||
try {
|
||||
patchInfo.remove(patchInfo.find { it.patchDownloadUrl == patchUrl })
|
||||
} catch (t: Throwable) {
|
||||
t.printStackTrace()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user