fix bug of vip change light
This commit is contained in:
@@ -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<VipMessage>, IMoGoTrafficLightListener,
|
||||
IMogoCarLocationChangedListener2 {
|
||||
@@ -33,7 +35,7 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, 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<VipMessage>, 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<VipMessage>, 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<VipMessage>, IMoGoTrafficLightListe
|
||||
object : IMoGoWarningStatusListener {
|
||||
override fun onShow() {}
|
||||
override fun onDismiss() {
|
||||
turnLightFirst = false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user