fix bug of handle in trafficlight
This commit is contained in:
@@ -86,17 +86,30 @@ class MogoTrafficLightManager : IMogoCarLocationChangedListener2 {
|
||||
//stop loop traffic light
|
||||
trafficLightNetWorkModel.cancelRequestTrafficLight()
|
||||
//未查到红绿灯,加入2秒延时请求路口ID
|
||||
mThreadHandler?.sendEmptyMessageDelayed(
|
||||
MSG_WHAT_LOOP_SEARCH_CROSS_ROAD,
|
||||
2_000L
|
||||
)
|
||||
mThreadHandler?.let { handler ->
|
||||
if (handler.hasMessages(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD)) {
|
||||
handler.removeMessages(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD)
|
||||
mThreadHandler?.sendEmptyMessageDelayed(
|
||||
MSG_WHAT_LOOP_SEARCH_CROSS_ROAD,
|
||||
2_000L
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}, {
|
||||
//stop loop traffic light
|
||||
trafficLightNetWorkModel.cancelRequestTrafficLight()
|
||||
//刚经过红绿灯,加入3秒延时请求路口ID
|
||||
mThreadHandler?.sendEmptyMessageDelayed(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD, 3_000L)
|
||||
mThreadHandler?.let {
|
||||
if (it.hasMessages(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD)) {
|
||||
it.removeMessages(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD)
|
||||
mThreadHandler?.sendEmptyMessageDelayed(
|
||||
MSG_WHAT_LOOP_SEARCH_CROSS_ROAD,
|
||||
3_000L
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
mThreadHandler?.sendEmptyMessageDelayed(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD, 5_000L)
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ class TrafficLightThreadHandler : Handler {
|
||||
when (msg.what) {
|
||||
MSG_WHAT_LOOP_SEARCH_CROSS_ROAD -> {
|
||||
//handler轮询,后续从地图处获取到车道线(前提获取车道线没有异步调用),来优化轮询时长
|
||||
Logger.d(TrafficLightConst.MODULE_NAME,"MSG_WHAT_LOOP_SEARCH_CROSS_ROAD")
|
||||
sendEmptyMessageDelayed(MSG_WHAT_LOOP_SEARCH_CROSS_ROAD,1_000L)
|
||||
loopSearchCrossRoad?.invoke()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user