fix bug of vip
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user