[290 bus/taxi] 优化路线计算定时器

This commit is contained in:
wangmingjun
2022-08-03 12:53:22 +08:00
parent 554a20963e
commit 9e75876530
4 changed files with 17 additions and 5 deletions

View File

@@ -37,11 +37,12 @@ public class BusPassengerModelLoopManager {
}
private Disposable mHeartbeatDisposable; //心跳轮询
private CompositeDisposable mRouteWipeDisposable = new CompositeDisposable();
private CompositeDisposable mCalculateRouteDisposable = new CompositeDisposable(); //每隔2s计算一次剩余里程和时间
private CompositeDisposable mRouteWipeDisposable;
private CompositeDisposable mCalculateRouteDisposable; //每隔2s计算一次剩余里程和时间
public void startOrStopRouteAndWipe() {
CallerLogger.INSTANCE.i(M_BUS_P + TAG, "startOrStopRouteWipe()");
if (mRouteWipeDisposable != null) return;
if (mRouteWipeDisposable == null){
mRouteWipeDisposable = new CompositeDisposable();
}
@@ -70,7 +71,10 @@ public class BusPassengerModelLoopManager {
}
public void stopOrStopRouteAndWipe() {
if (mRouteWipeDisposable != null) mRouteWipeDisposable.dispose();
if (mRouteWipeDisposable != null) {
mRouteWipeDisposable.dispose();
mRouteWipeDisposable = null;
}
}
public void startQueryDriverLineLoop() {
@@ -96,6 +100,7 @@ public class BusPassengerModelLoopManager {
public void startCalculateRouteInfoLoop() {
CallerLogger.INSTANCE.i(M_BUS_P + TAG, "startCalculateRouteInfoLoop()");
if (mCalculateRouteDisposable != null) return;
if (mCalculateRouteDisposable == null){
mCalculateRouteDisposable = new CompositeDisposable();
}
@@ -127,6 +132,7 @@ public class BusPassengerModelLoopManager {
if (mCalculateRouteDisposable != null) {
CallerLogger.INSTANCE.i(M_BUS_P + TAG, "stopCalculateRouteInfLoop()");
mCalculateRouteDisposable.dispose();
mCalculateRouteDisposable = null;
}
}

View File

@@ -107,13 +107,16 @@ public abstract class BusPassengerBaseFragment<V extends IView, P extends Presen
if (currentIndex == 0){
mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title_init));
mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip_init));
mProgressBar.setVisibility(View.GONE);
return;
}
if (isArrived){
mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title));
mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip));
mProgressBar.setVisibility(View.GONE);
}else {
mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_next_station_title));
mProgressBar.setVisibility(View.VISIBLE);
}
}

View File

@@ -299,6 +299,7 @@ public class BusPassengerMapDirectionView
public void clearCoordinatesLatLng(){
mCoordinatesLatLng.clear();
mLinePointsLatLng.clear();
}
public void onCreateView(Bundle savedInstanceState) {

View File

@@ -35,7 +35,7 @@ public class TaxiPassengerModelLoopManager {
private Disposable mInAndWaitServiceDisposable; //进行中、待服务订单列表轮询
private Disposable mQueryOrderRemainingDisposable; //心跳轮询
private CompositeDisposable mRouteWipeDisposable = new CompositeDisposable(); //轨迹擦除
private CompositeDisposable mRouteWipeDisposable; //轨迹擦除
private Disposable mReadyToAutopilotDisposable; //轮询是否可开启自动驾驶
public void startReadyToAutopilot() {
@@ -60,10 +60,11 @@ public class TaxiPassengerModelLoopManager {
}
public void startRouteAndWipe() {
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "startRouteAndWipe()");
if (mRouteWipeDisposable != null) return;
if (mRouteWipeDisposable == null){
mRouteWipeDisposable = new CompositeDisposable();
}
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "startRouteAndWipe()");
Disposable disposable = startLoopRouteAndWipe()
.doOnSubscribe(new Consumer<Disposable>() {
@Override
@@ -102,6 +103,7 @@ public class TaxiPassengerModelLoopManager {
if (mRouteWipeDisposable != null) {
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "stopRouteAndWipe()");
mRouteWipeDisposable.dispose();
mRouteWipeDisposable = null;
}
}