From 3b3088681629fcf9186a0ffb37767cc626bc1243 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 23 Oct 2024 18:17:28 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0][=E5=90=AF=E8=87=AA=E9=A9=BE=E6=8C=87?= =?UTF-8?q?=E5=BC=95]=20=E4=BF=AE=E6=94=B9=E5=9B=A0=E5=85=B6=E5=AE=83?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E5=AF=BC=E8=87=B4=E5=90=AF=E4=B8=8D=E4=BA=86?= =?UTF-8?q?=E8=87=AA=E9=A9=BE=E7=9A=84=E6=8F=90=E7=A4=BA=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../status/StatusManager.kt | 26 ++++++++++--------- .../CallerAutoPilotControlManager.kt | 19 ++++++++++---- .../call/devatools/CallerDevaToolsManager.kt | 7 +++++ .../src/main/res/values/ids.xml | 1 + 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index 36103cc248..ae537d9f58 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -11,6 +11,7 @@ import androidx.lifecycle.Lifecycle.Event.ON_DESTROY import com.mogo.commons.utils.MogoAnalyticUtils import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.mogo.logger.* import com.mogo.eagle.core.utilcode.util.* @@ -189,7 +190,7 @@ object StatusManager { if (!hasInit) { return 0 } - var ret = 0 + var xor = 0 model.status.value?.second?.filter { it is IAutopilotPreLaunchStatus }?.takeIf { @@ -216,7 +217,7 @@ object StatusManager { is GearStatus -> "档位" is RouteDownloadStatus -> if (item.state == RouteStart) "轨迹下载中" else "轨迹下载失败" is FSMStatus -> "FSM" - is OtherErrorStatus -> "未知" + is OtherErrorStatus -> "type: ${item.type}, reason:${item.reason?.getUnableLaunchReason()}" else -> "其它" } } @@ -232,19 +233,20 @@ object StatusManager { } }?.forEachIndexed { index, status -> val shl = 1 shl index - if (status.isException()) { - ret = if (status is RouteDownloadStatus) { - if (status.state == RouteStart) { - ret or shl - } else { - ret or (shl shl 1) - } - } else { - ret or shl + xor = if (status is RouteDownloadStatus) { + if (status.state == RouteStart) { + xor or shl + } else { + xor or (shl shl 1) } + } else { + if (status is OtherErrorStatus) { + CallerDevaToolsManager.getExtra().putString(R.id.autopilot_start_error.toString(), status.reason?.getUnableLaunchReason()) + } + xor or shl } } - return ret + return xor } fun hasInit(): Boolean { diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index d5d2a840e9..994f239b8e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_SO import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_OCH_TAXI_START_AUTOPILOT_MOFANG import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotControlProvider +import com.mogo.eagle.core.function.call.R import com.mogo.eagle.core.function.call.base.CallerBase import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope @@ -100,9 +101,11 @@ object CallerAutoPilotControlManager { * 刹车: 1<<3 * 双闪: 1<<4 * 档位: 1<<5 - * 轨迹下载: (下载中) 1<<6; (下载失败)1<<7 + * 其它: 1<<6 + * 轨迹下载: (下载中) 1<<7; (下载失败)1<<8 */ val exceptionValue = CallerDevaToolsManager.getExceptionStatusBeforeLaunchAutopilot(source) + var isPlayTTS = true if (exceptionValue != 0) { if (isShowTip) { val sb = StringBuilder("请检查车辆") @@ -126,8 +129,12 @@ object CallerAutoPilotControlManager { } if ((exceptionValue and (1 shl 6)) != 0) { if (!sb.contains("$")) { - sb.setLength(0) - sb.append("检测到除已知节点外的其它异常") + val reason = CallerDevaToolsManager.getExtra().getString(R.id.autopilot_start_error.toString()) + if (!reason.isNullOrEmpty()) { + isPlayTTS = false + sb.setLength(0) + sb.append(reason) + } } } if ((exceptionValue and (1 shl 7)) != 0 || ((exceptionValue and (1 shl 8)) != 0)) { @@ -149,8 +156,10 @@ object CallerAutoPilotControlManager { AppStateManager.currentActivity()?.also { it.lifeCycleScope.launch { ToastUtils.showShort(voiceText) - runCatching { - AIAssist.getInstance(it).speakTTSVoice(voiceText) + if (isPlayTTS) { + runCatching { + AIAssist.getInstance(it).speakTTSVoice(voiceText) + } } } } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index e4a4bb57fc..18d82a45d7 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.call.devatools import android.app.Activity import android.content.Context +import android.os.Bundle import android.view.View import android.view.ViewGroup import com.mogo.eagle.core.data.EnvConfig @@ -29,6 +30,8 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils object CallerDevaToolsManager { + private val args by lazy { Bundle() } + private val devaToolsProviderApi: IDevaToolsProvider? get() = CallerBase.getApiInstance( IDevaToolsProvider::class.java, @@ -43,6 +46,10 @@ object CallerDevaToolsManager { devaToolsProviderApi?.checkMonitorDb() } + fun getExtra(): Bundle { + return args + } + /** * 检查上传崩溃日志 */ diff --git a/core/mogo-core-utils/src/main/res/values/ids.xml b/core/mogo-core-utils/src/main/res/values/ids.xml index 93f9bb39b1..e1b3efa377 100644 --- a/core/mogo-core-utils/src/main/res/values/ids.xml +++ b/core/mogo-core-utils/src/main/res/values/ids.xml @@ -3,4 +3,5 @@ + \ No newline at end of file