diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt index 4a12e389ae..eeccf6dc44 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt @@ -43,5 +43,11 @@ class TaxiPassengerConst { const val TaskType_VIRTUAL = 1 // 虚拟任务 const val TaskType_DRIVE_TO_START = 2 // 接驾任务 const val TaskType_DRIVE_TO_END = 3 //送驾任务 + + //任务状态 + const val TaskStatus_None = 0 //空闲 + const val TaskStatus_GetTask = 1 //获取任务 + const val TaskStatus_StartTask = 2 //开始任务 + const val TaskStatus_CompleteTask = 3 //到达目的地 } } \ No newline at end of file diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index 31c9433bf2..0bdb063458 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -171,9 +171,15 @@ object TaxiPassengerModel { ) // 如果上一个是 接驾或送驾任务 下一个是演练任务,需要reset页面状态 if (currentOCHOrder != null) { - currentOCHOrder?.orderStatus = TaxiPassengerOrderStatusEnum.None.code - orderStatusChange() currentOCHOrder = null + currentLineId = null + currentTrajectoryInfo = null + orderStatusChange() + } else { + // 当前一直是演练,到终点后清除轨迹信息 + if (data.data.currentStatus == TaxiPassengerConst.TaskStatus_CompleteTask) { + orderStatusChange() + } } return } @@ -278,6 +284,7 @@ object TaxiPassengerModel { //监听网络变化,避免启动机器时无网导致无法更新订单信息 private val distanceListener: IDistanceListener = object : IDistanceListener { var allDistance = 0f + override fun stationDistanceCallback(stationDistance: Float) { allDistance = stationDistance } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt index 185ba822d9..e43d1e1143 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt @@ -50,9 +50,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : } override fun onCurrentOrderStatusChanged(order: TaxiPassengerOrdersInServiceQueryRespBean.OrderBean?) { - order?.let { - updateOrderView(order) - } + updateOrderView(order) } override fun onCurrentOrderDistToEndChanged( @@ -63,73 +61,72 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : } private fun updateOrderView(order: TaxiPassengerOrdersInServiceQueryRespBean.OrderBean?) { - order?.let { - setItineraryVisibility() - when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { - // 10 接驾中 - mView?.showOrHideStartAutopilotView(isShow = false) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideArrivedEndLayout(isShow = false) - overMapViewClear() - } - - TaxiPassengerOrderStatusEnum.ArriveAtStart -> { - // 20 司机到达上车点 - mView?.showOrHideArrivedEndLayout(isShow = false) - mView?.showOrHidePressengerCheckPager(true) - mView?.showOrHideStartAutopilotView(isShow = false) - overMapViewClear() - } - - TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { - // 30 乘客到达上车点 - mView?.showOrHideArrivedEndLayout(isShow = false) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideStartAutopilotView(isShow = true) - overMapViewClear() - } - - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { - // 服务中(去往目的地) - mView?.showOrHideArrivedEndLayout(isShow = false) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideStartAutopilotView(isShow = false) - overMapViewShow() - } - - TaxiPassengerOrderStatusEnum.ArriveAtEnd -> { - // 50 到达终点 乘客可以评价 - mView?.showOrHideArrivedEndLayout(true) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideStartAutopilotView(isShow = false) - overMapViewClear() - } - TaxiPassengerOrderStatusEnum.JourneyCompleted -> { - // 60 行程完成 - mView?.showOrHideStartAutopilotView(isShow = false) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideArrivedEndLayout(false) - overMapViewClear() - } - - TaxiPassengerOrderStatusEnum.Cancel -> { - // 70 取消订单 - mView?.showOrHideStartAutopilotView(isShow = false) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideArrivedEndLayout(isShow = false) - overMapViewClear() - } - - TaxiPassengerOrderStatusEnum.None -> { - // 00 默认状态,在不同任务之间切换时使用 - mView?.showOrHideStartAutopilotView(isShow = false) - mView?.showOrHidePressengerCheckPager(isShow = false) - mView?.showOrHideArrivedEndLayout(isShow = false) - overMapViewClear() - } - else -> {} + setItineraryVisibility() + when (TaxiPassengerModel.curOrderStatus) { + TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { + // 10 接驾中 + mView?.showOrHideStartAutopilotView(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideArrivedEndLayout(isShow = false) + overMapViewClear() } + + TaxiPassengerOrderStatusEnum.ArriveAtStart -> { + // 20 司机到达上车点 + mView?.showOrHideArrivedEndLayout(isShow = false) + mView?.showOrHidePressengerCheckPager(true) + mView?.showOrHideStartAutopilotView(isShow = false) + overMapViewClear() + } + + TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { + // 30 乘客到达上车点 + mView?.showOrHideArrivedEndLayout(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideStartAutopilotView(isShow = true) + overMapViewClear() + } + + TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + // 服务中(去往目的地) + mView?.showOrHideArrivedEndLayout(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideStartAutopilotView(isShow = false) + overMapViewShow() + } + + TaxiPassengerOrderStatusEnum.ArriveAtEnd -> { + // 50 到达终点 乘客可以评价 + mView?.showOrHideArrivedEndLayout(true) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideStartAutopilotView(isShow = false) + overMapViewClear() + } + + TaxiPassengerOrderStatusEnum.JourneyCompleted -> { + // 60 行程完成 + mView?.showOrHideStartAutopilotView(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideArrivedEndLayout(false) + overMapViewClear() + } + + TaxiPassengerOrderStatusEnum.Cancel -> { + // 70 取消订单 + mView?.showOrHideStartAutopilotView(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideArrivedEndLayout(isShow = false) + overMapViewClear() + } + + TaxiPassengerOrderStatusEnum.None -> { + // 00 默认状态,在不同任务之间切换时使用 + mView?.showOrHideStartAutopilotView(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideArrivedEndLayout(isShow = false) + overMapViewClear() + } + else -> {} } } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/check/ChekViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/check/ChekViewModel.kt index 8ec10a1f1b..a7ca88b125 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/check/ChekViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/check/ChekViewModel.kt @@ -34,12 +34,9 @@ class ChekViewModel : ViewModel(), IOCHTaxiPassengerOrderStatusCallback { override fun onCurrentOrderStatusChanged(order: TaxiPassengerOrdersInServiceQueryRespBean.OrderBean?) { super.onCurrentOrderStatusChanged(order) - order?.let { - if(it.orderStatus != TaxiPassengerOrderStatusEnum.UserArriveAtStart.code){ - this.viewCallback?.dismissWindow() - } + if(order == null || order.orderStatus != TaxiPassengerOrderStatusEnum.UserArriveAtStart.code) { + this.viewCallback?.dismissWindow() } - } override fun onCleared() {