[Bus/Taxi driver v2.8.0]Taxi同一订单只状态变更时不重复发'轨迹下发request'(超时未接收到反馈时,状态变更可重复发)(实际在乘客端触发状态变更时出现)
This commit is contained in:
@@ -39,6 +39,7 @@ public class TaxiTrajectoryManager {
|
||||
|
||||
private AutopilotControlParameters.AutoPilotLine mAutoPilotLine = null;
|
||||
private Disposable mSendReqDisposable = null;
|
||||
private String mPrevOrderNo = "";
|
||||
|
||||
public TaxiTrajectoryManager() {
|
||||
mAutoPilotLine = new AutopilotControlParameters.AutoPilotLine(
|
||||
@@ -55,8 +56,13 @@ public class TaxiTrajectoryManager {
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "syncTrajectoryInfo() stop.");
|
||||
stopTrajReqLoop();
|
||||
} else {
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "syncTrajectoryInfo() start.");
|
||||
startTrajReqLoop();
|
||||
if (mPrevOrderNo.equals(orderInfo.orderNo)) {
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "syncTrajectoryInfo() 重复订单.");
|
||||
} else {
|
||||
mPrevOrderNo = orderInfo.orderNo;
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "syncTrajectoryInfo() start.");
|
||||
startTrajReqLoop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,6 +146,7 @@ public class TaxiTrajectoryManager {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(aLong -> {
|
||||
if (aLong > TaxiConst.LOOP_SEND_TRAJ_TIMES) {
|
||||
mPrevOrderNo = ""; //重发超时后将mPrevOrderNo置空,这样订单进入下个状态时还可以重发
|
||||
stopTrajReqLoop();
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user