From 6b34db2dbf58fc3db70aa681f2523d453b5c2124 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 23 Apr 2024 10:51:35 +0800 Subject: [PATCH] =?UTF-8?q?[6.4.0]=20[=E5=90=AF=E5=8A=A8=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E6=8B=A6=E6=88=AA]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/model/OrderModel.java | 4 ++ .../mogo/och/charter/model/DriverM1Model.kt | 3 ++ .../passenger/model/CharterPassengerModel.kt | 3 ++ .../mogo/och/shuttle/model/OrderModel.java | 4 ++ .../com/mogo/och/taxi/model/TaxiModel.java | 4 ++ .../taxi/passenger/model/AutopilotManager.kt | 41 +++++++++++++++++++ .../och/taxi/ui/routing/TaxiRoutingModel.kt | 3 ++ .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 3 ++ .../taxi/passenger/model/AutopilotManager.kt | 37 +++++++++++++++++ 9 files changed, 102 insertions(+) diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java index 811191f6cf..3406ad5c7c 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -632,6 +632,10 @@ public class OrderModel { return; } + if (!CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(true)) { + return; + } + CallerLogger.e(M_BUS + TAG, "isPassStartAutopilotCommand = " + FunctionBuildConfig.isPassStartAutopilotCommand); diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt index 9ff6ca3c7c..b413c301fc 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt @@ -486,6 +486,9 @@ class DriverM1Model { triggerUnableStartAPReasonEvent() return } + if (!CallerAutoPilotControlManager.isCanStartAutopilot(true)) { + return + } triggerStartServiceEvent(false, false) val parameters = initAutopilotControlParameters() if (null == parameters) { diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index 30937cc124..e66fe0e263 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -1129,6 +1129,9 @@ object CharterPassengerModel { ToastCharterUtils.showToastLong("已到达目的地请重新选择线路") return } + if (!CallerAutoPilotControlManager.isCanStartAutopilot(true)) { + return + } val parameters = initAutopilotControlParameters() if (null == parameters) { ToastCharterUtils.showToastShort("请选择站点") diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java index bc8feab771..7faf392b35 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java @@ -625,6 +625,10 @@ public class OrderModel { return; } + if (!CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(true)) { + return; + } + firstStartAutopilot++; triggerStartServiceEvent(isRestart, false); diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index eb1f547ad2..ac15edd79e 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -936,6 +936,10 @@ public class TaxiModel { return; } + if (!CallerAutoPilotControlManager.INSTANCE.isCanStartAutopilot(true)) { + return; + } + if(CallerAutoPilotStatusListenerManager.INSTANCE.getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ ToastUtils.showShort("自驾中、请勿重复启动"); diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt index 9ee9938add..ccadeb94a0 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt @@ -8,8 +8,10 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager 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.AppStateManager import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.network.OchCommonServiceCallback @@ -25,6 +27,7 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerStartReqBean import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager +import java.lang.StringBuilder object AutopilotManager : IOchAutopilotStatusListener { @@ -51,6 +54,44 @@ object AutopilotManager : IOchAutopilotStatusListener { if (TaxiPassengerModel.currentOCHOrder!!.orderStatus == TaxiPassengerOrderStatusEnum.UserArriveAtStart.code) { startServicePilotDone() } + if (!CallerAutoPilotControlManager.isCanStartAutopilot(false)) { + val exceptionValue = CallerDevaToolsManager.getExceptionStatusBeforeLaunchAutopilot() + if (exceptionValue != 0) { + val sb = StringBuilder("请检查车辆") + if ((exceptionValue and 1) != 0) { + sb.append("方向盘$") + } + if (((exceptionValue and (1 shl 1)) != 0)) { + sb.append("油门$") + } + if ((exceptionValue and (1 shl 2)) != 0) { + sb.append("刹车$") + } + if ((exceptionValue and (1 shl 3)) != 0) { + sb.append("双闪$") + } + if ((exceptionValue and (1 shl 4)) != 0) { + sb.append("档位$") + } + if ((exceptionValue and (1 shl 5)) != 0 || ((exceptionValue and (1 shl 6)) != 0)) { + sb.setLength(0) + sb.append("轨迹未就绪,请稍后重试") + } + val voiceText = sb.toString().let { str -> + val count = str.count { it == '$' } + if (count == 1) { + str.replace("$", "") + } else { + str.removeSuffix("$").replace("$", "、") + } + } + ToastUtils.showShort(voiceText) + AppStateManager.currentActivity()?.also { + AIAssist.getInstance(it).speakTTSVoice(voiceText) + } + return sb.toString() + } + } if(CallerAutoPilotStatusListenerManager.getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ ToastUtils.showShort("自驾中、请勿重复启动"); diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt index 568e7a4f39..55a1bcd22e 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingModel.kt @@ -475,6 +475,9 @@ object TaxiRoutingModel { ) return } + if (!CallerAutoPilotControlManager.isCanStartAutopilot(true)) { + return + } if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().autopilotAbilityStatus) { DebugView.printErrorMsg("[启自驾] ${OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason}") ToastUtils.showLong( diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index af67e9edb5..edfbc0fea8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -1235,6 +1235,9 @@ object TaxiTaskModel { TAG, "isPassStartAutopilotCommand = " + FunctionBuildConfig.isPassStartAutopilotCommand ) + if (!CallerAutoPilotControlManager.isCanStartAutopilot(true)) { + return + } if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().autopilotAbilityStatus) { ToastUtils.showLong( OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason + diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt index a92eb094c3..f3e2a502d3 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt @@ -7,6 +7,7 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager 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.ToastUtils @@ -22,6 +23,7 @@ import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager +import java.lang.StringBuilder object AutopilotManager : IOchAutopilotStatusListener { @@ -58,6 +60,41 @@ object AutopilotManager : IOchAutopilotStatusListener { // ToastUtils.showShort("自驾中、请勿重复启动") // return // } + if (!CallerAutoPilotControlManager.isCanStartAutopilot(false)) { + val exceptionValue = CallerDevaToolsManager.getExceptionStatusBeforeLaunchAutopilot() + if (exceptionValue != 0) { + val sb = StringBuilder("请检查车辆") + if ((exceptionValue and 1) != 0) { + sb.append("方向盘$") + } + if (((exceptionValue and (1 shl 1)) != 0)) { + sb.append("油门$") + } + if ((exceptionValue and (1 shl 2)) != 0) { + sb.append("刹车$") + } + if ((exceptionValue and (1 shl 3)) != 0) { + sb.append("双闪$") + } + if ((exceptionValue and (1 shl 4)) != 0) { + sb.append("档位$") + } + if ((exceptionValue and (1 shl 5)) != 0 || ((exceptionValue and (1 shl 6)) != 0)) { + sb.setLength(0) + sb.append("轨迹未就绪,请稍后重试") + } + val voiceText = sb.toString().let { str -> + val count = str.count { it == '$' } + if (count == 1) { + str.replace("$", "") + } else { + str.removeSuffix("$").replace("$", "、") + } + } + ToastUtils.showShort(voiceText) + return sb.toString() + } + } if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().autopilotAbilityStatus) { ToastUtils.showLong( OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason +