[Fix]闯红灯预警判断逻辑

This commit is contained in:
chenfufeng
2021-11-27 10:48:55 +08:00
parent 0fff5ff138
commit d57a6d9188

View File

@@ -20,7 +20,10 @@ import kotlin.math.floor
class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener {
private var vip: Boolean = false
private var isFirst = false
// 是否第一次进入道路100m处
private var isFirst = true
// 是否已进入到路口(停止线处)
private var isEnter = false
companion object {
@@ -32,8 +35,8 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener {
}
override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) {
Logger.d(TAG, "处理路口交通数据。isFirst为${isFirst}")
if (isFirst) {
Logger.d(TAG, "处理路口交通数据:是否是第一次处理:${isFirst}是否进入路口${isEnter}")
if (isFirst && !isEnter) {
getCurrentRoadTrafficLight(trafficLightResult)?.let {
handleRedLightWarning(it, trafficLightResult.flashYellow)
}
@@ -41,9 +44,12 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener {
}
}
override fun onEnterCrossRoad() {
Logger.d(TAG, "进入路口")
isFirst = true
override fun onEnterCrossRoad(enter: Boolean) {
Logger.d(TAG, "回调是否进入路口:$enter")
isEnter = enter
if (enter) {
isFirst = true
}
}
override fun onVipSet(status: Boolean) {