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 b0841a67dc..8320f4bc6a 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 @@ -70,6 +70,9 @@ object TaxiPassengerModel { @Volatile var currentTrajectoryInfo: TaxiPassengerGetTrajectoryByLineIdRespBean.TrajectoryInfo? = null + // 当前任务的状态 + var currentTaskStatus: Int = -1 + private val mOrderStatusCallbackMap: MutableMap = ConcurrentHashMap() @@ -171,6 +174,7 @@ object TaxiPassengerModel { currentOCHOrder = null currentLineId = null currentTrajectoryInfo = null + currentTaskStatus = -1 orderStatusChange() } else { // 当前一直是演练,到终点后清除轨迹信息 @@ -219,9 +223,13 @@ object TaxiPassengerModel { currentOCHOrder = currentOrder // 到终点后需要清除轨迹信息 if (data.data.currentStatus == TaxiPassengerConst.TaskStatus_CompleteTask) { - orderStatusChange() + if (data.data.currentStatus != currentTaskStatus) { + currentTaskStatus = data.data.currentStatus + orderStatusChange() + } } } + currentTaskStatus = data.data.currentStatus } else { if (currentOCHOrder != null) { queryCurrentOrderStatus() @@ -270,6 +278,7 @@ object TaxiPassengerModel { currentOCHOrder = null currentLineId = null currentTrajectoryInfo = null + currentTaskStatus = -1 } else { currentOCHOrder = data.data orderStatusChange() diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt index 9f58353d33..330ee4ba1f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt @@ -73,7 +73,9 @@ object TaxiPassengerServiceManager { if (ordersInServiceQueryResp.data == null || ordersInServiceQueryResp.data.lineId == -1L ) { - ordersInServiceQueryResp.data.trajectoryInfoByQuery = null + if (ordersInServiceQueryResp.data != null) { + ordersInServiceQueryResp.data.trajectoryInfoByQuery = null + } return@flatMap Observable.just(ordersInServiceQueryResp) } val lineId = ordersInServiceQueryResp.data.lineId