[2.13.2]fix红绿灯OBU来源和AI云来源隐藏、展示灯逻辑导致的闪烁

This commit is contained in:
xuxinchao
2023-01-13 18:27:14 +08:00
parent ee0e87e7be
commit 7c8bcd1e09
2 changed files with 19 additions and 7 deletions

View File

@@ -98,10 +98,10 @@ class MogoTrafficLightManager : IMogoCarLocationChangedListener2 {
2_000L
)
}
if (TrafficLightHMIManager.INSTANCE.isWarningTrafficLightShow()) {
TrafficLightHMIManager.INSTANCE.hideTrafficLight()
CallerTrafficLightListenerManager.resetTrafficLightData()
}
// if (TrafficLightHMIManager.INSTANCE.isWarningTrafficLightShow()) {
// TrafficLightHMIManager.INSTANCE.hideTrafficLight()
// CallerTrafficLightListenerManager.resetTrafficLightData()
// }
CallerTrafficLightListenerManager.invokeTrafficRequestError()
})
@@ -137,8 +137,8 @@ class MogoTrafficLightManager : IMogoCarLocationChangedListener2 {
trafficLightResult = null
firstLoopCrossRoad = true
mThreadHandler?.sendEmptyMessage(MSG_WHAT_STOP_SEARCH_TRAFFIC_LIGHT)
TrafficLightHMIManager.INSTANCE.hideTrafficLight()
CallerTrafficLightListenerManager.resetTrafficLightData()
// TrafficLightHMIManager.INSTANCE.hideTrafficLight()
// CallerTrafficLightListenerManager.resetTrafficLightData()
}
}
}

View File

@@ -114,7 +114,8 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
}
/**
* 车辆进入路口
* 车辆进入路口回调
* @param enter true:进入路口false:离开路口
*/
override fun onEnterCrossRoad(enter: Boolean) {
if (!enter) {
@@ -122,6 +123,11 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
hasAiLightStatus = false
hasObuLightStatus = false
}, 5000)
CallerTrafficLightListenerManager.resetTrafficLightData()
//如果没有OBU灯态则进行隐藏如果有OBU灯态则交由OBU管理
if(!hasObuLightStatus){
TrafficLightHMIManager.INSTANCE.hideTrafficLight()
}
}
}
@@ -130,6 +136,12 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
*/
override fun onTrafficRequestError() {
hasAiLightStatus = false
CallerTrafficLightListenerManager.resetTrafficLightData()
if(!hasObuLightStatus){
if (TrafficLightHMIManager.INSTANCE.isWarningTrafficLightShow()) {
TrafficLightHMIManager.INSTANCE.hideTrafficLight()
}
}
}
/**