From d77ee5cf39550bc95a155033270f972674acefb6 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Tue, 12 Sep 2023 11:56:45 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=201=E3=80=81=E6=81=A2=E5=A4=8D=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E8=87=AA=E9=A9=BE=E9=80=BB=E8=BE=91=202=E3=80=81?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=90=E8=90=A5=E6=A8=A1=E5=BC=8F(?= =?UTF-8?q?=E5=AE=9E=E9=99=85=E8=BF=98=E6=98=AF=E7=BE=8E=E5=8C=96)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/bean/TaxiDriverTaskWithOrderBean.kt | 10 +++ .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 2 + .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 65 ++++++++----------- 3 files changed, 38 insertions(+), 39 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 a7fbcc2e5a..d225a06bf6 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 @@ -161,6 +161,16 @@ data class QueryCurrentTaskRespBean(var data: Result?) : BaseData() { } return data.currentStatus == TaskStatusEnum.StartTask.code } + + /** + * with task.currentStatus == StartTask + */ + fun isCompleteTaskType(data: QueryCurrentTaskRespBean.Result?): Boolean { + if (data == null) { + return false + } + return data.currentStatus == TaskStatusEnum.CompleteTask.code + } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index cab5dae978..dc43d1fae5 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -229,6 +229,8 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), override fun onOrderCancel() { VoiceNotice.showNotice("已取消行程") // updateTaskAndOrderUi(null) + //取消自驾,D档位会溜车 map3.6.0 修改 + TaxiTaskModel.cancelAutopilot() } override fun onOrderArriveAtEnd(orderNo: String) { 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 a522dc0862..17ea8c627c 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 @@ -283,12 +283,9 @@ object TaxiTaskModel { DebugView.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_ENABLE,meaning=可自动驾驶,人工干预状态") if ((FunctionBuildConfig.isDemoMode && checkCurrentTaskCondition() - && (QueryCurrentTaskRespBean.isOrderOnTheWayToEnd( - mCurrentTaskWithOrder - ) - || QueryCurrentTaskRespBean.isOrderArriveAtEnd( - mCurrentTaskWithOrder - ))) + && (QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder) + || QueryCurrentTaskRespBean.isOrderArriveAtEnd(mCurrentTaskWithOrder)) + ) ) { // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 return @@ -298,12 +295,9 @@ object TaxiTaskModel { DebugView.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_DISABLE,meaning=不可自动驾驶") if ((FunctionBuildConfig.isDemoMode && checkCurrentTaskCondition() - && (QueryCurrentTaskRespBean.isOrderOnTheWayToEnd( - mCurrentTaskWithOrder - ) - || QueryCurrentTaskRespBean.isOrderArriveAtEnd( - mCurrentTaskWithOrder - ))) + && (QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder) + || QueryCurrentTaskRespBean.isOrderArriveAtEnd(mCurrentTaskWithOrder)) + ) ) { // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 return @@ -315,12 +309,9 @@ object TaxiTaskModel { DebugView.printInfoMsg("[自驾状态变化] afterValue=STATUS_PARALLEL_DRIVING,meaning=平行驾驶中") if (FunctionBuildConfig.isDemoMode) { if ((checkCurrentTaskCondition() - && (QueryCurrentTaskRespBean.isOrderOnTheWayToEnd( - mCurrentTaskWithOrder - ) - || QueryCurrentTaskRespBean.isOrderArriveAtEnd( - mCurrentTaskWithOrder - ))) + && (QueryCurrentTaskRespBean.isStartTaskType(mCurrentTaskWithOrder) + || QueryCurrentTaskRespBean.isOrderArriveAtEnd(mCurrentTaskWithOrder)) + ) ) { //订单中 // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 } else { //美化模式下没订单,显示人工驾驶 @@ -599,8 +590,8 @@ object TaxiTaskModel { if (isArriveAtEndSite) { updateLocalCalculateStation() - //到站后不再调用取消自驾. 原因是取消自驾,D档位会溜车 - //cancelAutopilot() + //取消自驾,D档位会溜车 map3.6.0 修改 + cancelAutopilot() } } @@ -801,6 +792,8 @@ object TaxiTaskModel { } } } + + updateDemoModeAndAutopilotParameters(result) } override fun onFail(code: Int, msg: String?) { @@ -1375,32 +1368,26 @@ object TaxiTaskModel { } } - //更新本地currentOrder信息,并保存订单到本地避免车机重启丢失数据 - private fun updateNativeCurrentOrder(data: QueryCurrentTaskRespBean.Result?) { + //运营模式(美化模式), 鹰眼数据同步 + private fun updateDemoModeAndAutopilotParameters(data: QueryCurrentTaskRespBean.Result?) { if (data == null) { return } - mCurrentTaskWithOrder = data - SharedPrefsMgr.getInstance(mContext!!).putString( - TaxiUnmannedConst.SP_KEY_OCH_TAXI_ORDER, - GsonUtil.jsonFromObject(data) - ) + val endSite = data.endSite - val currentOrder = mCurrentTaskWithOrder!!.order - - if (currentOrder != null) { - if (currentOrder!!.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.code) { - if (FunctionBuildConfig.isDemoMode) { - // 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true - FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true - CallerAutoPilotControlManager.setIgnoreConditionDraw(true) - CallerAutoPilotControlManager.setIPCDemoMode(true) - d(TAG, "美化模式-ignore:置为true(更新本地order信息)") - } + if (endSite != null) { + if (QueryCurrentTaskRespBean.isStartTaskType(data)) { +// if (FunctionBuildConfig.isDemoMode) { +// // 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true +// FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true +// CallerAutoPilotControlManager.setIgnoreConditionDraw(true) +// CallerAutoPilotControlManager.setIPCDemoMode(true) +// d(TAG, "美化模式-ignore:置为true(更新本地order信息)") +// } updateAutopilotControlParameters() } - if (currentOrder!!.orderStatus == TaxiOrderStatusEnum.ArriveAtEnd.code) { + if (QueryCurrentTaskRespBean.isCompleteTaskType(data)) { if (FunctionBuildConfig.isDemoMode) { d(TAG, "setIPCDemoMode:false") CallerAutoPilotControlManager.setIPCDemoMode(false)