[Update]
1、升级动态皮肤加载SDK
2、完善YiXin皮肤包中的文案/TTS,蘑菇--》易鑫
This commit is contained in:
donghongyu-pc
2024-10-15 19:42:35 +08:00
parent 52f78d7b31
commit 8ad9bab54e
31 changed files with 113 additions and 69 deletions

View File

@@ -20,6 +20,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoV2nNioEventListener
import com.mogo.eagle.core.function.api.hmi.xiaozhi.event.V2N
import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State.START
import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State.STOP
import com.mogo.eagle.core.function.biz.R
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
@@ -45,6 +46,7 @@ import com.mogo.eagle.function.biz.v2x.v2n.utils.EventDismissBean
import com.mogo.eagle.function.biz.v2x.v2n.utils.EventDismissManager
import com.mogo.eagle.function.biz.v2x.v2n.utils.IEventDismissListener
import com.mogo.eagle.function.biz.v2x.v2n.utils.V2XEventAnalyticsManager
import com.mogo.skin.utils.SkinResources
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.delay
@@ -152,7 +154,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener {
}
}
val content = "发现前方${distance.toInt()}${ if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "车道施工" else "车道事故" }"
val tts = "$content, 蘑菇提醒您小心行人及来车"
val tts = "$content, ${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您小心行人及来车"
V2XBizTrace.onAck(TAG, "绘制poi事件:$poiType")
saveMsgBox(
MsgBoxBean(
@@ -278,11 +280,11 @@ internal object V2NIdentifyDrawer: IEventDismissListener {
val speakText = StringBuilder("保持当前车速即可通过路口,好丝滑!")
if (current < min) {
speakText.setLength(0)
speakText.append("蘑菇推荐您提升车速至${min}千米每小时, 当前车速${current}千米每小时")
speakText.append("${SkinResources.getInstance().getString(R.string.operation_platform_name)}推荐您提升车速至${min}千米每小时, 当前车速${current}千米每小时")
}
if (current > max) {
speakText.setLength(0)
speakText.append("蘑菇推荐您降低车速至${max}千米每小时, 当前车速${current}千米每小时")
speakText.append("${SkinResources.getInstance().getString(R.string.operation_platform_name)}推荐您降低车速至${max}千米每小时, 当前车速${current}千米每小时")
}
val tts = speakText.toString()
alertTts = tts

View File

@@ -5,6 +5,7 @@ import com.google.gson.JsonObject
import com.mogo.commons.constants.HostConst
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.BaseResponse
import com.mogo.eagle.core.data.R
import com.mogo.eagle.core.data.chat.UserInfo
import com.mogo.eagle.core.function.api.chat.biz.ChatConsts
import com.mogo.eagle.core.function.api.chat.biz.IMCallType.CALL_TYPE_VOICE
@@ -12,6 +13,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis
import com.mogo.eagle.core.function.chat.facade.net.bean.*
import com.mogo.eagle.core.network.MoGoRetrofitFactory
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.skin.utils.SkinResources
import retrofit2.http.*
@@ -51,7 +53,8 @@ internal class ChatServiceModel {
return@let Pair(null, null)
}
result.sn = userInfo.get("sn")?.takeIf { !it.isJsonNull }?.asString ?: sn
result.name = userInfo.get("userNickName")?.takeIf { !it.isJsonNull }?.asString ?: "小蘑菇"
result.name = userInfo.get("userNickName")?.takeIf { !it.isJsonNull }?.asString ?: "${SkinResources.getInstance().getString(
R.string.operation_platform_name)}"
result.icon = userInfo.get("headImgUrl")?.takeIf { !it.isJsonNull }?.asString
result.sex = userInfo.get("cardIdSex")?.takeIf { !it.isJsonNull }?.asString ?: "未设置"
result.age = userInfo.get("cardIdAge")?.takeIf { !it.isJsonNull }?.asString

View File

@@ -64,6 +64,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogoaicloudtelematic
compileOnly project(':core:function-impl:mogo-core-function-map')
implementation project(':core:mogo-core-function-call')
implementation project(':core:mogo-core-res')
implementation project(":foudations:mogo-commons")
}

View File

@@ -1,6 +1,7 @@
package com.mogo.eagle.core.function.datacenter.obu
import android.content.Context
import com.mogo.eagle.core.data.R
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.enums.CommunicationType
@@ -26,6 +27,7 @@ import com.mogo.eagle.core.function.datacenter.obu.utils.TrafficDataConvertUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
import com.mogo.eagle.core.utilcode.util.ConvertUtils
import com.mogo.skin.utils.SkinResources
import com.mogo.support.obu.ObuScene
import com.zhidao.support.obu.constants.MogoObuShowConstants
import kotlin.math.roundToInt
@@ -629,9 +631,9 @@ class MogoObuDcCombineManager private constructor() : IMoGoObuWarningRsiListener
if (currentSpeed > 0) {
ttsContentNew =
if ((currentSpeed * 3.6).roundToInt() in (minSpeedTemp + 1) until maxSpeedTemp) {
"蘑菇路侧提醒您,推荐保持当前车速通过路口"
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}路侧提醒您,推荐保持当前车速通过路口"
} else {
"蘑菇路侧提醒您,推荐保持车速$minSpeedTemp - $maxSpeedTemp KM/H通过路口"
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}路侧提醒您,推荐保持车速$minSpeedTemp - $maxSpeedTemp KM/H通过路口"
}
alertContentNew = "推荐车速$minSpeedTemp - $maxSpeedTemp KM/H"
}

View File

@@ -1,6 +1,7 @@
package com.mogo.eagle.core.function.datacenter.obu
import android.content.Context
import com.mogo.eagle.core.data.R
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
@@ -25,6 +26,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.util.ConvertUtils
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.skin.utils.SkinResources
import com.mogo.support.obu.ObuBase
import com.mogo.support.obu.ObuScene
import com.mogo.support.obu.constants.*
@@ -1111,9 +1113,9 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
if (currentSpeed > 0) {
ttsContentNew =
if ((currentSpeed * 3.6).roundToInt() in (minSpeedTemp + 1) until maxSpeedTemp) {
"蘑菇路侧提醒您,推荐保持当前车速通过路口"
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}路侧提醒您,推荐保持当前车速通过路口"
} else {
"蘑菇路侧提醒您,推荐保持车速$minSpeedTemp - $maxSpeedTemp KM/H通过路口"
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}路侧提醒您,推荐保持车速$minSpeedTemp - $maxSpeedTemp KM/H通过路口"
}
alertContentNew = "推荐车速$minSpeedTemp - $maxSpeedTemp KM/H"
}

View File

@@ -28,11 +28,13 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
import com.mogo.eagle.core.function.datacenter.R
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.skin.utils.SkinResources
import com.zhjt.service.chain.ChainLog
import perception.FusionTrafficLightOuterClass
import kotlin.math.abs
@@ -242,7 +244,8 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
CallerMapRoadListenerManager.getStopLineDistance()?.let { dis->
if(currentSpeed*light.duration < dis){
//语音播放:蘑菇提醒您及时减速,避免路口急刹
AIAssist.getInstance(mContext).speakTTSVoice("蘑菇提醒您及时减速,避免路口急刹")
AIAssist.getInstance(mContext).speakTTSVoice(
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您及时减速,避免路口急刹")
isPrompted = true
}
}
@@ -252,7 +255,8 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
CallerMapRoadListenerManager.getStopLineDistance()?.let{distance->
if(currentSpeed*light.duration*1.1 < distance){
//语音播放:蘑菇提醒您及时减速,避免路口急刹
AIAssist.getInstance(mContext).speakTTSVoice("蘑菇提醒您及时减速,避免路口急刹")
AIAssist.getInstance(mContext).speakTTSVoice(
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您及时减速,避免路口急刹")
isPrompted = true
}
}
@@ -262,7 +266,8 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
CallerMapRoadListenerManager.getStopLineDistance()?.let{distance->
if(currentSpeed*0.4*light.duration > distance){
//语音播放:蘑菇提醒您及时减速,避免路口急刹
AIAssist.getInstance(mContext).speakTTSVoice("蘑菇提醒您及时减速,避免路口急刹")
AIAssist.getInstance(mContext).speakTTSVoice(
"${SkinResources.getInstance().getString(R.string.operation_platform_name)}提醒您及时减速,避免路口急刹")
isPrompted = true
}
}

View File

@@ -35,6 +35,7 @@ import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
import com.mogo.eagle.core.utilcode.util.TimeUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat
import com.mogo.eagle.core.widget.RoundCanClickConstraintLayout
import com.mogo.skin.utils.SkinResources
class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
@@ -210,7 +211,7 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
}else if(it[position].msgBoxBean.type == MsgBoxType.V2X && it[position].msgBoxBean.sourceType == DataSourceType.SUMMARY){
//汇总消息
val summaryMsg = it[position].msgBoxBean.bean as V2XMsg
holder.tvV2XTitle.text = "蘑菇小助手"
holder.tvV2XTitle.text = SkinResources.getInstance().getString(R.string.summary_title)
holder.tvV2XContent.text = summaryMsg.content
holder.ivV2XImage.setImageDrawable(
ContextCompat.getDrawable(

View File

@@ -27,6 +27,7 @@ import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.skin.utils.SkinResources
/**
@@ -161,7 +162,8 @@ open class AutomaticExplorationView @JvmOverloads constructor(
rotationAnim?.cancel()
//语音播放,只在司机端播放
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
AIAssist.getInstance(context).speakTTSVoice("道路畅通一切正常蘑菇型车助手将持续守候您的出行")
AIAssist.getInstance(context).speakTTSVoice("道路畅通一切正常${SkinResources.getInstance().getString(
R.string.operation_platform_name)}型车助手将持续守候您的出行")
}
//5秒后关闭弹窗
val hideViewTimer =object: CountDownTimer(EXPLORATION_HIDE_TIME,EXPLORATION_HIDE_TIME){

View File

@@ -23,7 +23,7 @@
android:id="@+id/tvMSummaryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蘑菇小助手"
android:text="@string/summary_title"
android:textColor="#FF203555"
android:textSize="25dp"
android:layout_marginStart="10dp"

View File

@@ -19,7 +19,7 @@
android:id="@+id/tvMSummaryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蘑菇小助手"
android:text="@string/summary_title"
android:textColor="#FF203555"
android:textSize="25dp"
android:layout_marginStart="20dp"

View File

@@ -27,7 +27,7 @@
android:id="@+id/tvSummaryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蘑菇小助手"
android:text="@string/summary_title"
android:textColor="#FFFFFFFF"
android:textSize="32dp"
app:layout_constraintLeft_toRightOf="@id/ivSummaryImage"

View File

@@ -25,7 +25,7 @@
android:id="@+id/tvSummaryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蘑菇小助手"
android:text="@string/summary_title"
android:textColor="#FFFFFFFF"
android:textSize="32dp"
app:layout_constraintLeft_toRightOf="@id/ivSummaryImage"

View File

@@ -23,7 +23,7 @@
android:id="@+id/tvPassengerSummaryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蘑菇小助手"
android:text="@string/summary_title"
android:textColor="#FF243959"
android:textSize="36dp"
android:layout_marginStart="20dp"

View File

@@ -18,7 +18,7 @@
android:id="@+id/tvPassengerSummaryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蘑菇小助手"
android:text="@string/summary_title"
android:textColor="#FFFFFFFF"
android:textSize="36dp"
android:layout_marginStart="20dp"

View File

@@ -20,8 +20,10 @@
android:background="@drawable/main_splash_bg">
<ImageView
android:layout_width="@dimen/dp_157"
android:layout_height="@dimen/dp_255"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="@dimen/dp_157"
android:minHeight="@dimen/dp_255"
android:background="@drawable/mogo_slogan"
android:scaleType="centerCrop"
android:visibility="visible"

View File

@@ -24,6 +24,7 @@ import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.map.overlay.core.Level
import com.mogo.map.overlay.point.Point
import com.mogo.skin.utils.SkinResources
import com.zhidaoauto.map.data.road.RoadCross
import com.zhidaoauto.map.data.road.StopLine
import com.zhjt.service.chain.ChainLog
@@ -82,7 +83,8 @@ class RoadCrossCameraManager : IMoGoMapRoadListener {
}
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
AIAssist.getInstance(mContext).speakTTSVoice("蘑菇检测到前方${distance.toInt()}米您将通过路口,已为您切换展示路口全息影像")
AIAssist.getInstance(mContext).speakTTSVoice("${SkinResources.getInstance().getString(
com.mogo.eagle.core.data.R.string.operation_platform_name)}检测到前方${distance.toInt()}米您将通过路口已为您切换展示路口全息影像")
}
if (roadCrossEnd != null) {
ndeRoadCameraNetWorkModel.getRoadCrossInfo(roadCrossEnd,

View File

@@ -30,6 +30,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.skin.utils.SkinResources
import com.zhidaoauto.map.data.road.StopLine
import kotlinx.android.synthetic.main.view_road_cross_roam.view.ivCoverRoam
import kotlinx.android.synthetic.main.view_road_cross_roam.view.ivRoadRoamClose
@@ -212,7 +213,7 @@ class RoadCrossRoamView @JvmOverloads constructor(
val dis = CallerMapRoadListenerManager.getStopLineDistance()?.toInt() ?: 0
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
AIAssist.getInstance(context)
.speakTTSVoice("前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行")
.speakTTSVoice("前方${dis}米将通过路口,${SkinResources.getInstance().getString(R.string.operation_platform_name)}为您提供路口全息影像,助力出行")
}
CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG)
bringToFront()