From d6d5b9650e76228862510b086e3442eb3ccb67a7 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 11 Jul 2024 12:06:38 +0800 Subject: [PATCH] =?UTF-8?q?[6.5.0]=20[fix]=20[relase=20=E9=87=8A=E6=94=BE?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E3=80=81=E5=B9=B6=E5=88=A4=E7=A9=BA]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/taxi/presenter/NaviPresenter.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java index 3eefaf7863..a5b5053315 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/NaviPresenter.java @@ -43,6 +43,7 @@ public class NaviPresenter extends Presenter implements @Override public void onDestroy( @NonNull LifecycleOwner owner ) { + releaseListeners(); super.onDestroy( owner ); } @@ -54,24 +55,22 @@ public class NaviPresenter extends Presenter implements TaxiModel.getInstance().setMoGoAutopilotPlanningListener(null); } - private void runOnUIThread( Runnable executor ) { - if ( executor == null ) { - return; - } - if ( Looper.myLooper() != Looper.getMainLooper() ) { - UiThreadHandler.post( executor ); - } else { - executor.run(); - } - } - @Override public void setLineMarker(LatLng startStation, LatLng endStation) { - runOnUIThread(() -> mView.setLineMarker(startStation,endStation)); + UiThreadHandler.post(new Runnable() { + @Override + public void run() { + if(mView!=null) { + mView.setLineMarker(startStation, endStation); + } + } + },UiThreadHandler.MODE.QUEUE); } @Override public void routeResult(List routeArrivied, List routeArriving, MogoLocation location) { - mView.routeResult(routeArrivied,routeArriving,location); + if(mView!=null) { + mView.routeResult(routeArrivied, routeArriving, location); + } } }