diff --git a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java
index 98e2f413aa..1017f2b3dc 100644
--- a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java
+++ b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java
@@ -8,6 +8,7 @@ import static com.mogo.och.bus.constant.BusConst.STATION_STATUS_STOPPED;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
+import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -620,6 +621,18 @@ public class OrderModel {
*/
private void startAutopilot(boolean isRestart, int leaveIndex) {
+ //根据开关和后台是否发布轨迹启动自驾
+ if (FunctionBuildConfig.isPassStartAutopilotCommand && (TextUtils.isEmpty(busRoutesResult.csvFileUrl)
+ || TextUtils.isEmpty(busRoutesResult.csvFileUrlDPQP))){
+ ToastUtils.showLong("无发布轨迹, 请发布后重试");
+ CallerLogger.INSTANCE.e(M_BUS + TAG, "isPassStartAutopilotCommand = " +
+ FunctionBuildConfig.isPassStartAutopilotCommand);
+ return;
+ }
+
+ CallerLogger.INSTANCE.e(M_BUS + TAG, "isPassStartAutopilotCommand = " +
+ FunctionBuildConfig.isPassStartAutopilotCommand);
+
if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().getAutopilotAbilityStatus()) {
ToastUtils.showLong(OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason() +
", 请稍候重试");
diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java
index f2fe9e088c..0d5c1aa63c 100644
--- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java
+++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java
@@ -3,6 +3,7 @@ package com.mogo.och.taxi.model;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
+import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -898,12 +899,25 @@ public class TaxiModel {
clientPkFileName = "sn"
)
public void startAutoPilot() {
+
if (!checkCurrentOCHOrder()) {
CallerLogger.INSTANCE.e(M_TAXI + TAG, "no order or order is empty.");
ToastUtils.showShort("当前订单不存在或异常!");
return;
}
+ //根据开关和后台是否发布轨迹启动自驾
+ if (FunctionBuildConfig.isPassStartAutopilotCommand && (TextUtils.isEmpty(mCurrentOCHOrder.csvFileUrl)
+ || TextUtils.isEmpty(mCurrentOCHOrder.csvFileUrlDPQP))){
+ ToastUtils.showLong("无发布轨迹, 请发布后重试");
+ CallerLogger.INSTANCE.e(M_TAXI + TAG, "isPassStartAutopilotCommand = " +
+ FunctionBuildConfig.isPassStartAutopilotCommand);
+ return;
+ }
+
+ CallerLogger.INSTANCE.e(M_TAXI + TAG, "isPassStartAutopilotCommand = " +
+ FunctionBuildConfig.isPassStartAutopilotCommand);
+
if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().getAutopilotAbilityStatus()){
ToastUtils.showLong(OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason() +
", 请稍候重试");
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
index 17d70cd126..a2fe6907a8 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
@@ -1010,6 +1010,19 @@ internal class DebugSettingView @JvmOverloads constructor(
tbReportWarning.visibility = GONE
}
+
+ //是否开启无轨迹发送自驾命令
+ tbStartAutopilotCommand.isChecked = FunctionBuildConfig.isPassStartAutopilotCommand
+ tbStartAutopilotCommand.setOnCheckedChangeListener { _, isChecked ->
+ FunctionBuildConfig.isPassStartAutopilotCommand = isChecked
+ }
+
+ if (!AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode)
+ && !AppIdentityModeUtils.isBusDriver(FunctionBuildConfig.appIdentityMode)){
+ tbStartAutopilotCommand.visibility = GONE
+ }
+
+
//切换环境
tvCurEnv.text = "当前环境:${CallerDevaToolsManager.getEnvCityName()}${CallerDevaToolsManager.getEnvNetMode()}"
btChangeEnv.onClick {
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml
index 8ab4712eae..81b044daa6 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml
@@ -1346,6 +1346,19 @@
android:textSize="@dimen/dp_24"
app:layout_constraintTop_toBottomOf="@id/btnConnectServerIp" />
+
+