diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt
index 551dfe6341..8fa7ff297c 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/status/StartAutoPilotStatusView.kt
@@ -18,6 +18,7 @@ import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
+import com.mogo.eagle.core.utilcode.util.SoundPoolUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.zhjt.mogo_core_function_devatools.status.StatusManager
import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus
@@ -30,6 +31,7 @@ import com.zhjt.mogo_core_function_devatools.status.entity.IAutopilotBeforeLaunc
import com.zhjt.mogo_core_function_devatools.status.entity.Status
import com.zhjt.mogo_core_function_devatools.status.entity.SteerStatus
import kotlinx.android.synthetic.main.view_start_autopilot_status.view.fSMStatusLayout
+import kotlinx.android.synthetic.main.view_start_autopilot_status.view.ivFsmDemoModeError
import kotlinx.android.synthetic.main.view_start_autopilot_status.view.iv_accelerator
import kotlinx.android.synthetic.main.view_start_autopilot_status.view.iv_brake
import kotlinx.android.synthetic.main.view_start_autopilot_status.view.iv_double_flash
@@ -68,7 +70,8 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
}
private val hasFSM by lazy { AtomicBoolean(true) }
-
+ //是否进行了语音提示(当开启美化模式后,若fsm输出自车处于安全停车状态中提示音提示一次)
+ private var isAlreadyPrompted: Boolean = false
init {
LayoutInflater.from(context).inflate(R.layout.view_start_autopilot_status, this, true)
@@ -87,9 +90,11 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
CallerLogger.i(TAG, "changeStatusContainer 切换展示,hasFSM=$hasFSMModule")
if (hasFSMModule) {
fSMStatusLayout?.visibility = View.VISIBLE
+ ivFsmDemoModeError?.visibility = View.GONE
withoutFSMStatusLayout?.visibility = View.GONE
} else {
fSMStatusLayout?.visibility = View.GONE
+ ivFsmDemoModeError?.visibility = View.GONE
withoutFSMStatusLayout?.visibility = View.VISIBLE
}
}
@@ -104,11 +109,6 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
}
hasFSM.set(newHasFSM)
- if (FunctionBuildConfig.isDemoMode && status.isException()) {
- // 美化模式下如果是异常的,修改成正常的
- status.state = FSMStateCode.ExistNormal
- }
-
when (status.state) {
FSMStateCode.UnKnown -> {
fSMStatusLayout?.setOnClickListener(null)
@@ -118,6 +118,8 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
R.drawable.icon_fsm_status_bg_unknown
)
)
+ ivFsmDemoModeError?.visibility = View.GONE
+ isAlreadyPrompted = false
}
FSMStateCode.NotExist -> {
@@ -128,6 +130,8 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
R.drawable.icon_fsm_status_bg_unknown
)
)
+ ivFsmDemoModeError?.visibility = View.GONE
+ isAlreadyPrompted = false
}
FSMStateCode.ExistNormal -> {
@@ -138,18 +142,41 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
R.drawable.icon_fsm_status_bg_normal
)
)
+ ivFsmDemoModeError?.visibility = View.GONE
+ isAlreadyPrompted = false
}
FSMStateCode.ExistError -> {
- fSMStatusLayout?.onClick {
- CallerHmiManager.showFSMExceptionStatusWindow(status.descList)
- }
- fSMStatusLayout?.setImageDrawable(
- ContextCompat.getDrawable(
- context,
- R.drawable.icon_fsm_status_bg_error
+ if(FunctionBuildConfig.isDemoMode){
+ fSMStatusLayout?.setOnClickListener(null)
+ fSMStatusLayout?.setImageDrawable(
+ ContextCompat.getDrawable(
+ context,
+ R.drawable.icon_fsm_status_bg_normal
+ )
)
- )
+ ivFsmDemoModeError?.visibility = View.VISIBLE
+ if(!isAlreadyPrompted){
+ try {
+ SoundPoolUtils.getSoundPool().playSoundWithRedId(context,R.raw.weak_net_tips)
+ }catch (e: Exception){
+ e.printStackTrace()
+ }
+ isAlreadyPrompted = true
+ }
+ }else{
+ fSMStatusLayout?.onClick {
+ CallerHmiManager.showFSMExceptionStatusWindow(status.descList)
+ }
+ fSMStatusLayout?.setImageDrawable(
+ ContextCompat.getDrawable(
+ context,
+ R.drawable.icon_fsm_status_bg_error
+ )
+ )
+ ivFsmDemoModeError?.visibility = View.GONE
+ isAlreadyPrompted = false
+ }
}
}
notifyStatus(status.isException())
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_fsm_demo_mode_error.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_fsm_demo_mode_error.png
new file mode 100644
index 0000000000..f61e1e87c5
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_fsm_demo_mode_error.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_start_autopilot_status.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_start_autopilot_status.xml
index 1c4d4d1cb3..d1409d03d9 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_start_autopilot_status.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_start_autopilot_status.xml
@@ -15,6 +15,19 @@
android:visibility="visible"
tools:visibility="visible"/>
+
+
请联系管理员
关闭
+ FSM美化模式状态下异常标识
+