From 2d167dfe69ca238b2df5c999c60d3181bbb681ea Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 16 Nov 2021 16:01:36 +0800 Subject: [PATCH 1/2] fix bug of vip change light --- .../eagle/core/function/v2x/vip/VipCarManager.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt index 8851612621..a29c2c1f3c 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt @@ -6,6 +6,7 @@ import com.mogo.cloud.commons.utils.CoordinateUtils import com.mogo.eagle.core.data.map.MogoLatLng import com.mogo.eagle.core.data.trafficlight.TrafficLightResult import com.mogo.eagle.core.data.trafficlight.currentRoadTrafficLight +import com.mogo.eagle.core.data.trafficlight.isRed import com.mogo.eagle.core.data.trafficlight.turnRedAtOnce import com.mogo.eagle.core.data.v2x.VipMessage import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener @@ -19,6 +20,7 @@ import com.mogo.module.common.MogoApisHandler import com.mogo.module.common.enums.EventTypeEnum import com.mogo.service.cloud.socket.IMogoOnMessageListener import com.mogo.utils.logger.Logger +import kotlin.math.abs class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListener, IMogoCarLocationChangedListener2 { @@ -33,7 +35,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe } private var mContext: Context? = null - private var mLocation:Location? = null + private var mLocation: Location? = null private var turnLightFirst = false private var turnLightEnd = true private var result: TrafficLightResult? = null @@ -82,7 +84,11 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe } override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) { - if (!turnLightFirst) { + if (trafficLightResult.currentRoadTrafficLight() == null) { + return + } + + if (!turnLightFirst && trafficLightResult.currentRoadTrafficLight()!!.isRed()) { // 首次判断,变灯 turnLightFirst = true turnLight() @@ -92,7 +98,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe this.result = trafficLightResult //如果上次结果和本次灯态结果变化比较大,则已变灯,控制HMI展示弹窗 - if (lastResult!!.remain - currentResult!!.remain > 3) { + if (abs(lastResult!!.remain - currentResult!!.remain) > 3) { CallerHmiManager.showWarningV2X(EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType.toInt(), EventTypeEnum.TYPE_VIP_IDENTIFICATION.content, EventTypeEnum.TYPE_VIP_IDENTIFICATION.tts, @@ -100,6 +106,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe object : IMoGoWarningStatusListener { override fun onShow() {} override fun onDismiss() { + turnLightFirst = false } }) } From 9f032df73f29e4178c6e58bbec4841d2fb29a9a3 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 16 Nov 2021 16:06:07 +0800 Subject: [PATCH 2/2] fix note code --- .../java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt index a29c2c1f3c..679b681074 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt @@ -107,6 +107,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe override fun onShow() {} override fun onDismiss() { turnLightFirst = false + turnLightEnd = true } }) }