[Taxi无人化]fix: 乘客屏 演练任务结束 轨迹及时清除问题;

This commit is contained in:
aibingbing
2023-08-31 18:47:48 +08:00
parent 1d9cf02b66
commit a1aafe158a
4 changed files with 83 additions and 76 deletions

View File

@@ -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 //到达目的地
}
}

View File

@@ -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
}

View File

@@ -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 -> {}
}
}

View File

@@ -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() {