From 55f0a5d2a652502950af43e443e1f0ff31138bfb Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Feb 2023 17:49:36 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=E9=A1=B6=E8=A7=86?= =?UTF-8?q?=E8=A7=92=E9=80=BB=E8=BE=91=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/vehicle/TurnLightViewStatus.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt index 308278c1e5..52e50fcb0f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt @@ -41,6 +41,9 @@ open class TurnLightViewStatus @JvmOverloads constructor( private val visible: Boolean + @Volatile + private var isVisualAngleChanged: Boolean = false + init { val typedArray = context.obtainStyledAttributes(attrs, R.styleable.TurnLightView) val dayLight = typedArray.getBoolean(R.styleable.TurnLightView_day_light_mode, false) @@ -90,7 +93,10 @@ open class TurnLightViewStatus @JvmOverloads constructor( //根据左右进行显示和隐藏,实际要判断每个来的时间和频度 when (directionLight) { Chassis.LightSwitch.LIGHT_LEFT -> { //左转向 - CallerVisualAngleManager.changeAngle(Turning(true)) + if (!isVisualAngleChanged) { + isVisualAngleChanged = true + CallerVisualAngleManager.changeAngle(Turning(true)) + } showNormalAnimation() left_select_image.visibility = View.VISIBLE right_select_image.visibility = View.GONE @@ -98,7 +104,10 @@ open class TurnLightViewStatus @JvmOverloads constructor( setAnimation(left_select_image) } Chassis.LightSwitch.LIGHT_RIGHT -> { //右转向 - CallerVisualAngleManager.changeAngle(Turning(true)) + if (!isVisualAngleChanged) { + isVisualAngleChanged = true + CallerVisualAngleManager.changeAngle(Turning(true)) + } showNormalAnimation() left_select_image.visibility = View.GONE right_select_image.visibility = View.VISIBLE @@ -106,7 +115,10 @@ open class TurnLightViewStatus @JvmOverloads constructor( setAnimation(right_select_image) } else -> { //消失 - CallerVisualAngleManager.changeAngle(Turning(false)) + if (isVisualAngleChanged) { + isVisualAngleChanged = false + CallerVisualAngleManager.changeAngle(Turning(false)) + } animationDisappear() } }