From e32f2c5f0aeaefe0872996d8f39275b4f1175691 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 24 Aug 2023 19:59:30 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=201=E3=80=81=E9=A2=84=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86=202?= =?UTF-8?q?=E3=80=81=E5=8E=BB=E9=99=A4=E8=B5=B7=E7=82=B9=E5=9B=B4=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/taxi/model/TaxiModel.kt | 5 +++-- .../och/taxi/utils/TaxiTrajectoryManager.java | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) 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); } }