diff --git a/android/src/main/java/com/google/android/react/navsdk/NavForwardingManager.java b/android/src/main/java/com/google/android/react/navsdk/NavForwardingManager.java index 734069f..8b805b2 100644 --- a/android/src/main/java/com/google/android/react/navsdk/NavForwardingManager.java +++ b/android/src/main/java/com/google/android/react/navsdk/NavForwardingManager.java @@ -35,7 +35,7 @@ public static void startNavForwarding( /** Unregisters the service receiving navigation updates */ public static void stopNavForwarding( - Navigator navigator, Context context, INavigationCallback navigationCallback) { + Navigator navigator, INavigationCallback navigationCallback) { // Unregister the nav info receiving service. boolean success = navigator.unregisterServiceForNavUpdates(); if (success) { diff --git a/android/src/main/java/com/google/android/react/navsdk/NavModule.java b/android/src/main/java/com/google/android/react/navsdk/NavModule.java index 4b4d28c..40fce65 100644 --- a/android/src/main/java/com/google/android/react/navsdk/NavModule.java +++ b/android/src/main/java/com/google/android/react/navsdk/NavModule.java @@ -176,10 +176,14 @@ public void cleanup(final Promise promise) { } final Navigator navigator = mNavigator; + mNavigator = null; + mRoadSnappedLocationProvider = null; + UiThreadUtil.runOnUiThread( () -> { - navigator.clearDestinations(); + NavForwardingManager.stopNavForwarding(navigator, this); navigator.stopGuidance(); + navigator.clearDestinations(); navigator.getSimulator().unsetUserLocation(); promise.resolve(true); }); @@ -415,7 +419,7 @@ public void setTurnByTurnLoggingEnabled(boolean isEnabled) { if (isEnabled) { NavForwardingManager.startNavForwarding(mNavigator, currentActivity, this); } else { - NavForwardingManager.stopNavForwarding(mNavigator, currentActivity, this); + NavForwardingManager.stopNavForwarding(mNavigator, this); } }