fix bug of vip

This commit is contained in:
zhongchao
2021-11-16 18:47:49 +08:00
parent 64aa3fe35b
commit ca1426d2f8

View File

@@ -38,6 +38,7 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, IMoGoTrafficLightListe
private var turnLightFirst = false
private var turnLightEnd = true
private var result: TrafficLightResult? = null
private var vip: Boolean = false
fun initServer(context: Context) {
mContext = context
@@ -53,9 +54,12 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, IMoGoTrafficLightListe
}
//todo 后续改成接口调用查询,防止清除缓存造成状态不统一
if (vipSetTime > 0 && System.currentTimeMillis() - vipSetTime < 0) { //未超时需要设置VIP
vip = true
CallerHmiManager.vipIdentification(true)
CallTrafficLightListenerManager.registerTrafficLightListener(TAG, this)
} else {
vip = false
CallerHmiManager.vipIdentification(false)
SPUtils.getInstance().remove("vip") //超时
}
}
@@ -69,11 +73,13 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, IMoGoTrafficLightListe
vipMessage?.let {
when (it.vipType) {
0 -> { //取消VIP
vip = false
SPUtils.getInstance().remove("vip")
CallerHmiManager.vipIdentification(false)
CallTrafficLightListenerManager.unRegisterTrafficLightListener(TAG)
}
1 -> { //设置VIP
vip = true
SPUtils.getInstance().put("vip", vipMessage.timeOut)
CallerHmiManager.vipIdentification(true)
CallTrafficLightListenerManager.registerTrafficLightListener(TAG, this)
@@ -83,11 +89,13 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, IMoGoTrafficLightListe
}
override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) {
if (!vip) {
return
}
if (trafficLightResult.currentRoadTrafficLight() == null) {
Logger.d(TAG, "vip 获取到灯态,但没找到对应车道数据 result : $trafficLightResult")
return
}
if (!turnLightFirst) {
// 首次判断,变灯
turnLightFirst = true