diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 147830d57e..90040dd0c8 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -1208,6 +1208,8 @@ public class TaxiModel { @Override public void onAutopilotRotting(MessagePad.GlobalPathResp routeList) { + CallerLogger.INSTANCE.d(M_TAXI + TAG, "onAutopilotRotting = " + + GsonUtil.jsonFromObject(routeList)); if (null != routeList && routeList.getWayPointsList().size() > 0) { updateOrderRoute(routeList.getWayPointsList()); updateOrderRouteInfo(routeList.getWayPointsList()); @@ -1276,7 +1278,7 @@ public class TaxiModel { if (mCurrentOCHOrder != null && mRoutePoints.size() == 0) {//根据orderNo去查询 queryOrderRouteList(mCurrentOCHOrder.orderNo); } - + Logger.d(M_TAXI + TAG, "--------mRoutePoints.size---------- " + mRoutePoints.size()); //开启实时计算剩余距离,剩余时间,预计时间 startOrStopCalculateRouteInfo(true); } @@ -1300,7 +1302,8 @@ public class TaxiModel { double lastTime = lastSumLength / TaxiConst.TAXI_AVERAGE_SPEED * 3.6; //秒 Logger.d(M_TAXI + "dynamicCalculateRouteInfo" - , "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime); + , "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime + + " thread = "+ Thread.currentThread().getName()); mCurrentOCHOrder.decreaseTravelDistance(lastSumLength); if (mOrderStatusCallback != null) { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java index 16d7ff5cb4..63f281cacf 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModelLoopManager.java @@ -38,7 +38,7 @@ public class TaxiModelLoopManager { private Disposable mNewBookingOrderDisposable; //新到待抢预约单轮询 private Disposable mGrabResultDisposable; //抢单结果轮询 private Disposable mHeartbeatDisposable; //心跳轮询 - private CompositeDisposable mCalculateRouteDisposable = new CompositeDisposable(); //每隔2s计算一次剩余里程和时间 + private CompositeDisposable mCalculateRouteDisposable; //每隔2s计算一次剩余里程和时间 public void startInAndWaitOrdersLoop() { if (mInAndWaitServiceDisposable != null && !mInAndWaitServiceDisposable.isDisposed()) { @@ -126,8 +126,11 @@ public class TaxiModelLoopManager { public void startCalculateRouteInfoLoop() { - CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "startCalculateRouteInfoLoop()"); - + CallerLogger.INSTANCE.i(M_TAXI + TAG, "startCalculateRouteInfoLoop()"); + if (mCalculateRouteDisposable != null) return; + if (mCalculateRouteDisposable == null){ + mCalculateRouteDisposable = new CompositeDisposable(); + } Disposable disposable = loopDynamicCalculateRouteInfo() .doOnSubscribe(new Consumer() { @Override @@ -165,8 +168,9 @@ public class TaxiModelLoopManager { public void stopCalculateRouteInfLoop() { if (mCalculateRouteDisposable != null) { - CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "stopCalculateRouteInfLoop()"); + CallerLogger.INSTANCE.i(M_TAXI + TAG, "stopCalculateRouteInfLoop()"); mCalculateRouteDisposable.dispose(); + mCalculateRouteDisposable = null; } } }