diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/appupgrade/network/UpgradeAppNetWorkManager.java b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/appupgrade/network/UpgradeAppNetWorkManager.java index bc59268698..2f58262dfe 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/appupgrade/network/UpgradeAppNetWorkManager.java +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/appupgrade/network/UpgradeAppNetWorkManager.java @@ -81,7 +81,7 @@ public class UpgradeAppNetWorkManager { CallerLogger.INSTANCE.d(TAG, "UpgradeAppInfo url = " + info.result.getAppUrl() + "----code = " + info.result.getVersionCode()); Log.d(TAG, "UpgradeAppInfo 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()); + CallerHmiManager.INSTANCE.showUpgradeDialog(info.result.getAppUrl().substring(info.result.getAppUrl().lastIndexOf("/")+1), info.result.getAppUrl(), info.result.getInstallTitle(), info.result.getInstallContent(), info.result.getInstallType()); } } else { Log.e(TAG, "onNext info == null"); diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index f19e0e77cd..280763b9b8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -1304,11 +1304,12 @@ class MoGoHmiFragment : MvpFragment(), /** * 升级app弹框 */ - override fun showUpgradeDialog(name: String, url: String, title: String, content: String) { + override fun showUpgradeDialog(name: String, url: String, title: String, content: String, installType: String) { if (upgradeAppDialog == null) { upgradeAppDialog = UpgradeAppDialog(requireContext()) } - upgradeAppDialog!!.showUpgradeAppDialog(name, url, title, content) + upgradeAppDialog!!.setCanceledOnTouchOutside(false) + upgradeAppDialog!!.showUpgradeAppDialog(name, url, title, content, installType) } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt index 88a4e13640..3f2319fb5e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt @@ -1,7 +1,9 @@ package com.mogo.eagle.core.function.hmi.ui.bindingcar import android.content.Context +import android.opengl.Visibility import android.util.Log +import android.view.View import android.widget.TextView import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager @@ -23,6 +25,8 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb private var cancleTv: TextView? = null private var upgradeTitleTv: TextView? = null private var upgradeContentTv: TextView? = null + private var verticalLineView: View? = null + private var confirmForceTv: TextView? = null private var tag: String? = null private var downloarUrl: String? = null @@ -34,6 +38,8 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb upgradeContentTv = findViewById(R.id.tv_upgrade_content) confirmTv = findViewById(R.id.tv_upgrade_confirm) cancleTv = findViewById(R.id.tv_upgrade_cancel) + verticalLineView = findViewById(R.id.view_vertical_line) + confirmForceTv = findViewById(R.id.tv_upgrade_confirm_force) confirmTv?.setOnClickListener { downloadApp() @@ -42,6 +48,11 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb cancleTv?.setOnClickListener { dismiss() } + + confirmForceTv?.setOnClickListener { + downloadApp() + } + } /** @@ -58,16 +69,31 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb super.dismiss() } - fun showUpgradeAppDialog(name: String, url: String, title: String, content: String) { + // 升级类型 1:提示升级 2:静默升级 3:强制升级 + fun showUpgradeAppDialog(name: String, url: String, title: String, content: String, installType: String) { if (isShowing) { return } tag = name downloarUrl = url - upgradeTitleTv?.text = title upgradeContentTv?.text = content + if (installType.equals("1")) { + confirmForceTv?.visibility = View.GONE + confirmTv?.visibility = View.VISIBLE + cancleTv?.visibility = View.VISIBLE + verticalLineView?.visibility = View.VISIBLE + } else if (installType.equals("3")) { + confirmTv?.visibility = View.GONE + cancleTv?.visibility = View.GONE + verticalLineView?.visibility = View.GONE + + confirmForceTv?.visibility = View.VISIBLE + } else if (installType.equals("2")) { + //静默安装 + } + show() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_upgrade_app.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_upgrade_app.xml index 7c3e839b9a..54fecfe8d0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_upgrade_app.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_upgrade_app.xml @@ -93,5 +93,18 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@id/view_horizontal_line" /> + \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/AppInfo.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/AppInfo.java index eb573de5f3..86c04140ab 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/AppInfo.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/bindingcar/AppInfo.java @@ -14,7 +14,7 @@ public class AppInfo implements Serializable { private String screenType; private String installTitle; private String installContent; - private String installType; + private String installType; // 升级类型 1:提示升级 2:静默升级 3:强制升级 private String beginTime; private String endTime; diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt index 348e01b31f..aba129710c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt @@ -222,7 +222,7 @@ interface IMoGoWaringProvider : IMoGoHmiViewProxy { /** * 展示升级app弹框 */ - fun showUpgradeDialog(name: String, url: String, title: String, content: String) + fun showUpgradeDialog(name: String, url: String, title: String, content: String, installType: String) /** * 呈现工控机升级确认框 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index cebf460606..c4d6fc3a55 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -292,8 +292,8 @@ object CallerHmiManager : CallerBase() { waringProviderApi?.showModifyBindingcarDialog() } - fun showUpgradeDialog(name: String, url: String, title: String, content: String) { - waringProviderApi?.showUpgradeDialog(name, url, title, content) + fun showUpgradeDialog(name: String, url: String, title: String, content: String, installType: String) { + waringProviderApi?.showUpgradeDialog(name, url, title, content, installType) } /**