From cca871bb831e962a59634d8c5f41a0ce816592ee Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 15 Feb 2023 19:14:34 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E6=B7=BB=E5=8A=A0ob?= =?UTF-8?q?u=E5=8D=87=E7=BA=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevaToolsProvider.kt | 4 +++ .../binding/BindingCarManager.kt | 9 +++-- .../upgrade/ObuUpgradeAppNetWorkManager.java | 18 +++++----- .../upgrade/UpgradeManager.kt | 35 +++++++++++++++++++ .../function/main/MainMoGoApplication.java | 1 + .../api/devatools/IDevaToolsProvider.kt | 5 +++ .../call/devatools/CallerDevaToolsManager.kt | 7 ++++ .../core/utilcode/breakpoint/Config.java | 3 ++ 8 files changed, 71 insertions(+), 11 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 f27e3087b9..f988d43fcb 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 @@ -158,6 +158,10 @@ class DevaToolsProvider : IDevaToolsProvider { upgradeManager.updateUpgradeProgress(mContext!!) } + override fun updateObuUpgradeStatus() { + upgradeManager.updateObuUpgradeStatus(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/binding/BindingCarManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt index 45badb5762..7f2081ccee 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt @@ -57,6 +57,9 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener { if (carConfigResp != null && !TextUtils.isEmpty(carConfigResp.macAddress)) { Log.d("Upgrade", "MoGoHandAdasMsgManager address = " + carConfigResp.macAddress) getBindingCarInfo(carConfigResp.macAddress, MoGoAiCloudClientConfig.getInstance().sn) + + //obu的升级,只需要司机屏连接 + queryObuUpgrade(carConfigResp.macAddress) } } @@ -162,11 +165,11 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener { } /** - * 司机屏 处理obu升级即可,乘客屏不需要处理 TODO OBU的角色 + * 司机屏 处理obu升级即可,乘客屏不需要处理 * */ - fun queryObuUpgrade() { - ObuUpgradeAppNetWorkManager.getInstance().getObuUpgradeInfo(mContext, mAddress, role.toString() + "") + private fun queryObuUpgrade(macAddress: String) { + ObuUpgradeAppNetWorkManager.getInstance().getObuUpgradeInfo(mContext, macAddress) } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.java b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.java index c323d84c9e..cf5a8832bd 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.java +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.java @@ -7,6 +7,7 @@ import android.content.Context; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.commons.constants.HostConst; import com.mogo.eagle.core.data.bindingcar.UpgradeAppInfo; +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.network.MoGoRetrofitFactory; import com.mogo.eagle.core.network.utils.GsonUtil; @@ -48,17 +49,17 @@ public class ObuUpgradeAppNetWorkManager { } /** - * 获取obu升级信息 + * 获取obu升级信息,obu升级服务端使用app升级接口,根据screenType区分类型 * mac :工控机mac地址 * screenType : 类型 */ - public void getObuUpgradeInfo(Context context, String mac, String screenType) { + public void getObuUpgradeInfo(Context context, String mac) { // String sn = "X20202203105S688HZ"; // String mac = "48:b0:2d:3a:bc:78"; String sn = MoGoAiCloudClientConfig.getInstance().getSn(); - int versionCode = AppUtils.getAppVersionCode(); - CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo mac = " + mac + "---type = " + screenType + "---sn = " + sn + "---versionCode =" + versionCode); - UpgradeAppRequest request = new UpgradeAppRequest(sn, mac, screenType); + String obuVersionName = String.valueOf(AppUtils.getAppVersionCode()); // TODO 获取obu的版本号, string和int 服务端处理 + CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo mac = " + mac + "---sn = " + sn + "---obuVersionName =" + obuVersionName); + UpgradeAppRequest request = new UpgradeAppRequest(sn, mac, "7"); RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request)); mUpgradeApiService.getUpgradeInfo(requestBody) .subscribeOn(Schedulers.io()) @@ -71,9 +72,10 @@ public class ObuUpgradeAppNetWorkManager { @Override public void onNext(@NonNull UpgradeAppInfo info) { if (info != null && info.result != null) { - CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo url = " + info.result.getAppUrl() + "----code = " + info.result.getVersionCode() + "--versionCode =" + versionCode + "--info.result = " + info.result); - if (info.result.getVersionCode() > versionCode) { - CallerHmiManager.INSTANCE.showUpgradeDialog(info.result.getAppUrl().substring(info.result.getAppUrl().lastIndexOf("/")+1), info.result.getAppUrl(), info.result.getInstallTitle(), info.result.getInstallContent(), info.result.getInstallType()); + CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo url = " + info.result.getAppUrl() + "----name = " + info.result.getVersionName() + "--obuVersionName =" + obuVersionName + "--info.result = " + info.result); + if (!String.valueOf(info.result.getVersionName()).equals(obuVersionName)) { + //下载 TAG和文件名 TODO + CallerDevaToolsManager.INSTANCE.downLoadPackage("OBU", info.result.getAppUrl()); } } else { CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo onNext info == null"); 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 e880c59532..3fdbdce9b6 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 @@ -14,6 +14,8 @@ 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.mogo.eagle.core.utilcode.util.AppUtils +import com.mogo.eagle.core.utilcode.util.ZipUtils +import java.io.IOException class UpgradeManager : IDownload { @@ -116,6 +118,9 @@ class UpgradeManager : IDownload { } } + /** + * 鹰眼app下载监听 + */ fun updateUpgradeProgress(context: Context) { val builder = NotificationCompat.Builder(context) // builder.setSmallIcon(R.mipmap.icon1001);//todo emArrow 更换图标,去除地图下载图标的依赖关系 @@ -147,4 +152,34 @@ class UpgradeManager : IDownload { }) } + /** + * obu升级包下载监听 + */ + fun updateObuUpgradeStatus(context: Context) { + CallerDevaToolsUpgradeListenerManager.addListener( + TAG, + object : IMogoDevaToolsUpgradeListener { + override fun onStart(url: String?) {} + override fun onPause(url: String?) {} + override fun onProgress(url: String?, length: Int) { + + } + + override fun onFinished(url: String?) { + //下载完成,解压文件 TODO + try { + val files = ZipUtils.unzipFile("", "") + //传给obu升级 + + } catch (e: IOException) { + //解压失败 + + e.printStackTrace() + } + } + + 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 4ef06c5609..d1cead5ff1 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 @@ -53,6 +53,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { CallerMsgBoxManager.INSTANCE.queryAllMessages(this); } CallerDevaToolsManager.INSTANCE.updateUpgradeProgress(); + CallerDevaToolsManager.INSTANCE.updateObuUpgradeStatus(); } @Override 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 f53dce752d..e11938e4bc 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 @@ -114,6 +114,11 @@ interface IDevaToolsProvider : IProvider { */ fun updateUpgradeProgress() + /** + * obu下载进度 + */ + fun updateObuUpgradeStatus() + /** * 展示状态栏 */ 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 345daf5c4c..37adbfcb54 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 @@ -154,6 +154,13 @@ object CallerDevaToolsManager { devaToolsProviderApi?.updateUpgradeProgress() } + /** + * obu下载状态 + */ + fun updateObuUpgradeStatus() { + devaToolsProviderApi?.updateObuUpgradeStatus() + } + /** * 展示状态栏 */ diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/Config.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/Config.java index cab22c02bf..987c395343 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/Config.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/Config.java @@ -13,5 +13,8 @@ public class Config { public final static String downLoadPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/downloads/"; + public final static String downLoadObuPath = Environment.getExternalStorageDirectory().getAbsolutePath() + + "/obu/"; + public final static String DOWN_LOAD_TAG = "Package-DownLoad"; }