From 2414bba87553883b2d73fbadd581fe427bd1282b Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Sun, 26 Jan 2025 11:45:57 +0800 Subject: [PATCH] =?UTF-8?q?[6.10.0]FSM=20Status=E4=B8=8E=E7=BE=8E=E5=8C=96?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E7=9A=84=E7=BB=84=E5=90=88=E5=BD=A2=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bone/status/StartAutoPilotStatusView.kt | 55 +++++++++++++----- .../icon_fsm_demo_mode_error.png | Bin 0 -> 1498 bytes .../layout/view_start_autopilot_status.xml | 13 +++++ .../src/main/res/values/strings.xml | 2 + 4 files changed, 56 insertions(+), 14 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_fsm_demo_mode_error.png 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 0000000000000000000000000000000000000000..f61e1e87c50cf042edf9e756dfa0ce56cbe65ee8 GIT binary patch literal 1498 zcmV<01tt24P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR919-spN1ONa40RR919smFU0Lno(1pojAL`g(JR7efIS4~eGM-Y8Ip9}0R z2uwumL`v`h$(*?O!i8Vp8~KqTr~CpgzWCykk$eb=6k%CejFw%NWp<`#@?P!CvMd-m zQbbF$-P6hs~ZtXXvnWqd8#Qsxa(S=xtUwJgPWTIS2KR zw&~`tEHT2P!vMP{AuhWi${@l@9AXlN2>o=g4=W_zW0ZRYWr5X!$A?#*LX?jQ@F4LW z!s11Y(J)04rKqYU1VKurVw5g4d4tN+7&*!^gL7j{iVQ2A4AEKsm;m>Pjr90Hpb^&4 zg3DIm<1VVQivS&huh5W7d?F)uD0m2C3N=EBAzUy(m=92;BlK~@H3bfi{i61Fh-ajo zVFGlPfypYWaD%{`)an^cxq&L^Qe%Fri3JRI4Ob3$6kqu5oI>^BJjcl;FubM@Ocu#! z#CJ&Jw2eGjM^$Xmv@Zz8$3MqXe-FvkHo|NjK|zzVl~D$tUSQHb#dz&K5PqT{XEgm8 zT=W_7%IF%S zjd#e_-}3XHT=y5s@Qh#2c?ehZ{M`L=M4zb5W!j$5b0?cEc$qiY0s@j&J7|A?gLJTC zWK~cz%#k)S*ah;-X!i~fXW!#$>v#GCw-uhpkYg<=@ZCvCF7x&&lCF%rSB|7Jm3gIU z`=2*7?G6PY0R8Qu2lc#q8*{DpXs<8~OMXIZafnMA&$PYl^2((2T2DvfnI?mMM8let z>PY&B8Ud!7naa20nB?iwKC;e$X78g&2bc`U*geaowb-2nhgQ&{gRb)R8HwpggV%Nv zwuCoFy&h@b^k#Z~YkE2Q{Q9&{3}P83vBjZ4#EHPdpdylYExV_>GRbI<2+It9Tq9G~ zy~YMy_ZpY{HtXwkn$uc`Wtx4@uAyRpIK;)!8(HjC7%a;aW!0wHx`@WxQv&X{CZMKq zY*uaN)N7)7uV0(x(akm{T?Qax2QI}*pxZ-Y1^mfch{(s(xWxqu4(ldyv-z>U;jE9C z`?*@e)e}xw#GGQs7Uw&C5-ZD$8SoW*gGynL-YxBE#&2m-wB$3V@ZD|15~f0|IFww- zDWdyL&eC}CqSr32o@u)Hp??30K#}EBrM8HvO##0`4xePxD8BuJP(aE@FyI znHsIFMq;_5%0WroHb%d(wmYWA^h_>ajLr5g4eg;{aINPa?KKQx5mVT;w#L~AZ(6I! zQ@!BB7J9FqsOX$giwOiLd?)g`YCPC3ugM`!vUN*@Vuhy1CEJrS$T$d!zrs=S?2 z*W}GVh^H#(8}ga + + 请联系管理员 关闭 + FSM美化模式状态下异常标识 +