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美化模式状态下异常标识 +