diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java index c65e1a4de4..d436061208 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java @@ -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; }