From d1b61008e51fac807ccbb959119beb4c913b5282 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Tue, 12 Sep 2023 16:31:54 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=20=E5=A4=84=E7=90=86=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=92=8C=E5=90=AF=E5=8A=A8=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E5=B5=8C=E5=A5=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/bean/TaxiDriverTaskWithOrderBean.kt | 12 ++++++++++- .../mogo/och/taxi/ui/base/TaxiPresenter.java | 2 +- .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 21 +++++++++++++------ 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt index d225a06bf6..e8430334e6 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt @@ -163,7 +163,7 @@ data class QueryCurrentTaskRespBean(var data: Result?) : BaseData() { } /** - * with task.currentStatus == StartTask + * with task.currentStatus == CompleteTask */ fun isCompleteTaskType(data: QueryCurrentTaskRespBean.Result?): Boolean { if (data == null) { @@ -171,6 +171,16 @@ data class QueryCurrentTaskRespBean(var data: Result?) : BaseData() { } return data.currentStatus == TaskStatusEnum.CompleteTask.code } + + /** + * with task.currentStatus == GetTask + */ + fun isGetTaskType(data: QueryCurrentTaskRespBean.Result?): Boolean { + if (data == null) { + return false + } + return data.currentStatus == TaskStatusEnum.GetTask.code + } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java index 30857c7016..05fe441cb5 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java @@ -77,7 +77,7 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS * 开启自动驾驶 自驾模式 */ public void startAutoPilot() { - TaxiTaskModel.INSTANCE.startAutoPilot(); + TaxiTaskModel.INSTANCE.startAutopilotByClick(); } // 登出 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 d3dcbd8fc4..3b06a3cdc4 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 @@ -1087,6 +1087,19 @@ object TaxiTaskModel { nodeAliasCode = ChainConstant.CHAIN_CODE_OCH_TAXI_START_AUTOPILOT, paramIndexes = [-1] ) + + fun startAutopilotByClick(){ + //订单状态流转成功, 点击了开启自驾按钮, 启动自驾 + if (QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder)) { + startAutoPilot() + }else if (QueryCurrentTaskRespBean.isGetTaskType(mCurrentTaskWithOrder)){ + startTask(mCurrentTaskWithOrder!!.lineId) + }else{ + e(TAG, "task currentStatus is not StartTask.") + DebugView.printInfoMsg("[启自驾] task currentStatus is not StartTask") + } + } + fun startAutoPilot() { DebugView.printInfoMsg("[启自驾] startAutoPilot") if (!checkCurrentTaskCondition()) { @@ -1100,6 +1113,7 @@ object TaxiTaskModel { e(TAG, "no order or order is empty.") DebugView.printErrorMsg("[启自驾] 轨迹信息不存在!") ToastUtils.showShort("轨迹信息不存在!") + return } //根据开关和后台是否发布轨迹启动自驾 @@ -1137,12 +1151,6 @@ object TaxiTaskModel { return } - //在订单状态还没流转成功时, 点击了开启自驾按钮, 先去做状态流转成功再启动自驾 - if (mCurrentTaskWithOrder!!.currentStatus == TaskStatusEnum.GetTask.code) { - startTask(mCurrentTaskWithOrder!!.lineId) - return - } - //点击开始自动驾驶按钮订单状态去流转, 不再与自动驾驶是否启动成功挂钩 isRestartAutopilot = mCurrentTaskWithOrder!!.currentStatus != TaskStatusEnum.StartTask.code @@ -1151,6 +1159,7 @@ object TaxiTaskModel { e(TAG, "AutopilotControlParameters is empty.") return } + CallerAutoPilotControlManager.startAutoPilot(parameters) DebugView.printInfoMsg("[启自驾] 调用成功") d(