[Fix]仅右转过去不处理红灯预警和绿灯通行的逻辑
This commit is contained in:
@@ -45,6 +45,10 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener,
|
||||
override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) {
|
||||
// 到路口100m时回调
|
||||
Logger.d(TAG, "处理路口交通数据:是否是第一次处理:${isFirst}是否进入路口:${isEnter}")
|
||||
if (trafficLightResult.currentRoadIsRight()) {
|
||||
Logger.d(TAG,"当前道路右转,不处理")
|
||||
return
|
||||
}
|
||||
if (isFirst && !isEnter) {
|
||||
getCurrentRoadTrafficLight(trafficLightResult)?.let {
|
||||
handleRedLightWarning(it, trafficLightResult)
|
||||
|
||||
@@ -25,6 +25,10 @@ class RoadArrow {
|
||||
fun isRight(arrowId: Int): Boolean {
|
||||
return arrowId == TURN_RIGHT || arrowId == STRAIGHT_OR_RIGHT || arrowId == TURN_LEFT_OR_RIGHT
|
||||
}
|
||||
|
||||
fun isOnlyRight(arrowId: Int): Boolean {
|
||||
return arrowId == TURN_RIGHT
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,6 +4,10 @@ fun TrafficLightResult.currentRoadTrafficLight(): TrafficLightStatus? {
|
||||
return TrafficLightStatusHelper.getCurrentRoadTrafficLight(this)
|
||||
}
|
||||
|
||||
fun TrafficLightResult.currentRoadIsRight():Boolean{
|
||||
return TrafficLightStatusHelper.currentRoadIsRight(this)
|
||||
}
|
||||
|
||||
/**
|
||||
* 路口红绿灯请求返回数据
|
||||
*/
|
||||
|
||||
@@ -16,5 +16,10 @@ object TrafficLightStatusHelper {
|
||||
return null
|
||||
}
|
||||
|
||||
fun currentRoadIsRight(trafficLightResult: TrafficLightResult) : Boolean{
|
||||
val arrowNo = trafficLightResult.arrowNo
|
||||
return RoadArrow.isOnlyRight(arrowNo)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user