[6.9.0]OTA升级和数据闭环需求开发

This commit is contained in:
xuxinchao
2024-11-29 19:43:13 +08:00
parent 8ee9bde0ea
commit e2541db3b3
18 changed files with 501 additions and 11 deletions

View File

@@ -58,6 +58,7 @@ import com.mogo.eagle.core.function.hmi.ui.setting.StatusView
import com.mogo.eagle.core.function.hmi.ui.setting.ToolsView.Companion.toolsView
import com.mogo.eagle.core.function.hmi.ui.tools.AdUpgradeDialog
import com.mogo.eagle.core.function.hmi.ui.tools.ModifyBindingCarDialog
import com.mogo.eagle.core.function.hmi.ui.tools.OTAUpgradeDialog
import com.mogo.eagle.core.function.hmi.ui.tools.ToBindingCarDialog
import com.mogo.eagle.core.function.hmi.ui.tools.UpgradeAppDialog
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog
@@ -659,4 +660,15 @@ class MoGoHmiProvider : IMoGoHmiProvider {
CallerHmiViewControlListenerManager.invokeColdStartProcessView()
}
/**
* 展示OTA升级弹窗
*/
override fun showOTAUpgradeDialog() {
ThreadUtils.runOnUiThread{
if (context != null){
OTAUpgradeDialog.show(context)
}
}
}
}

View File

@@ -0,0 +1,76 @@
package com.mogo.eagle.core.function.hmi.ui.tools
import android.content.Context
import android.widget.TextView
import androidx.lifecycle.LifecycleObserver
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
import com.zhjt.mogo_core_function_devatools.ota.OTAUpgradeConfig
import system_master.SsmInfo
/**
* OTA升级对话框
*/
class OTAUpgradeDialog(context: Context) :
BaseFloatDialog(context,TAG), LifecycleObserver {
companion object {
private const val TAG = "OTAUpgradeDialog"
private var otaUpgradeDialog: OTAUpgradeDialog? = null
fun show(context: Context?) {
context?.let {
if (otaUpgradeDialog == null) {
otaUpgradeDialog = OTAUpgradeDialog(it)
}
otaUpgradeDialog?.let { dialog ->
if (dialog.isShowing) {
return
}
dialog.show()
}
}
}
}
private var clickListener: ClickListener? = null
private lateinit var tvUpgradeNow: TextView //立即升级
private lateinit var tvUpgradeLater: TextView //稍后升级
init{
setContentView(R.layout.dialog_ota_upgrade)
setCanceledOnTouchOutside(false)
initView()
}
private fun initView(){
tvUpgradeNow = findViewById(R.id.tv_upgrade_now)
tvUpgradeLater = findViewById(R.id.tv_upgrade_later)
//立即升级
tvUpgradeNow.setOnClickListener {
CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.IMMEDIATELY)
}
//稍后升级
tvUpgradeLater.setOnClickListener {
CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY)
}
}
override fun dismiss() {
super.dismiss()
otaUpgradeDialog = null
}
fun setClickListener(clickListener: ClickListener) {
this.clickListener = clickListener
}
interface ClickListener{
//立即升级
fun upgradeNow()
//稍后升级
fun upgradeLater()
}
}

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.eagle.core.widget.RoundConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/dp_900"
android:layout_height="@dimen/dp_620"
android:background="@drawable/bg_bone_dialog"
app:roundLayoutRadius="@dimen/dp_50"
>
<TextView
android:id="@+id/tv_upgrade_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:text="@string/application_upgrade"
android:textSize="56dp"
android:textColor="#FFFFFFFF"
android:layout_marginTop="50dp"
/>
<TextView
android:id="@+id/tv_upgrade_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_upgrade_title"
android:text="@string/application_upgrade_confirm"
android:textColor="#FFFFFFFF"
android:textSize="43dp"
android:gravity="start"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:layout_marginTop="50dp"
/>
<TextView
android:id="@+id/tv_upgrade_tip"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_upgrade_content"
app:layout_constraintBottom_toTopOf="@id/view_horizontal_line"
android:text="@string/application_upgrade_tips"
android:textColor="#FFFF4B1F"
android:textSize="36dp"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:layout_marginTop="30dp"
/>
<TextView
android:id="@+id/tv_upgrade_now"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:gravity="center"
android:text="@string/ota_upgrade_now"
android:background="@drawable/bg_dialog_btn"
android:textColor="@color/color_2EACFF"
android:textSize="@dimen/dp_40"
android:layout_marginStart="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_62"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />
<TextView
android:id="@+id/tv_upgrade_later"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:gravity="center"
android:text="@string/ota_upgrade_later"
android:textColor="@color/white"
android:textSize="@dimen/dp_40"
android:background="@drawable/bg_dialog_btn"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginEnd="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_62"
app:layout_constraintRight_toRightOf="parent"/>
</com.mogo.eagle.core.widget.RoundConstraintLayout>

View File

@@ -248,4 +248,8 @@
<string name="cold_start_process">冷启动进度条</string>
<!--OTA升级-->
<string name="ota_upgrade_now">立即升级</string>
<string name="ota_upgrade_later">稍后升级</string>
</resources>