[290 taxi司机屏] 解决乘客屏计算里程数问题

This commit is contained in:
wangmingjun
2022-08-03 11:46:16 +08:00
parent c7bbdd2285
commit e7f4d8e823
2 changed files with 13 additions and 6 deletions

View File

@@ -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) {

View File

@@ -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<Disposable>() {
@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;
}
}
}