From 7d68c7d8adc7df2f7e292d29b5308a4db37777d3 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Fri, 27 Sep 2024 18:17:01 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0]=E7=BA=A2=E7=BB=BF=E7=81=AFUI=E6=94=B9?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/widget/SingleTrafficLightView.kt | 52 ++++++++++++------ .../drawable-xhdpi/icon_traffic_light_ai.png | Bin 0 -> 1810 bytes .../drawable-xhdpi/icon_traffic_light_obu.png | Bin 0 -> 1697 bytes .../icon_traffic_light_vehicle.png | Bin 0 -> 1333 bytes .../res/layout/hmi_view_traffic_light.xml | 17 +++--- .../src/main/res/values/strings.xml | 2 + 6 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_ai.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_obu.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_vehicle.png diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt index 140f923748..56b5d25457 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt @@ -44,7 +44,8 @@ class SingleTrafficLightView @JvmOverloads constructor( private var mTrafficLightClBG: ConstraintLayout ?= null //司机端红绿灯背景 private var mLightTimeTV: TypefaceTextView ?= null //司机端红绿灯倒计时 private var mLightTimeTVP: GradientTextView? = null //乘客屏红绿灯倒计时 - private var mLightSourceTV: TextView? = null //红绿灯来源 + private var mLightSourceTV: TextView? = null //乘客端红绿灯来源 + private var mLightSourceIV: ImageView ?= null //司机端红绿灯来源 private var mLightSourceDivider: View? = null //分割线 private var mCurrentLightId = TrafficLightEnum.BLACK @@ -70,19 +71,20 @@ class SingleTrafficLightView @JvmOverloads constructor( LayoutInflater.from(context).inflate(R.layout.hmi_view_traffic_light, this, true) } mLightIconIV = findViewById(R.id.hmi_traffic_light_iv) - mLightSourceTV = findViewById(R.id.hmi_traffic_light_source) mLightSourceDivider = findViewById(R.id.hmi_traffic_light_divider) if(trafficLightUser==1){ mLightIconBG = findViewById(R.id.hmi_traffic_light_bg) mLightTimeTVP = findViewById(R.id.hmi_traffic_light_time_tv_p) + mLightSourceTV = findViewById(R.id.hmi_traffic_light_source) }else{ mTrafficLightClBG = findViewById(R.id.hmi_traffic_light_cl_bg) mLightTimeTV = findViewById(R.id.hmi_traffic_light_time_tv) + mLightSourceIV = findViewById(R.id.hmi_traffic_light_source_image) } - CallerSkinModeListenerManager.addListener(TAG, this) - CallerTrafficLightListenerManager.addListener(TAG, this) - CallerHmiViewControlListenerManager.addListener(TrafficLightView_TAG, this) + CallerSkinModeListenerManager.addListener(this.hashCode().toString(), this) + CallerTrafficLightListenerManager.addListener(this.hashCode().toString(), this) + CallerHmiViewControlListenerManager.addListener(this.hashCode().toString(), this) if(trafficLightUser==1){ mLightIconBG?.setBackgroundResource(R.drawable.traffic_light_bg_taxi_p) @@ -98,9 +100,9 @@ class SingleTrafficLightView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() - CallerSkinModeListenerManager.removeListener(TAG) - CallerTrafficLightListenerManager.removeListener(TAG) - CallerHmiViewControlListenerManager.removeListener(TrafficLightView_TAG) + CallerSkinModeListenerManager.removeListener(this.hashCode().toString()) + CallerTrafficLightListenerManager.removeListener(this.hashCode().toString()) + CallerHmiViewControlListenerManager.removeListener(this.hashCode().toString()) } override fun onSkinModeChange(skinMode: Int) { @@ -172,7 +174,13 @@ class SingleTrafficLightView @JvmOverloads constructor( context.resources.getDimension(R.dimen.dp_310).toInt() }else{ //司机屏 - //TODO + val lp = this.layoutParams as MarginLayoutParams + lp.width = context.resources.getDimension(R.dimen.dp_280).toInt() + this.layoutParams = lp + mLightSourceIV?.visibility = VISIBLE + mLightSourceDivider!!.visibility = VISIBLE + mLightTimeTV?.visibility = GONE + mTrafficLightClBG?.setBackgroundResource(R.drawable.icon_single_traffic_light_perception_bg) } } } @@ -327,12 +335,14 @@ class SingleTrafficLightView @JvmOverloads constructor( else -> this@SingleTrafficLightView.visibility = GONE } when (lightSource) { - //TODO 司机屏展示来源需要更改文案 DataSourceType.AICLOUD -> { if(trafficLightUser == 1){ mLightSourceTV?.text = context.getString(R.string.light_source_ai_cloud) }else{ - mLightSourceTV?.text = context.getString(R.string.light_source_driver_ai_cloud) + mLightSourceIV?.setImageDrawable(ContextCompat.getDrawable( + context, + R.drawable.icon_traffic_light_ai + )) } } DataSourceType.TELEMATIC_UNION_V2I, @@ -341,16 +351,20 @@ class SingleTrafficLightView @JvmOverloads constructor( if(trafficLightUser == 1){ mLightSourceTV?.text = context.getString(R.string.light_source_perception) }else{ - mLightSourceTV?.text = context.getString(R.string.light_source_driver_perception) + mLightSourceIV?.setImageDrawable(ContextCompat.getDrawable( + context, + R.drawable.icon_traffic_light_vehicle + )) } } DataSourceType.OBU -> { if(trafficLightUser == 1){ mLightSourceTV?.text = context.getString(R.string.light_source_obu) }else{ - mLightSourceTV?.text = context.getString(R.string.light_source_driver_obu) - mLightSourceTV?.textSize = AutoSizeUtils.sp2px(context, 23f).toFloat() - mLightSourceTV?.setLineSpacing(0f, 1.0f) + mLightSourceIV?.setImageDrawable(ContextCompat.getDrawable( + context, + R.drawable.icon_traffic_light_obu + )) } } else -> { @@ -374,7 +388,13 @@ class SingleTrafficLightView @JvmOverloads constructor( context.resources.getDimension(R.dimen.hmi_traffic_light_bus_bg_width).toInt() }else{ //司机屏 - //TODO + val lp = this.layoutParams as MarginLayoutParams + lp.width = context.resources.getDimension(R.dimen.dp_368).toInt() + this.layoutParams = lp + mLightSourceIV?.visibility = VISIBLE + mLightSourceDivider!!.visibility = VISIBLE + mLightTimeTV?.visibility = VISIBLE + mTrafficLightClBG?.setBackgroundResource(R.drawable.icon_single_traffic_light_bg) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_ai.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_ai.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb4ac0f335a4893455c4cd8159b9129ced26e45 GIT binary patch literal 1810 zcmaKtdpy$%AIE=djAl4bh`HssRV2r4HkDh*IBt`>qLk zPl}W%2@%CQvph)=KzPgs_zWq5hXGs7EA4Rqc$Vu)5oRo3Jn zZ6)?j=q5U2?UuN`-JxyF`E74@x;n2q{a>jOZjYJicSp!&+O?9N{c&{op%54U94!`a z=lrnx7#EfB0>AZ&r7(8$3g3U3-Z8u_EV$7kbSaR;_vjYf zw^inzIK)2hQL>$D3qIKKLl1h!Vm+!Ul78VEA6KqF!IL&E* zAgsB_INHn2#_~W@c2137WaZ!hDp7_p^wB?vv5=oVs!H-C!-KaF)TI7BSkj?wL*)Up z*fLt_yiO48IR%?E(n zX(eD=&kIA?w}vaE*o8!gPE)9b?JSaLPe}0p!0hkzY1IDxE3KHb;|_Q;=*3lz0NS8~5vXN(M&}AhCzFiP^3O zP?_vkUsC5=u}qEl11EmfF7}?qYTg4a7Jd?lld7*4Rx1KVvu)ihrGkmEcvOSH<%~0s z1G+zIsWeGeSnNb35~|i$-CIBFfL&iz9MyujW5NvxB)1>bI`(d3ETTaCjNCvh`sw`b zTtp0JhPkcqsSpx3fU#W6GuOpM@#et z+)ADf-ph#aL#UI8x0;R}V>PQWOfqVFI{O}-tKowe7Y7!`~K;{L4{f1I(dbLz03 z1BJ(5O7IA5O1><=0~4kkIT*Oo!wmARKu~Q8u)FfAla_>iNu8NqW?!A`i=KzqxK+npEaMUe*t}rw#r*IjSV*qVNPB z5O#_&iTXjiZTpe>gIfQrJxS`lZMY7+UX6ZFdRBl-U7gU_ZkjNa{=HpKEGr(d0+mzA zRg2?ctgp8e&ZDimB2Q*^@MIhugw@Qx&B`hK_@s~X7+yF=X66`140#LY{ybfh0Y#k{ zg%>5)S6>e+n$c#+R}p=NN2IHcM;Qb?q1u@4)Wi_lCheU8{sRCe7H!zu()!0Z7}6cb zgEW^6&XEZ4q(^9IPXI~tMr0lp-qKVPv*cNEHVUI?P}`U7cuj~4fo#qha_hw$fUZ{a z@8RX%jezTmit0)aMiL@mB28}9r^k#s)~PIXQ2VXivL6GFF*^NBL2!dMLUmA))qhwU zgVI;u!AHkkSk@0~JPR2ty3%<)b?@BLYWWPhegAvgmb@OckeI_C2sNR1Y)LJhzIco% z`4TQsBX|G;SLDkDP0XTK7HG#GvNxABQGI&7Qy`=5Id_P_FDK!Hv7FT#%{=5_-wY^D z98P&icLUa%)}wT<`m+s!hqx3@-5vZ)!atw%|GWA~4s2JValPD;yFf?${6}beSGzjf H;G6#il@L-? literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_obu.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_obu.png new file mode 100644 index 0000000000000000000000000000000000000000..bcfc24dbe19db93b6d5d7f75728f22591bc80606 GIT binary patch literal 1697 zcmZWqX;_kp7RHVFQY_5OL<<462{et&+*(wW7?;vS%^h>W1ea7?M;k}c)GTwMA>1Z+ z%t}X1TU^j_q}=X=qQ196g+p&>?uJ~nIhxgG#ayPHxdr)&~Vjxk` zTK=0Q-%!PZRa8_kkN--R1WDj=qkR4yDx>tQ#8N_y1FMFd>9Ja(>-WNtR%1nE<41wk z=KrZih|e0AE=coG1Q>F$3a?n@Kc)j-b}KxM;$62`;Vg9)uII-KG?=Ls}ni*vi&~`_F0NCFjJ_3;|E;- z4FA*_Y-V~Mw3U&jpMZuM5{e3Z*)XT$MB`24%&>t-txXh+Yub}Yp5$0)vYN?U=9i+sq{sSr`P%|CF+uWup+{4h+b=5oi|$i{s}shf{QFh1>>Xn&-4M*ttLjTXM4GHS)5^$L~mIi`#csk#(4io#O`0(l^JE1 z$8|+p|7_rhYdNiQja`^*&sntl$EZ- zt`Y5KtJ693HU7qGI;v~WeInSIZ?Jl(?y~nEUblvfgy%!wzNQ5mEF7;O(sxFR{7k>x zy3ZW9E-kAcp>k8C$oYDv?`)=@w1jks(or9v1&b?+9KG~svFN!V|1`oY^#@0DJ@GqR zsM~SIM##>ry{Nq_j@kr|nL8EWA zbr1S{`jfpaE_fsHD}=y79Ym|zY?PVVj>c{r9ba34c_T)tVMXi3Ivt(M&Pz6=yOb0D zjRyC@2lul#V($!&=xiS4M<8?Bh2fn&7`vbKD4d~%9ZuUH)vkQI3O1@yDhedJ0FlF>+DLp0~b z4r*_zrf*MZ5ZxRF9rPb6mj+@Ioe6zr1!?Mjmn2Mk;l()b#_WPm!8aQ!##hD}O9S0G zS`%3_(l!r--GnhqFi2QLkYj!R-Eb2zFy<3=wuG{$tam9q1fUVfK5eWkP*OrO-&G|Lj6$sO^~G>1?}y=kb3R g_n!m&QvvYhJ1id*!+~%6e|--Gdly`@ZD7X#0Ik~;*Z=?k literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_vehicle.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_traffic_light_vehicle.png new file mode 100644 index 0000000000000000000000000000000000000000..88ff6c325030ffd051276ae9696a6e68271dee35 GIT binary patch literal 1333 zcmeAS@N?(olHy`uVBq!ia0vp^Hb7j#!3HGPnNH*YQjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPYqNkE&aMC{R9ho{m4Sg}zNd?0 zNCo5DXzvU$LxFeiCtnk*v0u$D+7idw{eW4-zw3BY#l{zo0gfNF$!^cwAy} ztg8E_Y{82oM;CcZUB1rB|J`bj4M(N$;@>^=cw&na^2d!EBMbehU}OX;s*{F)|~w&#@zFFw@6y}xmjYmuJ2=CpB0K0*s-pa zS4!CD%U#)wYWZ8`lkJwWoOyfS@y*@^Pc8NaaolU$#khx=p=!l<&9AyW`=&HpH|$&2 z^u|D$U$m1^j62HVfbPqHgmvGz`3eGL3O1%anG`r{cH-vx``3#aE|xl^Db*Quo-MeP z5h8i;rJ|9qyL0cM1L|2UrNZ1ULHCUBaHTt+zb4JG$?(ptI)TV%TDBS~W-JNv7b~mN znBVm=Gwiv#mhbWv=P6=$_bW9R?(TiC)3PV~{k5meJlA(Rx0^4T(zd8!X_HvFcNMF` z@t^|%Uo|<_2`;>0d*jAg;SUB)XU!kgoYmUqCVY9p6yr0xFUuGzjxnrIy>(Kg2g?w!j1hox|VKaVbtC*!kk1#9NpCqBqpBX}$RNk->` z61KLbb$TlgUCVwVcjlc$X~gSO4Mq!iG?-!30jETU=Wk3;$WQp~X=kW!$#6n1Wfq%a z#vJYgO7FKk_>*N(e~s~hjq>~EH$uM*SA|^6wQ;TW%zc`n@U`Lw-*0`{WRLE0#)238 zCB}9hdl?q&XFtm`!CCQ@>~xU_y_O7*ef}MM^Y4+!J|oQou4fCbypal8@~wb7XRXJE zoPDeJOkXkk5z8mJCubPhYmXZqcGUlVQT>0*i{BhGmsyvkXslEIKB?y5tJkl%1aePI zK5;VTRjwGvDgVi*UVgG%eg3o7*7nJEac-@7Q`sZB-V62aP%xiy;dz*dWktk$gJ8B3 zp3(j>?hCx-9JZ;JY^z|%HM_~R)30emw2RsIP>UK?%l;vD#nR%L*PdsX;zlqN;{%D>nC>Ec^7wZYBtFBIJ$TT_oM#Vw@^P8N1oKGw>v%kGa zQ}PZ|7ua& z#E|_j`OC7eCqCcmEc;UTS7Ot>DgT}ccl`2J$js1k`TPI5N1%tww+-9ZAIJz3DUa^r zbKB=9!X@E1lmF@t!{@pQ?<^~1R61m3FQ?5)wqEPsGmqJ(<;Comy)|O)ix!o%F}h!T qZuj!K|Es7_yk!7#F`=Q({GXvzu(&5pwqX~j$ntdcb6Mw<&;$Un7cV*h literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml index 4bda39f7de..c5e84468e4 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_traffic_light.xml @@ -37,22 +37,19 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:background="#999999" - app:layout_constraintRight_toLeftOf="@id/hmi_traffic_light_source" + app:layout_constraintRight_toLeftOf="@id/hmi_traffic_light_source_image" android:layout_marginEnd="@dimen/dp_20" /> - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml index 8455161f95..1097775dc6 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml @@ -212,4 +212,6 @@ 消息盒子吐司图标 + 红绿灯信号来源 +