diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt index 7d1d909059..d013c8e749 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt @@ -591,8 +591,8 @@ object TaxiModel { judgeUntruthStation(mUntruthTask, mogoLocation) } - if (checkCurrentTask()) { - judgeTaskStartStation(mogoLocation) + if (checkCurrentTask() && mCurrentTaskAndOrder?.currentStatus == TaskStatusEnum.StartTask.code) { +// judgeTaskStartStation(mogoLocation) judgeTaskEndSiteStation(mogoLocation) } @@ -662,6 +662,7 @@ object TaxiModel { } private fun judgeTaskEndSiteStation(currentLocation: MogoLocation) { + i(SceneConstant.M_TAXI + TAG, "judgeEndStation() judgeTaskEndSiteStation") if (!checkCurrentTask()) { return } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java index 92370e4f24..34d7c687d8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java @@ -158,19 +158,28 @@ public class TaxiTrajectoryManager { final OrderDetail orderDetail = taskAndOrder.getOrder(); ContrailListRespBean.Result preloadContrail = null; //预加载的轨迹 + int preLoadIndex = -1; + + //包含接驾任务和送驾任务的轨迹, 且集合是有顺序的 , 最后一个是送驾任务轨迹 final List orderContrails = TaxiModel.INSTANCE.getCurOrderContrails(); if (orderDetail != null && orderContrails != null && orderContrails.size() != 0 ){ for (int i = 0; i< orderContrails.size() ; i++){ if (orderContrails.get(i).getLineId() == curLineId){ //预加载轨迹是curLineId索引的下一个 int index = i + 1; - if (orderContrails.size()-1 >= index){ + if (orderContrails.size() == index){ + //说明找到的是集合最后一个, 最后一个为送驾轨迹,即送驾轨迹和当前的任务轨迹是一样的,不再预加载 + preLoadIndex = index; + break; + }else if (orderContrails.size()-1 >= index){ preloadContrail = orderContrails.get(index); + preLoadIndex = index; + break; } } } - if (preloadContrail == null){ - //不包含预加载轨迹直接是集合第一个 + + if (preLoadIndex == -1){ //说明当前任务轨迹在接驾/送驾轨迹集合里没有, 直接加载轨迹集合第一个 preloadContrail = orderContrails.get(0); } }