[6.0.0] 1、预加载轨迹逻辑处理 2、去除起点围栏
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -6,12 +6,13 @@ import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils;
|
||||
import com.mogo.och.taxi.bean.TrajectoryListRespBean;
|
||||
import com.mogo.och.taxi.bean.ContrailListRespBean;
|
||||
import com.mogo.och.taxi.bean.OrderDetail;
|
||||
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean;
|
||||
import com.mogo.och.taxi.bean.Site;
|
||||
import com.mogo.och.taxi.constant.TaskStatusEnum;
|
||||
import com.mogo.och.taxi.constant.TaxiUnmannedConst;
|
||||
import com.mogo.och.taxi.ui.task.TaxiTaskModel;
|
||||
import com.mogo.och.taxi.model.TaxiModel;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -66,7 +67,7 @@ public class TaxiTrajectoryManager {
|
||||
* 同步订单信息
|
||||
*/
|
||||
public void syncTrajectoryInfo() {
|
||||
QueryCurrentTaskRespBean.Result taskAndOrder = TaxiTaskModel.INSTANCE.getCurTaskAndOrder();
|
||||
QueryCurrentTaskRespBean.Result taskAndOrder = TaxiModel.INSTANCE.getCurTaskAndOrder();
|
||||
if (taskAndOrder == null || taskAndOrder.getCurrentStatus() >= TaskStatusEnum.StartTask.getCode()) {
|
||||
CallerLogger.d(M_TAXI + TAG, "syncTrajectoryInfo() stop.");
|
||||
stopTrajReqLoop();
|
||||
@@ -115,7 +116,7 @@ public class TaxiTrajectoryManager {
|
||||
}
|
||||
|
||||
private void setupAutoPilotLine() {
|
||||
QueryCurrentTaskRespBean.Result taskAndOrder = TaxiTaskModel.INSTANCE.getCurTaskAndOrder();
|
||||
QueryCurrentTaskRespBean.Result taskAndOrder = TaxiModel.INSTANCE.getCurTaskAndOrder();
|
||||
|
||||
if (taskAndOrder == null || taskAndOrder.getEndSite() == null) {
|
||||
CallerLogger.e(M_TAXI + TAG,
|
||||
@@ -128,7 +129,7 @@ public class TaxiTrajectoryManager {
|
||||
* 4、若不存在,说明当前的执行的任务是与订单无关的演练任务,通知下载加载当前任务的轨迹以及预加载订单轨迹集合的第一个
|
||||
*/
|
||||
|
||||
final TrajectoryListRespBean.Result curTaskContrail = TaxiTaskModel.INSTANCE.getCurrentTaskTrajectory();
|
||||
final ContrailListRespBean.Result curTaskContrail = TaxiModel.INSTANCE.getCurTaskContrail();
|
||||
if (curTaskContrail == null) return;
|
||||
|
||||
long curLineId = taskAndOrder.getLineId();
|
||||
@@ -156,20 +157,29 @@ public class TaxiTrajectoryManager {
|
||||
}
|
||||
|
||||
final OrderDetail orderDetail = taskAndOrder.getOrder();
|
||||
TrajectoryListRespBean.Result preloadContrail = null; //预加载的轨迹
|
||||
final List<TrajectoryListRespBean.Result> orderContrails = TaxiTaskModel.INSTANCE.getCurrentOrderTrajectoryList();
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user