Merge remote-tracking branch 'origin/dev_robobus-d_240521_6.4.1' into dev_robotaxi-d_240516_6.4.2

# Conflicts:
#	gradle.properties
This commit is contained in:
yangyakun
2024-05-23 10:05:23 +08:00
8 changed files with 61 additions and 16 deletions

View File

@@ -114,6 +114,17 @@ object VoiceControlFacade: IMoGoVoiceControlFacade, IMogoVoiceCmdCallBack, IMogo
}
}
override fun onStopTts(speakText: String?) {
super.onStopTts(speakText)
listeners
.filter {
it.get() != null
}
.forEach {
it.get()?.onSpeakEnd()
}
}
override fun register() {
if (hasRegister.get()) {
return

View File

@@ -167,6 +167,11 @@ class MoGoHmiProvider : IMoGoHmiProvider {
super.onSpeakError(speakText, errorMsg)
isPlayingTts.set(false)
}
override fun onStopTts(speakText: String?) {
super.onStopTts(speakText)
isPlayingTts.set(false)
}
})
isPlayingTts.set(true)
}

View File

@@ -179,8 +179,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
holder.tvFmActionOpen.text = "建议操作:暂无"
holder.tvFmActionNormal.text = "建议操作:暂无"
//Title
holder.tvFmTitleNormal.text = MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)
holder.tvFmTitleOpen.text = MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)
holder.tvFmTitleNormal.text = "暂无建议操作"
holder.tvFmTitleOpen.text = "暂无建议操作"
}else{
val receiveFaultLevel = ArrayList<Int>()
fmInfoMsg.fmInfoList!!.forEach { info ->
@@ -200,8 +200,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
receiveFaultLevel.sort()
// receiveFaultLevel.reverse()
//Title
holder.tvFmTitleNormal.text = MsgFmData.FaultAction.getFaultAction(receiveFaultLevel[0])
holder.tvFmTitleOpen.text = MsgFmData.FaultAction.getFaultAction(receiveFaultLevel[0])
holder.tvFmTitleNormal.text = MsgFmData.FaultAction.getFaultTitle(receiveFaultLevel[0])
holder.tvFmTitleOpen.text = MsgFmData.FaultAction.getFaultTitle(receiveFaultLevel[0])
//不同级别的Icon显示
when(receiveFaultLevel[0]){
0->{

View File

@@ -21,7 +21,9 @@ import com.mogo.eagle.core.utilcode.kotlin.scope
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.BarUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.view_status_bar.view.*
import kotlinx.coroutines.Runnable
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import java.util.concurrent.CopyOnWriteArrayList
@@ -62,6 +64,7 @@ class StatusBarView @JvmOverloads constructor(
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
updateStatusBarLeftView(true, FUNC_MODE_DEMO, DemoModeView(this.context))
updateStatusBarLeftView(true, FUNC_MODE_RAIN, RainModeView(this.context))
routeDownloadStatusRoot?.visibility = View.GONE
CallerDevaToolsManager.registerRouteDownloadListener(TAG) { state ->
when(state) {
0 -> {
@@ -76,10 +79,7 @@ class StatusBarView @JvmOverloads constructor(
routeDownloadStatusRoot?.visibility = View.VISIBLE
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_success)
routeDownloadFailMark?.visibility = View.GONE
scope.launch {
delay(3000)
routeDownloadStatusRoot?.visibility = View.GONE
}
UiThreadHandler.postDelayed(Runnable { routeDownloadStatusRoot?.visibility = View.GONE }, 3000)
}
3 -> {
routeDownloadStatusRoot?.visibility = View.VISIBLE

View File

@@ -15,13 +15,13 @@ class MsgFmData{
val faultLevel: Int//故障处理级别
){
//请求平行驾驶接管
FM_ACT_NEED_PARALLEL_DERVING_TAKEOVER("恢复策略","请求平行驾驶接管","FM_ACT_NEED_PARALLEL_DERVING_TAKEOVER","如planing出站时规划失败",3),
FM_ACT_NEED_PARALLEL_DERVING_TAKEOVER("恢复策略","请求平行驾驶,请注意随时接管","FM_ACT_NEED_PARALLEL_DERVING_TAKEOVER","如planing出站时规划失败",3),
//请求人工驾驶接管
FM_ACT_NEED_MANNUAL_DERVING("恢复策略","请求人工驾驶接管","FM_ACT_NEED_MANNUAL_DERVING","如planing规划失败且存在弱网判断",0),
//系统重启
FM_ACT_NEED_RESTART_SYSTEM("恢复策略","系统重启","FM_ACT_NEED_RESTART_SYSTEM","如检测到出现多个节点奔溃",2),
FM_ACT_NEED_RESTART_SYSTEM("恢复策略","请进行系统重启","FM_ACT_NEED_RESTART_SYSTEM","如检测到出现多个节点奔溃",2),
//整车下电重启
FM_ACT_MUST_VEHICLE_POWER_RESET("恢复策略","整车下电重启","FM_ACT_MUST_VEHICLE_POWER_RESET","如底盘无数据,需要下电重启",1),
FM_ACT_MUST_VEHICLE_POWER_RESET("恢复策略","请进行整车下电重启","FM_ACT_MUST_VEHICLE_POWER_RESET","如底盘无数据,需要下电重启",1),
//请联系硬件工程师
FM_ACT_CONTACT_HARDWARE_ENGINEER("人工处理","请联系硬件工程师","FM_ACT_CONTACT_HARDWARE_ENGINEER","硬件接线,域控启动等故障",4),
//请联系运维工程师
@@ -48,7 +48,7 @@ class MsgFmData{
FM_ACT_CONTACT_OPERATIONS_ENGINEER.faultActionCode ->FM_ACT_CONTACT_OPERATIONS_ENGINEER.faultLevel
//请联系软件工程师
FM_ACT_CONTACT_SOFTWARE_ENGINEER.faultActionCode -> FM_ACT_CONTACT_SOFTWARE_ENGINEER.faultLevel
else -> 0
else -> 5
}
}
@@ -69,7 +69,27 @@ class MsgFmData{
FM_ACT_CONTACT_OPERATIONS_ENGINEER.faultLevel ->FM_ACT_CONTACT_OPERATIONS_ENGINEER.faultAction
//请联系软件工程师
FM_ACT_CONTACT_SOFTWARE_ENGINEER.faultLevel -> FM_ACT_CONTACT_SOFTWARE_ENGINEER.faultAction
else -> ""
else -> "暂无建议操作,请视实际情况注意接管"
}
}
fun getFaultTitle(faultActionLevel: Int): String{
return when(faultActionLevel){
//请求平行驾驶接管
FM_ACT_NEED_PARALLEL_DERVING_TAKEOVER.faultLevel -> FM_ACT_NEED_PARALLEL_DERVING_TAKEOVER.faultAction
//请求人工驾驶接管
FM_ACT_NEED_MANNUAL_DERVING.faultLevel -> FM_ACT_NEED_MANNUAL_DERVING.faultAction
//系统重启
FM_ACT_NEED_RESTART_SYSTEM.faultLevel -> FM_ACT_NEED_RESTART_SYSTEM.faultAction
//整车下电重启
FM_ACT_MUST_VEHICLE_POWER_RESET.faultLevel -> FM_ACT_MUST_VEHICLE_POWER_RESET.faultAction
//请联系硬件工程师
FM_ACT_CONTACT_HARDWARE_ENGINEER.faultLevel -> FM_ACT_CONTACT_HARDWARE_ENGINEER.faultAction
//请联系运维工程师
FM_ACT_CONTACT_OPERATIONS_ENGINEER.faultLevel ->FM_ACT_CONTACT_OPERATIONS_ENGINEER.faultAction
//请联系软件工程师
FM_ACT_CONTACT_SOFTWARE_ENGINEER.faultLevel -> FM_ACT_CONTACT_SOFTWARE_ENGINEER.faultAction
else -> "暂无建议操作"
}
}

View File

@@ -74,6 +74,9 @@ interface IMogoTTSCallback {
default void onSpeakEnd( String speakText ) {
}
default void onStopTts( String speakText ) {
}
default void onSpeakError( String speakText, String errorMsg) {
}

View File

@@ -156,7 +156,7 @@ class IFlyTekTts : IMogoTTS, InitListener {
curTtsEntity?.let {
val string = it.toString()
if (speakVoiceMap.containsKey(string)) {
speakVoiceMap.remove(string)
speakVoiceMap.remove(string)?.onStopTts(string)
}
curTtsEntity = null
}

View File

@@ -357,7 +357,10 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack {
public void stopSpeakTts(String text) {
if (mEngine != null && mHasAuth) {
mSpeakVoiceMap.remove(text);
IMogoTTSCallback callBack = mSpeakVoiceMap.remove(text);
if (callBack != null) {
callBack.onStopTts(curTtsContent);
}
curTtsContent = "";
curTtsLevel = -1;
mEngine.stop();
@@ -366,7 +369,10 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack {
public void stopTts() {
if (mEngine != null && mHasAuth) {
mSpeakVoiceMap.remove(curTtsContent);
IMogoTTSCallback callBack = mSpeakVoiceMap.remove(curTtsContent);
if (callBack != null) {
callBack.onStopTts(curTtsContent);
}
// tts过程中调用stop不会有回调事件
curTtsContent = "";
curTtsLevel = -1;