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 17fb61ca52..d3e39e57ee 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 @@ -55,6 +55,8 @@ class SingleTrafficLightView @JvmOverloads constructor( private var trafficLightUser = 0 //0:默认;1:Taxi乘客屏肤色 + private var isShowLight: Boolean = false + init{ context?.let { val typedArray = it.obtainStyledAttributes(attrs, R.styleable.SingleTrafficLightView) @@ -120,6 +122,7 @@ class SingleTrafficLightView @JvmOverloads constructor( super.showTrafficLight(checkLightId, lightSource) UiThreadHandler.post { CallerLogger.d("$M_HMI$TAG","update checkLightId:$checkLightId, lightSource: $lightSource") + isShowLight = true mCurrentLightId = checkLightId updateTrafficLightIcon(checkLightId, lightSource) } @@ -133,7 +136,6 @@ class SingleTrafficLightView @JvmOverloads constructor( UiThreadHandler.post { mCurrentLightId = TrafficLightEnum.BLACK this@SingleTrafficLightView.visibility = GONE - CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.LIGHT) } } @@ -402,4 +404,11 @@ class SingleTrafficLightView @JvmOverloads constructor( } } + override fun onVisibilityChanged(changedView: View, visibility: Int) { + super.onVisibilityChanged(changedView, visibility) + if(visibility == View.VISIBLE && isShowLight){ + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.LIGHT) + } + } + } \ No newline at end of file