From c7db1879283d1667b9bdb53149d77166fa6b4d44 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Sun, 18 Jul 2021 12:26:51 +0800 Subject: [PATCH] =?UTF-8?q?taxi=203=E7=A7=92=E8=BD=AE=E8=AF=A2=E6=96=B9?= =?UTF-8?q?=E6=A1=88=20=20=E7=BC=93=E8=A7=A3=E9=95=BF=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/taxi/MogoOCHTaxiModel.java | 25 +++++++++++++++++++ .../com/mogo/och/taxi/ui/OCHTaxiFragment.java | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java index d4d5e3e9fb..1ded643d76 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java @@ -28,8 +28,11 @@ import com.mogo.utils.storage.SharedPrefsMgr; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.TimeUnit; +import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; public @@ -149,6 +152,14 @@ class MogoOCHTaxiModel { Logger.e(TAG,"querryCarStatus:"+data.data.status); mOCHRHCarstatus = data.data.status == 1 ? 1:0; + + if (mOCHRHCarstatus == 1){ + timeLoop(); + }else { + if (mDisposable != null ){ + mDisposable.dispose(); + } + } //更新view OCHTaxiUiController.getInstance().onOperationChanged(mOCHRHCarstatus==1); //刷新数据 @@ -841,4 +852,18 @@ class MogoOCHTaxiModel { e.printStackTrace(); } } + + private static final int PERIOD = 3 * 1000; + private static final int DELAY = 100; + private Disposable mDisposable; + /** + * 定时循环任务 + */ + private void timeLoop() { + mDisposable = Observable.interval(DELAY, PERIOD, TimeUnit.MILLISECONDS) + .map((aLong -> aLong + 1)) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(aLong -> query2RestoreOrderStatus(null)); + } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java index debe96589a..428524960f 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java @@ -67,7 +67,7 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i private TextView mDistance; private MogoPolylineOptions mogoPolylineOptions; - private int saveOrderState = -1; + private volatile int saveOrderState = -1; @Override public int getStationPanelViewId() { return R.layout.module_och_taxi_panel;