diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java index 14caea1f5a..efc8f13177 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java @@ -86,10 +86,12 @@ public class MogoRouteOverlayManager implements return; } synchronized (queue) { - List items = queue.peekLast(); - if (items != null && !items.isEmpty()) { - Logger.d(TAG, "--- onLocationChanged -- [isDemo1: " + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData + ",isDemo2:" +FunctionBuildConfig.isDemoMode + ",isGps:" + isGps + ",mode:" + autopilotMode.get() + ",lon:" + location.getLongitude() + ",lat:" + location.getLatitude() + ",angle:" + location.getBearing() + "]"); - RouteOverlayDrawer.getInstance().drawTrajectoryList(items, location.getBearing()); + if (!queue.isEmpty()) { + List items = queue.pollLast(); + if (items != null && !items.isEmpty()) { + Logger.d(TAG, "--- onLocationChanged -- [isDemo1: " + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData + ",isDemo2:" +FunctionBuildConfig.isDemoMode + ",isGps:" + isGps + ",mode:" + autopilotMode.get() + ",lon:" + location.getLongitude() + ",lat:" + location.getLatitude() + ",angle:" + location.getBearing() + "]"); + RouteOverlayDrawer.getInstance().drawTrajectoryList(items, location.getBearing()); + } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java index 65d9e0dbaf..01076f6084 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java @@ -63,14 +63,13 @@ public class RouteOverlayDrawer { } public void clearMogoRouteOverlay() { + if (mRenderTask != null) { + mRenderHandler.removeCallbacks(mRenderTask); + } if (mMoGoPolyline != null) { mMoGoPolyline.remove(); mMoGoPolyline = null; } - - if (mRenderTask != null) { - mRenderHandler.removeCallbacks(mRenderTask); - } } private class RenderTask implements Runnable {