From 21ff5c4d56467912d8721a946f239215bbf0bfcb Mon Sep 17 00:00:00 2001 From: Roman Sytnyk Date: Wed, 4 Mar 2026 18:10:43 +0100 Subject: [PATCH] fix(android): use reactApplicationContext directly in trackDeepLinks trackDeepLinks() accessed SovranModule through the old ReactNativeHost chain (ReactApplication -> reactNativeHost -> reactInstanceManager -> currentReactContext -> getNativeModule), which throws a RuntimeException on React Native's New Architecture (Bridgeless mode): "You should not use ReactNativeHost directly in the New Architecture" The fix uses reactApplicationContext.getNativeModule() directly, which is the same pattern already used by setAnonymousId() in this class. Also removes unused ReactApplication and ReactActivity imports. --- .../AnalyticsReactNativeModule.kt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/core/android/src/main/java/com/segmentanalyticsreactnative/AnalyticsReactNativeModule.kt b/packages/core/android/src/main/java/com/segmentanalyticsreactnative/AnalyticsReactNativeModule.kt index 3cf9c4604..3aa6be120 100644 --- a/packages/core/android/src/main/java/com/segmentanalyticsreactnative/AnalyticsReactNativeModule.kt +++ b/packages/core/android/src/main/java/com/segmentanalyticsreactnative/AnalyticsReactNativeModule.kt @@ -13,8 +13,6 @@ import android.net.Uri import android.os.Build import android.util.Log import androidx.core.content.pm.PackageInfoCompat -import com.facebook.react.ReactActivity -import com.facebook.react.ReactApplication import com.facebook.react.bridge.* import com.facebook.react.module.annotations.ReactModule import com.sovranreactnative.SovranModule @@ -217,11 +215,7 @@ class AnalyticsReactNativeModule : ReactContextBaseJavaModule, ActivityEventList } Log.d(name, "Sending Deeplink data to store: uri=${uri}, referrer=${referrer}") - val sovran = (reactApplicationContext.currentActivity?.application as ReactApplication) - ?.reactNativeHost - ?.reactInstanceManager - ?.currentReactContext - ?.getNativeModule(SovranModule::class.java) + val sovran = reactApplicationContext.getNativeModule(SovranModule::class.java) sovran?.dispatch("add-deepLink-data", properties)