diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt
index e5c39aa3f6..8602582989 100644
--- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt
+++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt
@@ -81,6 +81,7 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{
private lateinit var ivTakeOverRecover: ImageView //恢复自驾
private lateinit var ivTakeOverRequest: ImageView //接管请求
private lateinit var ivEmergencyStop: ImageView //应急停车
+ private lateinit var ivCancelAutopilot: ImageView //退出自驾
init {
initFloatWindow()
@@ -133,6 +134,8 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{
ivTakeOverRecover = mFloatLayout.findViewById(R.id.ivTakeOverRecover)
ivTakeOverRequest = mFloatLayout.findViewById(R.id.ivTakeOverRequest)
ivEmergencyStop = mFloatLayout.findViewById(R.id.ivEmergencyStop)
+ ivCancelAutopilot = mFloatLayout.findViewById(R.id.ivCancelAutopilot)
+
//关闭按钮
ivCloseExam.setOnClickListener {
clickListener?.closeWindow()
@@ -275,6 +278,11 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{
ivEmergencyStop.setOnClickListener {
CallerAutoPilotControlManager.sendPlanningPullOverCmd(3)
}
+ //退出自驾
+ ivCancelAutopilot.setOnClickListener {
+ //取消自动驾驶
+ CallerAutoPilotControlManager.cancelAutoPilot()
+ }
//主驾
tbSeatMainDriver.isChecked = mainDriverStatus
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_cancel_autopilot_selector.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_cancel_autopilot_selector.xml
new file mode 100644
index 0000000000..8d24b7c0ee
--- /dev/null
+++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_cancel_autopilot_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_cancel_autopilot_normal.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_cancel_autopilot_normal.png
new file mode 100644
index 0000000000..305fb4d594
Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_cancel_autopilot_normal.png differ
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_cancel_autopilot_pressed.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_cancel_autopilot_pressed.png
new file mode 100644
index 0000000000..81209dc758
Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_cancel_autopilot_pressed.png differ
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_normal.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_normal.png
index 70ce45ab7e..9a21f3b2e4 100644
Binary files a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_normal.png and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_normal.png differ
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_pressed.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_pressed.png
index 8e1c977419..11b5654ce7 100644
Binary files a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_pressed.png and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/icon_emergency_stop_pressed.png differ
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml
index 0e52f402fc..8dcc6cbdad 100644
--- a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml
+++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml
@@ -490,14 +490,26 @@
+
+
diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml
index 42e32d54ed..142f5d71c3 100644
--- a/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml
+++ b/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml
@@ -36,6 +36,7 @@
接管请求
恢复自驾
应急停车
+ 退出自驾
关闭考试车辆控制
识别到车辆故障(%ds)
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
index e168fd8aac..b99a477056 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
@@ -122,6 +122,7 @@ import com.mogo.eagle.core.utilcode.util.DeviceUtils
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.KeyboardUtils
import com.mogo.eagle.core.utilcode.util.NetworkUtils
+import com.mogo.eagle.core.utilcode.util.SPUtils
import com.mogo.eagle.core.utilcode.util.ScreenUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
@@ -609,11 +610,13 @@ internal class DebugSettingView @JvmOverloads constructor(
//动态配置鹰眼显示MAP版本
if(AppConfigInfo.mapShowName.isEmpty()){
AppConfigInfo.mapShowName = CallerAutoPilotStatusListenerManager.getDockerVersion()+""
+ SPUtils.getInstance().put("mapShowName", AppConfigInfo.mapShowName)
}
etMapShowName.setText(AppConfigInfo.mapShowName)
etMapShowName.text?.let { etMapShowName.setSelection(it.length) }
btnEnsureMap.setOnClickListener {
AppConfigInfo.mapShowName = etMapShowName.text.toString()
+ SPUtils.getInstance().put("mapShowName", AppConfigInfo.mapShowName)
tvIpcVersionInfo.text = "MAP:${AppConfigInfo.mapShowName}"
tvIpcVersionInfoKey.text = "MAP:${AppConfigInfo.mapShowName}"
CallerMapShowNameManager.invokeMapShowName(AppConfigInfo.mapShowName)
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt
index 9d47139a2a..b839e51fe3 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt
@@ -2,6 +2,7 @@ package com.mogo.eagle.core.data.app
import android.os.Build
import com.mogo.eagle.core.utilcode.util.AppUtils
+import com.mogo.eagle.core.utilcode.util.SPUtils
/**
* @author xiaoyuzhou
@@ -64,7 +65,7 @@ object AppConfigInfo {
var slamMapVersion: String =""
//鹰眼可动态展示的MAP版本
@Volatile
- var mapShowName: String = ""
+ var mapShowName: String = SPUtils.getInstance().getString("mapShowName", "")
//业务状态信息
/**