[6.0.0] 1、预加载轨迹逻辑处理 2、去除起点围栏

This commit is contained in:
wangmingjun
2023-08-24 19:59:30 +08:00
parent 3f51ca762c
commit e32f2c5f0a
2 changed files with 15 additions and 5 deletions

View File

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

View File

@@ -158,19 +158,28 @@ public class TaxiTrajectoryManager {
final OrderDetail orderDetail = taskAndOrder.getOrder();
ContrailListRespBean.Result preloadContrail = null; //预加载的轨迹
int preLoadIndex = -1;
//包含接驾任务和送驾任务的轨迹, 且集合是有顺序的 , 最后一个是送驾任务轨迹
final List<ContrailListRespBean.Result> 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);
}
}