From 2016161e4a366091ffc22822025a19ee031b474c Mon Sep 17 00:00:00 2001 From: Marco Saia Date: Wed, 28 May 2025 11:48:47 +0200 Subject: [PATCH] [FIX] Android: runtime error 'Unable to find JSI module for call' --- .../reactnative/DdSdkSessionStartedListener.kt | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/packages/core/android/src/main/kotlin/com/datadog/reactnative/DdSdkSessionStartedListener.kt b/packages/core/android/src/main/kotlin/com/datadog/reactnative/DdSdkSessionStartedListener.kt index 3cffb7e58..9e75aae4d 100644 --- a/packages/core/android/src/main/kotlin/com/datadog/reactnative/DdSdkSessionStartedListener.kt +++ b/packages/core/android/src/main/kotlin/com/datadog/reactnative/DdSdkSessionStartedListener.kt @@ -63,25 +63,17 @@ internal class DdSdkSessionStartedListener private constructor(): RumSessionList private fun hasValidBridge(): Boolean { val context = reactContext ?: return false val instance = context.catalystInstance ?: return false - return !isNewArchitecture(context) && + return !isNewArchitecture() && !instance.isDestroyed && context.hasActiveReactInstance() } - private fun isNewArchitecture(context: ReactContext): Boolean { + private fun isNewArchitecture(): Boolean { isNewArchitecture?.let { return it } - - @Suppress("SwallowedException") - val method = try { - context.javaClass.getMethod("getFabricUIManager") - } catch (e: NoSuchMethodException) { - return false + BuildConfig.IS_NEW_ARCHITECTURE_ENABLED.let { + isNewArchitecture = it + return it } - - val hasFabricUIManager = method.invoke(reactContext) != null - this.isNewArchitecture = hasFabricUIManager - - return hasFabricUIManager } private fun sendSessionStartedToJS(sessionId: String) {