V2.2.1-工控机升级

工控机升级需求,UI代码
This commit is contained in:
xuxinchao
2022-01-14 14:11:48 +08:00
parent de6b4d32d3
commit 974ab38155
17 changed files with 460 additions and 3 deletions

View File

@@ -114,7 +114,7 @@ ext {
obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3",
mogoobu : 'com.zhidao.support.obu:mogoobu:1.0.0.19',
mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.10',
adasHigh : 'com.zhidao.support.adas:high:1.2.1.2_bate1',
adasHigh : 'com.zhidao.support.adas:high:1.2.1.2_bate3',
// google
googlezxing : "com.google.zxing:core:3.3.3",

View File

@@ -0,0 +1,46 @@
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.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.module.common.dialog.BaseFloatDialog
/**
* @author XuXinChao
* @description 工控机确认升级对话框
* @since: 2022/1/13
*/
class AdUpgradeDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver {
companion object {
const val TAG = "AdUpgradeDialog"
}
private var upgradeConfirm : TextView? = null
private var upgradeCancel : TextView? = null
init {
setContentView(R.layout.dialog_ad_upgrade)
setCanceledOnTouchOutside(true)
upgradeConfirm=findViewById(R.id.tv_upgrade_confirm)
upgradeCancel=findViewById(R.id.tv_upgrade_cancel)
upgradeConfirm?.setOnClickListener{
Logger.i(TAG,"upgradeConfirm click")
}
upgradeCancel?.setOnClickListener {
Logger.i(TAG,"upgradeCancel click")
}
}
fun showUpgradeDialog(){
if(isShowing){
return
}
show()
}
}

View File

@@ -0,0 +1,73 @@
package com.mogo.eagle.core.function.hmi.ui.widget
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.ui.tools.AdUpgradeDialog
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import kotlinx.android.synthetic.main.view_system_version.view.*
/**
* @author XuXinChao
* @description 工具箱-系统版本(鹰眼版本、工控机版本)视图
* @since: 2022/1/13
*/
class SystemVersionView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoAutopilotStatusListener {
companion object {
const val TAG = "SystemVersionView"
}
private var connectStatus = false
private var adUpgradeDialog : AdUpgradeDialog? = null
init {
LayoutInflater.from(context).inflate(R.layout.view_system_version, this, true)
initView()
}
private fun initView(){
//鹰眼版本视图点击事件
ivPadVersion.setOnClickListener {
Logger.i(TAG,"pad version view clicked")
}
//工控机版本视图点击事件
ivAdVersion.setOnClickListener {
Logger.i(TAG,"ad version view clicked")
if(adUpgradeDialog == null){
adUpgradeDialog = AdUpgradeDialog(context)
}
adUpgradeDialog?.showUpgradeDialog()
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerAutoPilotStatusListenerManager.removeListener(TAG)
}
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
connectStatus = autoPilotStatusInfo.connectStatus
setViewStatus()
}
private fun setViewStatus(){
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:angle="315"
android:startColor="@color/version_latest_start_color"
android:endColor="@color/version_latest_end_color"
/>
</shape>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid android:color="@color/color_FF0006" />
<size
android:width="20dp"
android:height="20dp" />
</shape>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:angle="315"
android:startColor="@color/version_upgradeable_start_color"
android:endColor="@color/version_upgradeable_end_color"
/>
</shape>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/version_upgrading_color"/>
</shape>

View File

@@ -0,0 +1,106 @@
<?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="840px"
android:layout_height="584px"
android:background="@color/upgrade_dialog_bg_color"
app:roundLayoutRadius="32px"
>
<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="56px"
android:textColor="#FFFFFFFF"
android:layout_marginTop="50px"
/>
<TextView
android:id="@+id/tv_upgrade_content"
android:layout_width="0px"
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="43px"
android:gravity="start"
android:layout_marginStart="50px"
android:layout_marginEnd="50px"
android:layout_marginTop="50px"
/>
<TextView
android:id="@+id/tv_upgrade_tip"
android:layout_width="0px"
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="36px"
android:layout_marginStart="50px"
android:layout_marginEnd="50px"
android:layout_marginTop="30px"
/>
<View
android:id="@+id/view_horizontal_line"
android:layout_width="match_parent"
android:layout_height="3px"
android:background="#66B8BFE8"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_upgrade_tip"
android:layout_marginTop="60px"
/>
<View
android:id="@+id/view_vertical_line"
android:layout_width="3px"
android:layout_height="0dp"
android:background="#66B8BFE8"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line"
app:layout_constraintBottom_toBottomOf="parent"
/>
<TextView
android:id="@+id/tv_upgrade_confirm"
android:layout_width="400px"
android:layout_height="100px"
android:text="@string/confirm"
android:textColor="#FFFFFFFF"
android:textSize="46px"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/view_vertical_line"
/>
<TextView
android:id="@+id/tv_upgrade_cancel"
android:layout_width="400px"
android:layout_height="100px"
android:text="@string/cancel"
android:textColor="#FFFFFFFF"
android:textSize="46px"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/view_vertical_line"
app:layout_constraintRight_toRightOf="parent"
/>
</com.mogo.eagle.core.widget.RoundConstraintLayout>

View File

@@ -98,6 +98,20 @@
app:layout_constraintStart_toEndOf="@+id/viewPerspectiveSwitch"
app:layout_goneMarginStart="50px" />
<View
android:id="@+id/viewUpgradeTips"
android:layout_width="20px"
android:layout_height="20px"
app:layout_constraintCircle="@id/ivToolsIcon"
app:layout_constraintCircleAngle="45"
app:layout_constraintCircleRadius="60px"
tools:ignore="MissingConstraints"
android:background="@drawable/version_upgrade_tips_background"
android:translationZ="30px"
android:visibility="gone"
/>
<ImageView
android:id="@+id/ivCameraIcon"
android:layout_width="130px"

View File

@@ -139,12 +139,47 @@
app:layout_constraintTop_toBottomOf="@id/llSpeedPosition" />
<com.mogo.eagle.core.function.hmi.ui.widget.CheckSystemView
android:id="@+id/checkSystemView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40px"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSystemOperation" />
<View
android:id="@+id/viewSystemVersion"
android:layout_width="14px"
android:layout_height="50px"
android:layout_marginStart="80px"
android:layout_marginTop="94px"
android:background="@color/color_FF2966EC"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/checkSystemView" />
<TextView
android:id="@+id/tvSystemVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/check_system_version"
android:textColor="@color/color_FFFFFF"
android:textSize="42px"
app:layout_constraintTop_toTopOf="@id/viewSystemVersion"
app:layout_constraintBottom_toBottomOf="@id/viewSystemVersion"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginStart="113px"
/>
<com.mogo.eagle.core.function.hmi.ui.widget.SystemVersionView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40px"
android:layout_marginBottom="40px"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/viewSystemVersion"
app:layout_constraintBottom_toBottomOf="parent"
/>
<com.mogo.eagle.core.function.hmi.ui.tools.SpeedKeyboardView
android:id="@+id/sKeyBoardView"
android:layout_width="match_parent"

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<ImageView
android:id="@+id/ivPadVersion"
android:layout_width="150px"
android:layout_height="150px"
android:layout_marginStart="113px"
android:src="@drawable/icon_pad"
android:layout_marginTop="40px"
android:background="@drawable/version_latest_background"
android:padding="12dp"
android:clickable="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<ImageView
android:id="@+id/ivPadStatus"
android:layout_width="120px"
android:layout_height="50px"
android:src="@drawable/icon_latest_version"
app:layout_constraintCircle="@id/ivPadVersion"
app:layout_constraintCircleAngle="50"
app:layout_constraintCircleRadius="90px"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/tvPadVersionTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="@id/ivPadVersion"
app:layout_constraintRight_toRightOf="@id/ivPadVersion"
app:layout_constraintTop_toBottomOf="@id/ivPadVersion"
android:text="@string/current_system_version"
android:textColor="#FFA7B6F0"
android:layout_marginTop="10dp"
android:textSize="32px"
/>
<TextView
android:id="@+id/tvPadVersionContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="@id/ivPadVersion"
app:layout_constraintRight_toRightOf="@id/ivPadVersion"
app:layout_constraintTop_toBottomOf="@id/tvPadVersionTitle"
android:textColor="#FFA7B6F0"
android:layout_marginTop="2dp"
android:textSize="32px"
/>
<ImageView
android:id="@+id/ivAdVersion"
android:layout_width="150px"
android:layout_height="150px"
app:layout_constraintTop_toTopOf="@id/ivPadVersion"
app:layout_constraintBottom_toBottomOf="@id/ivPadVersion"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="405px"
android:src="@drawable/icon_ad"
android:padding="12dp"
android:background="@drawable/version_latest_background"
/>
<ImageView
android:id="@+id/ivAdStatus"
android:layout_width="120px"
android:layout_height="50px"
android:src="@drawable/icon_latest_version"
app:layout_constraintCircle="@id/ivAdVersion"
app:layout_constraintCircleAngle="50"
app:layout_constraintCircleRadius="90px"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/tvAdVersionTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="@id/ivAdVersion"
app:layout_constraintRight_toRightOf="@id/ivAdVersion"
app:layout_constraintTop_toBottomOf="@id/ivAdVersion"
android:text="@string/current_system_version"
android:textColor="#FFA7B6F0"
android:layout_marginTop="10dp"
android:textSize="32px"
/>
<TextView
android:id="@+id/tvAdVersionContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="@id/ivAdVersion"
app:layout_constraintRight_toRightOf="@id/ivAdVersion"
app:layout_constraintTop_toBottomOf="@id/tvAdVersionTitle"
android:textColor="#FFA7B6F0"
android:layout_marginTop="2dp"
android:textSize="32px"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -34,4 +34,13 @@
<color name="color_FF2966EC">#FF2966EC</color>
<color name="color_FFA7B6F0">#FFA7B6F0</color>
<color name="color_B3FFFFFF">#B3FFFFFF</color>
<color name="version_latest_start_color">#6D7BAF</color>
<color name="version_latest_end_color">#3B4577</color>
<color name="version_upgradeable_start_color">#029DFF</color>
<color name="version_upgradeable_end_color">#0056FF</color>
<color name="version_upgrading_color">#3B4577</color>
<color name="upgrade_dialog_bg_color">#3B4577</color>
</resources>

View File

@@ -24,4 +24,14 @@
<string name="check_system_operation">系统运行</string>
<string name="check_system_shut_down">关机</string>
<string name="check_system_reboot">重启</string>
<!--系统版本-->
<string name="check_system_version">系统版本</string>
<string name="current_system_version">当前版本</string>
<string name="application_upgrade">应用升级</string>
<string name="application_upgrade_confirm">是否将应用升级至最新版本?</string>
<string name="application_upgrade_tips">注意!升级时需退出自动驾驶,支持在人工驾驶时升级,升级时不可中途断电。</string>
<string name="confirm">确认</string>
<string name="cancel">取消</string>
</resources>

View File

@@ -24,7 +24,8 @@ import com.zhidao.support.adas.high.bean.AutopilotStatus;
import com.zhidao.support.adas.high.bean.AutopilotWayArrive;
import com.zhidao.support.adas.high.bean.CarLaneInfo;
import com.zhidao.support.adas.high.bean.CarStateInfo;
import com.zhidao.support.adas.high.bean.IPCUpgradePatchDownloadProgressInfo;
import com.zhidao.support.adas.high.bean.IPCPowerResultInfo;
import com.zhidao.support.adas.high.bean.IPCUpgradePatchDownloadStatusInfo;
import com.zhidao.support.adas.high.bean.IPCUpgradeStateInfo;
import com.zhidao.support.adas.high.bean.LightStatueInfo;
import com.zhidao.support.adas.high.bean.ObstaclesInfo;
@@ -197,13 +198,32 @@ public class OnAdasListenerAdapter implements OnAdasListener {
}
/**
* 工控机电源返回
* @param info 域控制器电源返回结果
*/
@Override
public void onIPCPowerResultInfo(IPCPowerResultInfo info) {
}
/**
* 工控机升级状态
* @param info 工控机升级状态
*/
@Override
public void onUpgradeStateInfo(IPCUpgradeStateInfo info) {
}
/**
* 工控机下载状态
* @param info 工控机升级包下载进度
*/
@Override
public void onUpgradePatchDownload(IPCUpgradePatchDownloadProgressInfo info) {
public void onUpgradePatchDownloadStatus(IPCUpgradePatchDownloadStatusInfo info) {
}
}