From 6313be710e4edae2370c2509b3d128e5ccdb3f48 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Thu, 5 Dec 2024 17:53:29 +0800 Subject: [PATCH] [6.8.2] change the voice --- .../biz/v2x/busstation/PassBusStationEventManager.kt | 5 +---- .../biz/v2x/redlightwarning/RedLightWarningManager.kt | 4 ++-- .../mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt | 3 ++- .../eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt | 9 +++++---- .../v2n/scenario/scene/road/V2XRoadEventScenario.java | 3 ++- .../scenario/scene/warning/V2XFrontWarningScenario.java | 3 ++- .../com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt | 2 +- .../mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt | 2 +- .../mogo/eagle/core/function/view/RoadCrossRoamView.kt | 2 +- .../com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt | 8 ++++---- .../core/function/api/hmi/warning/IMoGoHmiProvider.kt | 2 +- .../eagle/core/function/call/hmi/CallerHmiManager.kt | 5 ++++- 12 files changed, 26 insertions(+), 22 deletions(-) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt index 9d05d7436b..4efb757a18 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt @@ -180,10 +180,7 @@ object PassBusStationEventManager : IMoGoChassisLocationWGS84Listener { it.notifyDistance ), isDriverScreen, - String.format( - EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ROAD_BUS_STATION.poiType), - it.notifyDistance - ), + EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ROAD_BUS_STATION.poiType), UriUtils.res2Uri( EventTypeEnumNew.getPoiTypeBg( EventTypeEnumNew.TYPE_USECASE_ROAD_BUS_STATION.poiType, diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt index b091bd6e04..5283eb0ce0 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt @@ -212,7 +212,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, ) ) ) - CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.content, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.tts, isFromObu = false) + CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.content, EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.tts) } } @@ -242,7 +242,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, ) ) ) - CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, content, tts, isFromObu = false) + CallerHmiManager.warningV2X(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, content, tts) } } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt index 1ce090ad8e..97c3bae91d 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/V2XEventManager.kt @@ -69,6 +69,7 @@ import mogo.v2x.MogoV2X import java.nio.charset.Charset import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.CopyOnWriteArraySet +import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicBoolean object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback, @@ -250,7 +251,7 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback, tts, null, ALERT_WARNING_TOP, - isFromObu = false + TimeUnit.SECONDS.toMillis(5) ) } } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index 6f0e2e5696..ce3683c694 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -159,8 +159,9 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } } } - val content = "发现前方${distance.toInt()}米${ if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "车道施工" else "车道事故" }" - val tts = "$content, ${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您小心行人及来车" + val contentType = if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "道路施工" else "道路事故" + val content = "前方${distance.toInt()}米有$contentType" + val tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方$contentType, 提醒您注意行人及来车" V2XBizTrace.onAck(TAG, "绘制poi事件:$poiType") saveMsgBox( MsgBoxBean( @@ -237,7 +238,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } // 弹事件框 val alertContent = String.format(EventTypeEnumNew.getAlarmContent(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()) - val alertTts = String.format(EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()) + val alertTts = EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType) CallerRoadV2NEventWindowListenerManager.showLiveVideo( newEventId, event.timestamp, @@ -363,7 +364,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } // 弹事件框 val alertContent = String.format(EventTypeEnumNew.getAlarmContent(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType), distance.toInt()) - val alertTts = String.format(EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType), distance.toInt()) + val alertTts = EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType) CallerRoadV2NEventWindowListenerManager.showLiveVideo( data.eventId, data.timestamp, diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java index 72b15cf6f7..815ef4eac3 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventScenario.java @@ -1,5 +1,6 @@ package com.mogo.eagle.function.biz.v2x.v2n.scenario.scene.road; +import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.enums.CommunicationType; import com.mogo.eagle.core.data.enums.DataSourceType; import com.mogo.eagle.core.data.enums.EventTypeEnumNew; @@ -133,7 +134,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario imp ); CallerHmiManager.INSTANCE.warningV2X(poiType, alarmText, ttsText, this,WarningDirectionEnum.ALERT_WARNING_TOP, - TimeUnit.SECONDS.toMillis(5), false); + TimeUnit.SECONDS.toMillis(5), AIAssist.LEVEL2, false); //消息埋点 V2XEventAnalyticsManager.INSTANCE.triggerV2XEvent(poiType,alarmText,ttsText, DataSourceType.AICLOUD, CommunicationType.V2N); } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java index 6de3fb5893..f64e97698b 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/warning/V2XFrontWarningScenario.java @@ -9,6 +9,7 @@ import android.text.style.ForegroundColorSpan; import android.util.Log; import androidx.annotation.Nullable; +import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.enums.CommunicationType; import com.mogo.eagle.core.data.enums.DataSourceType; import com.mogo.eagle.core.data.enums.EventTypeEnumNew; @@ -87,7 +88,7 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoChas CallerHmiManager.INSTANCE.warningV2X(v2xType + "", getAlertContentForFrontWarning(mMarkerEntity), mMarkerEntity.getTts(), this,getDirection(), - TimeUnit.SECONDS.toMillis(5), false); + TimeUnit.SECONDS.toMillis(5), AIAssist.LEVEL2, false); //消息埋点 V2XEventAnalyticsManager.INSTANCE.triggerV2XEvent(v2xType,getAlertContentForFrontWarning(mMarkerEntity).toString(), mMarkerEntity.getTts(), DataSourceType.AICLOUD, CommunicationType.V2N); diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt index 9ede3299a7..80077b8cce 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/vip/VipCarManager.kt @@ -271,7 +271,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe CallerMsgBoxManager.saveMsgBox( MsgBoxBean(MsgBoxType.V2X, V2XMsg(v2xType, alertContent.toString(), ttsContent,CommunicationType.V2N.name)) ) - CallerHmiManager.warningV2X(v2xType, alertContent, ttsContent, isFromObu = false) + CallerHmiManager.warningV2X(v2xType, alertContent, ttsContent) V2XEventAnalyticsManager.triggerV2XEvent(v2xType, alertContent.toString(), ttsContent,DataSourceType.AICLOUD,CommunicationType.V2N) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index 19f3ce8003..66f4a3c2a7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -151,7 +151,7 @@ class MoGoHmiProvider : IMoGoHmiProvider { * 不展示顶部弹窗,其它保留 */ @Synchronized - override fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, isFromObu: Boolean) { + override fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, newLevel: Int, isFromObu:Boolean) { if (isFromObu) { // 修改: 只有来自obu的事件这样处理 //30秒内同一个事件只出现一次 TODO 临时添加,后面宏宇统一在数据中心处理 diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index c8179001ee..16ac126899 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -237,7 +237,7 @@ class RoadCrossRoamView @JvmOverloads constructor( SkinResources.getInstance().getString(R.string.operation_platform_name) }为您提供路口全息影像,助力出行" } - AIAssist.getInstance(context).speakTTSVoice(disStr) + AIAssist.getInstance(context).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2) } CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG) CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index 95ff2b1b73..b357e97cad 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -464,7 +464,7 @@ enum class EventTypeEnumNew( "通过公交站", poiTypeSrcVr = R.drawable.icon_v2x_bus_station_driver, content = "前方%s米有公交站", - tts = "前方%s米有公交站,${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您小心右侧行人及来车" + tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方公交站,提醒您注意右侧行人及来车" ), TYPE_ATTENTION_CONFLUENCE( 44.toString(), @@ -517,8 +517,8 @@ enum class EventTypeEnumNew( "100062", "他车倒车/逆行", poiTypeSrcVr = R.drawable.icon_v2x_other_retrograde_vehicle_driver, - content = "前方%s米有车辆异常倒车或逆行", - tts = "前方%s米有车辆异常倒车或逆行,${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您注意观察小心通过" + content = "前方%s米有他车倒车或逆行", + tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方有异常车辆,提醒您注意观察 小心通过" ), TYPE_SOCKET_ROAD_GREE_WAVE( "100063", @@ -532,7 +532,7 @@ enum class EventTypeEnumNew( "行人横穿", poiTypeSrcVr = View.NO_ID, content = "前方%s米有行人/非机动车横穿", - tts = "前方%s米有行人/非机动车横穿,${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您提前减速,注意观察,小心通过" + tts = "${SkinResources.getInstance().getString(R.string.operation_platform_name)}发现前方有行人或非机动车横穿,提醒您注意观察,小心通过" ), TYPE_ERROR( 0.toString(), diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt index a12e2d146d..a9d81ccb93 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt @@ -25,7 +25,7 @@ interface IMoGoHmiProvider :IProvider{ /** * 不展示顶部弹窗,其它保留 */ - fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, isFromObu: Boolean) + fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long, newLevel: Int, isFromObu:Boolean) /** * 展示指定方位上的红框预警 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index 6af31878c4..853f620eb5 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -4,6 +4,7 @@ import android.content.Context import android.view.View import android.view.ViewGroup import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean import com.mogo.eagle.core.data.biz.notice.NoticeNormalData import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData @@ -50,7 +51,8 @@ object CallerHmiManager { listenerIMoGo: IMoGoWarningStatusListener? = null, direction: WarningDirectionEnum = ALERT_WARNING_NON, expireTime: Long = 5000L, - isFromObu: Boolean, + newLevel: Int = AIAssist.LEVEL2, + isFromObu :Boolean = false ) { hmiProviderApi?.warningV2X( v2xType, @@ -59,6 +61,7 @@ object CallerHmiManager { listenerIMoGo, direction, expireTime, + newLevel, isFromObu ) }