diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt index e33751bd52..f93fdb1125 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/TrafficLightDispatcher.kt @@ -4,6 +4,7 @@ import android.content.Context import android.os.CountDownTimer import android.os.Handler import android.util.Log +import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightStatus import com.mogo.eagle.core.data.biz.trafficlight.currentRoadTrafficLight @@ -172,6 +173,26 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight onTrafficLightPrompt(convert(light.state),light.duration,convert(light.nextState),light.nextDuration, convert(light.nextTwoState),light.nextTwoDuration) } + /** + * 司机端提示: + * 车辆等红灯,在红/黄灯剩余5s且下一灯态为绿灯时,提示“红灯即将变绿”;并在变为绿灯时有提示起步的动效 + * 车辆行驶中,若判断当前绿灯自车无法通过,在绿灯剩余5s且下一灯态为红/黄灯时,提示“蘑菇提醒您及时减速,避免路口急刹” + * 车辆行驶中,若判断当前绿灯自车基于当前速度需提速10%以上才可通过时,提示“蘑菇提醒您及时减速,避免路口急刹” + * 车辆行驶中,若判断当前红灯自车基于当前速度需降低60%以上才可通过时,提示“蘑菇提醒您及时减速,避免路口急刹” + */ + if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + 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){ + //语音播放 + AIAssist.getInstance(mContext).speakTTSVoice("红灯即将变绿") + } + //TODO 需要知道当前车速和当前位置距离路口的距离 +// if(light.state == FusionTrafficLightOuterClass.FusionLightState.STATE_GREEN_FUSION && light.duration < 5){ +// +// } + } + + } } } @@ -280,7 +301,6 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight if (filterTelematicUnion(sourceType)) { return } - Log.i("xuxinchao","hide msg="+msg+" sourceType="+sourceType) CallerTrafficLightListenerManager.disableTrafficLight() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt index 77a32e388a..f907296d4a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt @@ -7,6 +7,7 @@ import android.view.View import android.widget.ImageView import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat +import com.mogo.eagle.core.data.autopilot.AutopilotSummaryInfo import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.enums.TrafficLightEnum import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener @@ -101,6 +102,8 @@ class FusionTrafficLightView @JvmOverloads constructor( //如果当前红绿灯视图为隐藏状态则设置为显示状态 if(this@FusionTrafficLightView.visibility == View.GONE){ this@FusionTrafficLightView.visibility = View.VISIBLE + AutopilotSummaryInfo.intersectionServicesNum++ + AutopilotSummaryInfo.lightServicesNum++ //首次展示,需要将当前、下一、下二灯态的时间占比绘制出来,只绘制一次 val proportionList = ArrayList(3) proportionList.add(0)