From e7f4d8e82359a748d25b4b845d98539c6c4b07cc Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 3 Aug 2022 11:46:16 +0800 Subject: [PATCH] =?UTF-8?q?[290=20taxi=E5=8F=B8=E6=9C=BA=E5=B1=8F]=20?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=B9=98=E5=AE=A2=E5=B1=8F=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E9=87=8C=E7=A8=8B=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/taxi/model/TaxiModel.java | 7 +++++-- .../mogo/och/taxi/model/TaxiModelLoopManager.java | 12 ++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) 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; } } }