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() } }