From 908ca545e938129dbe2ba2d7d2b97ca8275cc8f2 Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 7 Mar 2023 16:13:20 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Fopt=5F2.15.0]=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../upgrade/UpgradeManager.kt | 24 ++++++++----------- .../IMogoDevaToolsUpgradeListener.kt | 2 +- .../CallerDevaToolsUpgradeListenerManager.kt | 4 ++-- .../breakpoint/callback/DownloadCallBack.java | 4 +++- .../breakpoint/callback/IDownload.java | 3 ++- .../breakpoint/services/DownloadService.java | 4 ++-- .../breakpoint/thread/DownloadTask.java | 4 ++-- .../breakpoint/thread/DownloadThread.java | 6 ++--- 8 files changed, 24 insertions(+), 27 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt index 20c5a96716..c530d157a4 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt @@ -44,7 +44,6 @@ class UpgradeManager : IDownload { } private var map: Map? = null - private var mDownloadFileName: String? = null private val upgradeProvider: IMoGoUpgradeProvider? by lazy { CallerBase.getApiInstance(IMoGoUpgradeProvider::class.java, MogoServicePaths.PATH_UPGRADE_TYPE_API) } @@ -56,9 +55,6 @@ class UpgradeManager : IDownload { fun downLoadPackage(context: Context, type: DownloadType, downloadKey: String, downloadUrl: String) { CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "UpgradeManager downLoadPackage = " + downloadUrl.contains(".zip") + "----downloadKey = $downloadKey ---downloadUrl = $downloadUrl") - if (type == OBU) { - mDownloadFileName = downloadKey - } types[downloadUrl] = type DownloadUtils.downLoad( context, @@ -115,7 +111,7 @@ class UpgradeManager : IDownload { } } - override fun onFinished(downloadUrl: String?, threadBean: ThreadBean?) { + override fun onFinished(downloadUrl: String?, threadBean: ThreadBean?, localPath: String) { if (downloadUrl != null) { val type = types[downloadUrl] if (type == APK || type == PATCH) { @@ -124,7 +120,7 @@ class UpgradeManager : IDownload { var isPatchInstallFailed = false var patchInstallFailedReason = "" CallerPatchManager.removePatchInfoByUrl(downloadUrl) - val patch = File(Config.downLoadPath, downloadUrl.substring(downloadUrl.lastIndexOf("/") + 1)) + val patch = File(localPath) if (patch.exists()) { try { val newApk = File(Utils.getApp().getExternalFilesDir(null), "patch/merged/${SimpleDateFormat("yyyy_MM_dd_HH_mm_ss", Locale.ROOT).format(Date()) }.apk") @@ -210,8 +206,7 @@ class UpgradeManager : IDownload { } } } else { - val apkPath = Config.downLoadPath + downloadUrl.substring(downloadUrl.lastIndexOf("/") + 1) - val apk = File(apkPath) + val apk = File(localPath) ApkInstaller.installApp(Utils.getApp(), apk) { code, reason -> if (code != PackageInstaller.STATUS_SUCCESS) { upgradeProvider?.also { itx -> @@ -231,10 +226,10 @@ class UpgradeManager : IDownload { } if (downloadUrl != null) { if (map.isNullOrEmpty()) { - CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(downloadUrl) + CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(downloadUrl, localPath) } else { findKey(downloadUrl) { - CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(it) + CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(it, localPath) } } } @@ -291,7 +286,7 @@ class UpgradeManager : IDownload { updateStatusBarDownloadView(true, "download", length) } - override fun onFinished(url: String?) { + override fun onFinished(url: String?, localPath: String) { builder.setContentText("已下载" + 100 + "%") UiThreadHandler.postDelayed({ manager.cancel(0x3) @@ -316,11 +311,12 @@ class UpgradeManager : IDownload { override fun onProgress(url: String?, length: Int) { } - override fun onFinished(url: String?) { + override fun onFinished(url: String?, localPath: String) { //下载完成,解压文件 try { - val files = ZipUtils.unzipFile(Config.downLoadObuPath + mDownloadFileName, Config.downLoadUnzipObuPath) - CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", " onFinished file = ${Config.downLoadObuPath + mDownloadFileName} -----files = $files ") + val dest = File(localPath) + val files = ZipUtils.unzipFile(localPath, Config.downLoadUnzipObuPath) + CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", " onFinished file = ${Config.downLoadObuPath + dest.name} -----files = $files ") //1传给obu升级,升级成功,2需要删除相应文件夹 var md5Path = "" var tarPath = "" diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMogoDevaToolsUpgradeListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMogoDevaToolsUpgradeListener.kt index f513496c82..893e3c5c8a 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMogoDevaToolsUpgradeListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IMogoDevaToolsUpgradeListener.kt @@ -22,7 +22,7 @@ interface IMogoDevaToolsUpgradeListener { /** * 线程下载完毕 */ - fun onFinished(url: String?) + fun onFinished(url: String?, localPath: String) /** * 错误信息回调 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsUpgradeListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsUpgradeListenerManager.kt index 4910e95203..3c37981e9d 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsUpgradeListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsUpgradeListenerManager.kt @@ -27,10 +27,10 @@ object CallerDevaToolsUpgradeListenerManager : CallerBase downloadCallBack.threadDownLoadFinished(url,threadBean)); + UiThreadHandler.post(() -> downloadCallBack.threadDownLoadFinished(url,threadBean, localPath)); } } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/thread/DownloadThread.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/thread/DownloadThread.java index 86f726ca98..d233fdbc73 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/thread/DownloadThread.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/thread/DownloadThread.java @@ -5,12 +5,10 @@ import static com.mogo.eagle.core.utilcode.breakpoint.Config.DOWN_LOAD_TAG; import android.util.Log; -import com.mogo.eagle.core.utilcode.breakpoint.Config; import com.mogo.eagle.core.utilcode.breakpoint.bean.FileBean; import com.mogo.eagle.core.utilcode.breakpoint.bean.ThreadBean; import com.mogo.eagle.core.utilcode.breakpoint.callback.DownloadCallBack; import com.mogo.eagle.core.utilcode.breakpoint.event.DownloadData; -import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import java.io.File; @@ -53,7 +51,7 @@ public class DownloadThread extends Thread { int start = threadBean.getStart() + threadBean.getFinished(); connection.setRequestProperty("Range","bytes="+start+"-"+threadBean.getEnd()); //设置写入位置 - File file = new File(fileBean.getFileName().contains(".zip") ? Config.downLoadObuPath : Config.downLoadPath,fileBean.getFileName()); + File file = new File(fileBean.getSavePath(),fileBean.getFileName()); raf = new RandomAccessFile(file,"rwd"); raf.seek(start); //开始下载 @@ -75,7 +73,7 @@ public class DownloadThread extends Thread { } } //下载完成 - UiThreadHandler.post(() -> callback.threadDownLoadFinished(this.fileBean.getUrl(),threadBean)); + UiThreadHandler.post(() -> callback.threadDownLoadFinished(this.fileBean.getUrl(),threadBean, file.getAbsolutePath())); } } catch (Exception e) {