From 41afd33db6548312cdb42b40099cb55312574cc3 Mon Sep 17 00:00:00 2001 From: Joonas Kerttula Date: Wed, 8 Apr 2026 16:27:34 +0300 Subject: [PATCH] fix: nav service issue after cleanup --- .../google/android/react/navsdk/NavForwardingManager.java | 2 +- .../java/com/google/android/react/navsdk/NavModule.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) 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 734069f7..8b805b2c 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 4b4d28c1..40fce65c 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); } }