From 0187a4b54815abdc429354c933870e0db51ba4a2 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 14 Sep 2023 17:05:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[6.1.0]=20=E5=88=B0=E7=AB=99=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E5=89=A9=E4=BD=99=E9=87=8C=E7=A8=8B=E5=92=8C=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 79 +++++++++---------- .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 15 +++- .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 17 +--- 3 files changed, 52 insertions(+), 59 deletions(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt index 23f9ff55c5..b55ab6b148 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -326,24 +326,20 @@ class TaxiCurrentTaskFragment : BaseFragment(), */ private fun updateRemainDistanceAndTime(isVoicePlay: Boolean) { val currentTaskWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() ?: return + d(TAG, "updateRemainDistanceAndTime ${currentTaskWithOrder.currentStatus}") + if (currentTaskWithOrder.currentStatus == TaskStatusEnum.StartTask.code){ + if (currentTaskWithOrder.endSite != null) { + startNaviToStation( + isVoicePlay, currentTaskWithOrder.endSite!!.gcjLat, + currentTaskWithOrder.endSite!!.gcjLon + ) + } - if (currentTaskWithOrder.endSite != null - && currentTaskWithOrder.currentStatus == TaskStatusEnum.StartTask.code - ) { - startNaviToStation( - isVoicePlay, currentTaskWithOrder.endSite!!.gcjLat, - currentTaskWithOrder.endSite!!.gcjLon - ) - return - } - - if (currentTaskWithOrder.startSite != null - && currentTaskWithOrder.currentStatus == TaskStatusEnum.GetTask.code - ) { //演练任务和送驾任务 - startNaviToStation( - isVoicePlay, currentTaskWithOrder.startSite!!.gcjLat, - currentTaskWithOrder.startSite!!.gcjLon - ) + }else if(currentTaskWithOrder.currentStatus == TaskStatusEnum.CompleteTask.code && + currentTaskWithOrder.taskType <= TaskTypeEnum.ToOrderStartTask.code){ + taskOtherInfo.text = "已到达 ${currentTaskWithOrder.endSite?.siteName}" + }else { + taskOtherInfo.text = "距离 -- 公里, 用时 -- 分钟" } } @@ -377,12 +373,19 @@ class TaxiCurrentTaskFragment : BaseFragment(), when (taskType) { TaskTypeEnum.None.code -> { if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { - handleOrderView(order) updateOrderUI(order) } } TaskTypeEnum.VirtualTask.code -> { //演练任务 + + if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { + updateOrderUI(order) + updateMapMarkers(taskAndOrder) + updateRemainDistanceAndTime(false) + return + } + cancelOrder.visibility = View.GONE orderPhoneAndNum.visibility = if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code @@ -398,10 +401,6 @@ class TaxiCurrentTaskFragment : BaseFragment(), pathwayPoint.visibility = View.GONE - if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { - updateOrderUI(order) - return - } if (startSite == null || endSite == null) return taskStatus.text = resources.getString(R.string.task_start_end_site) @@ -417,7 +416,6 @@ class TaxiCurrentTaskFragment : BaseFragment(), TaskTypeEnum.ToOrderEndTask.code, TaskTypeEnum.ToOrderStartTask.code -> {// 接驾任务 或 送驾任务 order?.also { updatePathwayPoint(taskType, endSite?.siteName) - handleOrderView(it) updateOrderUI(it) } } @@ -499,6 +497,21 @@ class TaxiCurrentTaskFragment : BaseFragment(), } private fun updateOrderUI(order: OrderDetail) { + cancelOrder.visibility = View.VISIBLE + orderPhoneAndNum.visibility = View.VISIBLE + taskClickBtn.visibility = View.VISIBLE + taskTypeTv.visibility = View.VISIBLE +// orderStatus: 0 订单创建(为派单), 10 已派上司机(司机去往上车点), 20 司机到达上车点, +// 30 乘客到达上车点, 40 服务中(去往目的地), 50 到达目的地, 60 已完成, 70 已取消 + naviToStart.visibility = if (order.orderStatus + == TaxiOrderStatusEnum.OnTheWayToStart.code + ) View.VISIBLE else View.GONE + + naviToEnd.visibility = if (order.orderStatus + == TaxiOrderStatusEnum.OnTheWayToEnd.code + ) View.VISIBLE else View.GONE + taskOtherInfo.visibility = View.VISIBLE + updatePrepareTaskDelayUI(0, false) taskTypeTv.text = resources.getString(R.string.task_order) taskTypeTv.background = @@ -571,26 +584,6 @@ class TaxiCurrentTaskFragment : BaseFragment(), } } - private fun handleOrderView(order: OrderDetail?) { - if (order == null) return - cancelOrder.visibility = View.VISIBLE - orderPhoneAndNum.visibility = View.VISIBLE - taskClickBtn.visibility = View.VISIBLE - taskTypeTv.visibility = View.VISIBLE -// orderStatus: 0 订单创建(为派单), 10 已派上司机(司机去往上车点), 20 司机到达上车点, -// 30 乘客到达上车点, 40 服务中(去往目的地), 50 到达目的地, 60 已完成, 70 已取消 - naviToStart.visibility = if (order.orderStatus - == TaxiOrderStatusEnum.OnTheWayToStart.code - ) View.VISIBLE else View.GONE - - naviToEnd.visibility = if (order.orderStatus - == TaxiOrderStatusEnum.OnTheWayToEnd.code - ) View.VISIBLE else View.GONE - - taskOtherInfo.visibility = View.VISIBLE - } - - private fun hideNaviBtns() { naviToStart.visibility = View.GONE naviToEnd.visibility = View.GONE 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 af3a2451f2..906c77eb3c 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 @@ -231,10 +231,23 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), */ override fun onTaskCompleted(result: QueryCurrentTaskRespBean.Result) { d(TAG, "onTaskCompleted: ${result?.currentStatus}, siteId=${result?.endSite?.siteId}") + + if (result.order != null && result.servingStatus == 1){ + if (result.taskType <= TaskTypeEnum.VirtualTask.code + && result.order!!.orderStatus < TaxiOrderStatusEnum.ArriveAtStart.code) { + VoiceNotice.showNotice("已为您接到订单") + } + if (result.taskType == TaskTypeEnum.ToOrderStartTask.code + && result.order!!.orderStatus == TaxiOrderStatusEnum.ArriveAtStart.code){ + VoiceNotice.showNotice("已到达上车地点,等待乘客上车") + } + } + if (QueryCurrentTaskRespBean.isUserArriveAtStart(result)) { TaxiTaskModel.removePrepareTaskDelay() TaxiTaskModel.prepareNextTask(0,result.endSite!!.siteId) - }else { + }else if (!QueryCurrentTaskRespBean.isOrderArriveAtStart(result) + || !QueryCurrentTaskRespBean.isOrderArriveAtEnd(result)){ TaxiTaskModel.startPrepareTaskDelay( if (TaskTypeEnum.isToOrderStartTask(result)) TaxiUnmannedConst.START_AUTOPILOT_COUNTDOWN_INTERVAL 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 e8bd3606c5..18b6a8db3c 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 @@ -709,18 +709,6 @@ object TaxiTaskModel { mCurrentTaskWithOrder = result - if (result.order != null && result.currentStatus == TaskStatusEnum.CompleteTask.code - && result.servingStatus == 1){ - if (result.taskType <= TaskTypeEnum.VirtualTask.code - && result.order!!.orderStatus < TaxiOrderStatusEnum.ArriveAtStart.code) { - VoiceNotice.showNotice("已为您接到订单") - } - if (result.taskType == TaskTypeEnum.ToOrderStartTask.code - && result.order!!.orderStatus == TaxiOrderStatusEnum.ArriveAtStart.code){ - VoiceNotice.showNotice("已到达上车地点,等待乘客上车") - } - } - // 任务为空 if (result.endSite == null && result.order == null) { d(TAG, "queryCurrentTaskOnce: 任务为空") @@ -738,8 +726,6 @@ object TaxiTaskModel { // 主要是解决A-B演练任务同时接到A-B订单状态流转的问题 //注意: 需要去除到达乘客上车点的节点, 这个节点不拉取任务 if (result?.currentStatus == TaskStatusEnum.CompleteTask.code - && (!QueryCurrentTaskRespBean.isOrderArriveAtStart(result) - || !QueryCurrentTaskRespBean.isOrderArriveAtEnd(result)) ) { mTaxiTaskWithOrderCallbackMap.forEach { val listener = it.value @@ -822,7 +808,7 @@ object TaxiTaskModel { fun updateLocalCalculateStation() { if (mCurrentTaskWithOrder == null) return if (mCurrentTaskWithOrder!!.startSite != null && mCurrentTaskWithOrder!!.endSite != null - && mCurrentTaskWithOrder!!.currentStatus <= TaskStatusEnum.StartTask.code + && mCurrentTaskWithOrder!!.currentStatus == TaskStatusEnum.StartTask.code ) { val curTaskAndOrder = getCurrentTaskWithOrder() ?: return if (curTaskAndOrder.startSite != null && curTaskAndOrder.endSite != null) { @@ -835,6 +821,7 @@ object TaxiTaskModel { setStationPoint(startStation, endStation, curTaskAndOrder.lineId) } } else { + AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi() setStationPoint(null, null, -1L) } } From fc742097aeb09732698583d987751385c744076a Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 14 Sep 2023 17:16:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[6.1.0]=20=E5=A2=9E=E5=8A=A0=E8=BD=A8?= =?UTF-8?q?=E8=BF=B9=E8=AE=A1=E7=AE=97=E7=9A=84=E5=BC=80=E5=A7=8B,?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt | 2 ++ 1 file changed, 2 insertions(+) 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 18b6a8db3c..28a9273d8e 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 @@ -810,6 +810,7 @@ object TaxiTaskModel { if (mCurrentTaskWithOrder!!.startSite != null && mCurrentTaskWithOrder!!.endSite != null && mCurrentTaskWithOrder!!.currentStatus == TaskStatusEnum.StartTask.code ) { + d(TAG, "updateLocalCalculateStation start") val curTaskAndOrder = getCurrentTaskWithOrder() ?: return if (curTaskAndOrder.startSite != null && curTaskAndOrder.endSite != null) { val startStation = MogoLocation() @@ -821,6 +822,7 @@ object TaxiTaskModel { setStationPoint(startStation, endStation, curTaskAndOrder.lineId) } } else { + d(TAG, "updateLocalCalculateStation stop") AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi() setStationPoint(null, null, -1L) } From e6a8578eb958b8e31f6a57a09e4d976f458551f6 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 14 Sep 2023 17:44:29 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[6.1.0][=E8=BD=A6=E5=89=8D=E5=BC=95?= =?UTF-8?q?=E5=AF=BC=E7=BA=BF]=20=E4=BC=98=E5=8C=96=E8=BD=A6=E5=89=8D?= =?UTF-8?q?=E5=BC=95=E5=AF=BC=E7=BA=BF=E7=BB=98=E5=88=B6=E4=B8=8E=E7=BE=8E?= =?UTF-8?q?=E5=8C=96=E6=A8=A1=E5=BC=8F=E4=B9=8B=E9=97=B4=E7=9A=84=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/business/routeoverlay/MogoRouteOverlayManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java index f4f3a42934..838a597dc8 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java @@ -76,7 +76,7 @@ public class MogoRouteOverlayManager implements RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } - boolean force = FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData; + boolean force = FunctionBuildConfig.isDemoMode && FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData; if (!force && autopilotMode.get() != 2) { RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return;