[6.5.0]当融合红绿灯展示时,其他来源的红绿灯视图隐藏
This commit is contained in:
@@ -169,6 +169,7 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
if(convert(light.state) == TrafficLightEnum.BLACK){
|
||||
//隐藏当前红绿灯以及额外提示框
|
||||
CallerTrafficLightListenerManager.disableTrafficLight()
|
||||
CallerTrafficLightListenerManager.notifyFusionTrafficLightStatus(false)
|
||||
hasFusionLightStatus = false
|
||||
isPrompted = false
|
||||
isTurnGreen = false
|
||||
@@ -182,6 +183,7 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
if ((System.currentTimeMillis() - lastLightTime) > 1000) {
|
||||
//隐藏红绿灯显示
|
||||
hide("倒计时结束隐藏", DataSourceType.TELEMATIC_UNION_V2N)
|
||||
CallerTrafficLightListenerManager.notifyFusionTrafficLightStatus(false)
|
||||
lightCountDownTimer?.cancel()
|
||||
lightCountDownTimer = null
|
||||
hasFusionLightStatus = false
|
||||
@@ -193,6 +195,7 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
override fun onFinish() {
|
||||
//隐藏红绿灯显示
|
||||
hide("倒计时结束隐藏", DataSourceType.TELEMATIC_UNION_V2N)
|
||||
CallerTrafficLightListenerManager.notifyFusionTrafficLightStatus(false)
|
||||
lightCountDownTimer?.cancel()
|
||||
lightCountDownTimer = null
|
||||
hasFusionLightStatus = false
|
||||
@@ -214,6 +217,7 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
//当前灯态倒计时小于5S时,展示额外的提示框
|
||||
onTrafficLightPrompt(convert(light.state),light.duration,convert(light.nextState),light.nextDuration,
|
||||
convert(light.nextTwoState),light.nextTwoDuration)
|
||||
CallerTrafficLightListenerManager.notifyFusionTrafficLightStatus(true)
|
||||
/**
|
||||
* 司机端提示:
|
||||
* 车辆等红灯,在红/黄灯剩余5s且下一灯态为绿灯时,提示“红灯即将变绿”;并在变为绿灯时有提示起步的动效
|
||||
|
||||
@@ -46,6 +46,8 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
||||
private var mLightSourceDivider: View? = null
|
||||
private var mCurrentLightId = TrafficLightEnum.BLACK
|
||||
|
||||
private var fusionTrafficLightState: Boolean = false //当前是否有融合红绿灯展示
|
||||
|
||||
private var trafficLightUser = 0 //0:默认;1:Taxi乘客屏肤色
|
||||
|
||||
init{
|
||||
@@ -138,6 +140,24 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取融合红绿灯展示状态
|
||||
* @param isVisible true展示 false不展示
|
||||
*/
|
||||
override fun notifyFusionTrafficLightStatus(isVisible: Boolean) {
|
||||
super.notifyFusionTrafficLightStatus(isVisible)
|
||||
if(fusionTrafficLightState != isVisible){
|
||||
fusionTrafficLightState = isVisible
|
||||
if(isVisible){
|
||||
UiThreadHandler.post{
|
||||
if(this@SingleTrafficLightView.visibility == View.VISIBLE){
|
||||
this@SingleTrafficLightView.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun disableTrafficLightCountDown() {
|
||||
super.disableTrafficLightCountDown()
|
||||
UiThreadHandler.post {
|
||||
@@ -285,7 +305,9 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
||||
}else{
|
||||
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_red_nor)
|
||||
}
|
||||
this@SingleTrafficLightView.visibility = VISIBLE
|
||||
if(!fusionTrafficLightState){
|
||||
this@SingleTrafficLightView.visibility = VISIBLE
|
||||
}
|
||||
}
|
||||
TrafficLightEnum.YELLOW -> {
|
||||
if(trafficLightUser == 1){
|
||||
@@ -293,7 +315,9 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
||||
}else{
|
||||
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_lightyellow_nor)
|
||||
}
|
||||
this@SingleTrafficLightView.visibility = VISIBLE
|
||||
if(!fusionTrafficLightState){
|
||||
this@SingleTrafficLightView.visibility = VISIBLE
|
||||
}
|
||||
}
|
||||
TrafficLightEnum.GREEN -> {
|
||||
if(trafficLightUser == 1){
|
||||
@@ -301,7 +325,9 @@ class SingleTrafficLightView @JvmOverloads constructor(
|
||||
}else{
|
||||
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_green_nor)
|
||||
}
|
||||
this@SingleTrafficLightView.visibility = VISIBLE
|
||||
if(!fusionTrafficLightState){
|
||||
this@SingleTrafficLightView.visibility = VISIBLE
|
||||
}
|
||||
}
|
||||
else -> this@SingleTrafficLightView.visibility = GONE
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user