diff --git a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java index e0b8add9a9..2983db0b0d 100644 --- a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java +++ b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java @@ -81,20 +81,32 @@ public class BaseBusPassengerPresenter extends Presenter mView.onAutopilotStatusChanged( - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE)); + runOnUIThread(() -> { + if(mView!=null) { + mView.onAutopilotStatusChanged( + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE); + } + }); } @Override public void onAutopilotDisable() { - runOnUIThread(() -> mView.onAutopilotStatusChanged( - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE)); + runOnUIThread(() -> { + if(mView!=null) { + mView.onAutopilotStatusChanged( + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE); + } + }); } @Override public void onAutopilotRunning() { - runOnUIThread(() -> mView.onAutopilotStatusChanged( - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); + runOnUIThread(() -> { + if(mView!=null) { + mView.onAutopilotStatusChanged( + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING); + } + }); } @Override @@ -104,14 +116,20 @@ public class BaseBusPassengerPresenter extends Presenter mView.onCarLocationChanged(location)); - } + runOnUIThread(() -> { + if(mView!=null&&location!=null) { + mView.onCarLocationChanged(location); + } + }); } @Override public void changeOperationStatus(boolean changeStatus) { - runOnUIThread(() -> mView.changeOperationStatus(changeStatus)); + runOnUIThread(() -> { + if(mView!=null) { + mView.changeOperationStatus(changeStatus); + } + }); } @Override @@ -121,37 +139,65 @@ public class BaseBusPassengerPresenter extends Presenter mView.updateDriverSn(sn)); + runOnUIThread(() -> { + if(mView!=null) { + mView.updateDriverSn(sn); + } + }); } @Override public void updateLineInfo(String lineName, String lineDurTime) { - runOnUIThread(() -> mView.updateLineInfo(lineName, lineDurTime)); + runOnUIThread(() -> { + if(mView!=null) { + mView.updateLineInfo(lineName, lineDurTime); + } + }); } @Override public void updateStationsInfo(List stations, int currentStationIndex, boolean isArrived) { - runOnUIThread(() -> mView.updateStationsInfo(stations,currentStationIndex, isArrived)); + runOnUIThread(() -> { + if(mView!=null) { + mView.updateStationsInfo(stations, currentStationIndex, isArrived); + } + }); } @Override public void showNoTaskView() { - runOnUIThread(() -> mView.showNoTaskView()); + runOnUIThread(() -> { + if(mView!=null) { + mView.showNoTaskView(); + } + }); } @Override public void hideNoTaskView() { - runOnUIThread(() -> mView.hideNoTaskView()); + runOnUIThread(() -> { + if(mView!=null) { + mView.hideNoTaskView(); + } + }); } @Override public void routeResult(List routeArrived,List routeArriving,MogoLocation location) { - runOnUIThread(() ->mView.routeResult(routeArrived,routeArriving,location)); + runOnUIThread(() -> { + if(mView!=null) { + mView.routeResult(routeArrived, routeArriving, location); + } + }); } @Override public void routePlanningToNextStationChanged(long meters, long timeInSecond) { - runOnUIThread(() -> mView.updateRoutePlanningToNextStation(meters, timeInSecond)); + runOnUIThread(() -> { + if(mView!=null) { + mView.updateRoutePlanningToNextStation(meters, timeInSecond); + } + }); } } diff --git a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java index 77b7012c04..ff7cee2e26 100644 --- a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java +++ b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java @@ -131,6 +131,7 @@ public abstract class BusPassengerBaseFragment