From b6a01e5d8e4935a7cd890b1d3a4de215623e6789 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 10 Feb 2023 18:42:55 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=B8=8B=E8=BD=BDapk=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevaToolsProvider.kt | 4 ++ .../upgrade/UpgradeManager.kt | 37 ++++++++++++++ .../function/main/MainMoGoApplication.java | 48 +------------------ .../api/devatools/IDevaToolsProvider.kt | 5 ++ .../call/devatools/CallerDevaToolsManager.kt | 7 +++ 5 files changed, 54 insertions(+), 47 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 6d32280c78..7177fa3033 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -148,6 +148,10 @@ class DevaToolsProvider : IDevaToolsProvider { upgradeManager.downLoadPackage(mContext!!, downloadKey, downloadUrl) } + override fun updateUpgradeProgress() { + upgradeManager.updateUpgradeProgress(mContext!!) + } + override fun showStatusBar(ctx: Context, container: ViewGroup) { StatusManager.init(ctx) StatusManager.show(container) 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 a180eb61f9..e880c59532 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 @@ -1,7 +1,12 @@ package com.zhjt.mogo_core_function_devatools.upgrade +import android.app.NotificationManager import android.content.Context +import androidx.core.app.NotificationCompat +import com.elegant.utils.UiThreadHandler +import com.mogo.eagle.core.function.api.devatools.IMogoDevaToolsUpgradeListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsUpgradeListenerManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.updateStatusBarDownloadView 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 @@ -110,4 +115,36 @@ class UpgradeManager : IDownload { } } } + + fun updateUpgradeProgress(context: Context) { + val builder = NotificationCompat.Builder(context) + // builder.setSmallIcon(R.mipmap.icon1001);//todo emArrow 更换图标,去除地图下载图标的依赖关系 + builder.setContentTitle("下载") + builder.setContentText("正在下载") + val manager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager + CallerDevaToolsUpgradeListenerManager.addListener( + TAG, + object : IMogoDevaToolsUpgradeListener { + override fun onStart(url: String?) {} + override fun onPause(url: String?) {} + override fun onProgress(url: String?, length: Int) { + builder.setProgress(100, length, false) + manager.notify(0x3, builder.build()) + //下载进度提示 + builder.setContentText("已下载$length%") + updateStatusBarDownloadView(true, "download", length) + } + + override fun onFinished(url: String?) { + builder.setContentText("已下载" + 100 + "%") + UiThreadHandler.postDelayed({ + manager.cancel(0x3) + updateStatusBarDownloadView(false, "download", 100) + }, 1000) + } + + override fun onError(url: String?, errorMsg: String?) {} + }) + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index 98e42ffac3..bcdd678bd5 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -68,7 +68,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { clearMessageBoxTable(); CallerMsgBoxManager.INSTANCE.queryAllMessages(this); } - upgradeProgressListener(); + CallerDevaToolsManager.INSTANCE.updateUpgradeProgress(); } @Override @@ -109,52 +109,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { }).start(); } - private void upgradeProgressListener() { - final NotificationCompat.Builder builder = new NotificationCompat.Builder(this); -// builder.setSmallIcon(R.mipmap.icon1001);//todo emArrow 更换图标,去除地图下载图标的依赖关系 - builder.setContentTitle("下载"); - builder.setContentText("正在下载"); - final NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - - CallerDevaToolsUpgradeListenerManager.INSTANCE.addListener(TAG, new IMogoDevaToolsUpgradeListener() { - @Override - public void onStart(@Nullable String url) { - - } - - @Override - public void onPause(@Nullable String url) { - - } - - @Override - public void onProgress(@Nullable String url, int length) { - builder.setProgress(100, length,false); - manager.notify(0x3, builder.build()); - //下载进度提示 - builder.setContentText("已下载" + length + "%"); - CallerHmiManager.INSTANCE.updateStatusBarDownloadView(true, "download", length); - } - - @Override - public void onFinished(@Nullable String url) { - builder.setContentText("已下载" + 100 + "%"); - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - manager.cancel(0x3); - CallerHmiManager.INSTANCE.updateStatusBarDownloadView(false, "download", 100); - } - }, 1000); - } - - @Override - public void onError(@Nullable String url, @Nullable String errorMsg) { - - } - }); - } - private void initKoom() { KoomInitTask.INSTANCE.init(this); } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index bd6fc6f58b..f53dce752d 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -109,6 +109,11 @@ interface IDevaToolsProvider : IProvider { */ fun downLoadPackage(downloadKey: String, downloadUrl: String) + /** + * 更新下载进度 + */ + fun updateUpgradeProgress() + /** * 展示状态栏 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index 753a80650d..345daf5c4c 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -147,6 +147,13 @@ object CallerDevaToolsManager { devaToolsProviderApi?.downLoadPackage(downloadKey, downloadUrl) } + /** + * 更新下载进度 + */ + fun updateUpgradeProgress() { + devaToolsProviderApi?.updateUpgradeProgress() + } + /** * 展示状态栏 */