diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt index 83a164aa6f..feb0c34b2d 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt @@ -72,13 +72,20 @@ object LineManager : CallerBase() { /** * 起始站点 */ + @Volatile private var startStation: BusStationBean? = null /** * 结束站点 */ + @Volatile private var endStation: BusStationBean? = null + /** + * 上次到站的siteId + */ + @Volatile + var lastArrivedSiteId = -1 /** * 和[autopilotId]相关 默认为true @@ -155,7 +162,8 @@ object LineManager : CallerBase() { private val mMapLocationListener = object : IMoGoChassisLocationGCJ02Listener { override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { if (null == mogoLocation) return - getStations { start, end -> + getStations { _, end -> + if (end.siteId == lastArrivedSiteId) return@getStations val startLon = end.gcjLon val startLat = end.gcjLat val distance = CoordinateUtils.calculateLineDistance( diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index 1a147042b3..115531b989 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -266,6 +266,7 @@ object LineModel { it.value.onCompleteTaskFail() } } + LineManager.lastArrivedSiteId = -1 } override fun onComplete() { @@ -296,6 +297,7 @@ object LineModel { "taskId:${currentTask?.taskId}--lineInfo:${LineManager.lineInfos}" OchChainLogManager.writeChainLog("结束任务", changeInfo) } + LineManager.lastArrivedSiteId = -1 onComplete() } }) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index a2019e91f1..d975451558 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -234,7 +234,6 @@ object OrderModel { d(TAG, "结束当前路线abortTask") removeTipRunnables() LineModel.endTask() - } } @@ -464,6 +463,7 @@ object OrderModel { if (isArrivedStation) return@getStations OchChainLogManager.writeChainLog("触发进站", type) + LineManager.lastArrivedSiteId = end.siteId isArrivedStation = true isGoingToNextStation = false start.drivingStatus = TaskSiteDataBean.drivingStatusPassed @@ -542,6 +542,7 @@ object OrderModel { MogoStatusManager.getInstance().setTaxiUnmanedDriverLineRoutingVerifyMode(TAG, false) CallerSopSettingManager.invokeRoutingListener(false) MapMakerManager.removeAllMapMarkerByOwner(TAG) + LineManager.lastArrivedSiteId = -1 BusTrajectoryManager.stopTrajReqLoop() LoginStatusManager.loginOut() }