[6.5.0]红绿灯提示优化

This commit is contained in:
xuxinchao
2024-07-16 19:46:22 +08:00
parent e2588c815d
commit 9ef829516d
2 changed files with 12 additions and 3 deletions

View File

@@ -225,7 +225,9 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
* 车辆行驶中若判断当前绿灯自车基于当前速度需提速10%以上才可通过时,提示“蘑菇提醒您及时减速,避免路口急刹”
* 车辆行驶中若判断当前红灯自车基于当前速度需降低60%以上才可通过时,提示“蘑菇提醒您及时减速,避免路口急刹”
*/
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) && !isTurnGreen){
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)
&& AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode
) && !isTurnGreen){
//车辆等红灯,在红/黄灯剩余5s且下一灯态为绿灯时提示“红灯即将变绿”并在变为绿灯时有提示起步的动效
if((light.state == FusionTrafficLightOuterClass.FusionLightState.STATE_YELLOW_FUSION || light.state ==FusionTrafficLightOuterClass.FusionLightState.STATE_RED_FUSION)
&& light.duration < 5 && light.nextState == FusionTrafficLightOuterClass.FusionLightState.STATE_GREEN_FUSION){
@@ -235,7 +237,8 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
}
}
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) && !isPrompted){
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)
&& AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) && !isPrompted){
//车辆行驶中若判断当前绿灯自车无法通过在绿灯剩余5s且下一灯态为红/黄灯时,提示“蘑菇提醒您及时减速,避免路口急刹”
if(light.state == FusionTrafficLightOuterClass.FusionLightState.STATE_GREEN_FUSION && light.duration < 5){
CallerMapRoadListenerManager.getStopLineDistance()?.let { dis->

View File

@@ -60,6 +60,12 @@ class TrafficLightPromptView @JvmOverloads constructor(
}
val endTime = System.nanoTime()
val internal = TimeUnit.NANOSECONDS.toMillis(endTime - startTime)
if(internal > 700){
UiThreadHandler.post {
tvTrafficNum?.text = "0."
tvTrafficNumDecimal?.text = "00"
}
}
if(internal>1500){
UiThreadHandler.post{
this@TrafficLightPromptView.visibility = GONE
@@ -159,7 +165,7 @@ class TrafficLightPromptView @JvmOverloads constructor(
tvTrafficNumDecimal?.text = (currentDuration*100 - currentDuration.toInt()*100).toInt().toString()
}else{
tvTrafficNum?.text = "0."
tvTrafficNumDecimal?.text = "0"
tvTrafficNumDecimal?.text = "00"
this@TrafficLightPromptView.visibility = View.GONE
}
when(nextState){