diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 06ce8ec0f4..c3070eb0ba 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -67,7 +67,10 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; +import io.reactivex.Observable; +import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.UndeliverableException; import io.reactivex.functions.Consumer; import io.reactivex.plugins.RxJavaPlugins; @@ -108,6 +111,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback private ITaxiPassengerVeloctityCallback mVeloctityCallback;//道路限速返回 + private Disposable subscribe; + private int delayTime = 2; + private double mLongitude, mLatitude; private List mLocationsModels = new ArrayList<>(); @@ -209,6 +215,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback startOrStopOrderLoop(false); startOrStopQueryOrderRemaining(false); releaseListeners(); + if(subscribe!=null&&!subscribe.isDisposed()){ + subscribe.dispose(); + } } private void initListeners() { @@ -720,13 +729,17 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback startOrStopRouteAndWipe(true); } }else { - queryOrderRouteList(); + subscribe = Observable.timer(delayTime, TimeUnit.SECONDS).subscribe(aLong -> { + queryOrderRouteList(); + }); } } @Override public void onFail(int code, String msg) { - queryOrderRouteList(); + subscribe = Observable.timer(delayTime, TimeUnit.SECONDS).subscribe(aLong -> { + queryOrderRouteList(); + }); } }); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java index 48cb45f36e..089dee2fc9 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java @@ -24,11 +24,8 @@ import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; import com.mogo.och.taxi.passenger.ui.TaxiPassengerServingOrderFragment; -import java.util.ArrayList; import java.util.List; -import mogo.telematics.pad.MessagePad; - import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; /** @@ -54,9 +51,11 @@ public class TaxiPassengerServingOrderPresenter extends Presenter mView.onCarLocationChanged(location)); + long currentTimeMillis = System.currentTimeMillis(); + if(currentTimeMillis-startTime { - mPresenter.queryLoginStatus(); taxiLoginDialogFragment.clear(); + mPresenter.queryLoginStatus(); }); } }