diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java index 77236153e5c..a4508ed2086 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java @@ -105,9 +105,11 @@ public class BridgeReactContext extends ReactApplicationContext { } throw new IllegalStateException(EARLY_JS_ACCESS_EXCEPTION_MESSAGE); } - if (mInteropModuleRegistry != null - && mInteropModuleRegistry.shouldReturnInteropModule(jsInterface)) { - return mInteropModuleRegistry.getInteropModule(jsInterface); + if (mInteropModuleRegistry != null) { + T jsModule = mInteropModuleRegistry.getInteropModule(jsInterface); + if (jsModule != null) { + return jsModule; + } } return mCatalystInstance.getJSModule(jsInterface); } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java index 9ef212057a1..23f9445149b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java @@ -44,7 +44,7 @@ import java.util.concurrent.atomic.AtomicInteger; /** * This provides an implementation of the public CatalystInstance instance. It is public because it - * is built by XReactInstanceManager which is in a different package. + * is built by ReactInstanceManager which is in a different package. */ @DoNotStrip @LegacyArchitecture diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt index 06fb7ecba3f..b81d27ae113 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt @@ -26,14 +26,10 @@ internal class InteropModuleRegistry { private val supportedModules = mutableMapOf, Any?>() - fun shouldReturnInteropModule(requestedModule: Class): Boolean { - return checkReactFeatureFlagsConditions() && supportedModules.containsKey(requestedModule) - } - fun getInteropModule(requestedModule: Class): T? { return if (checkReactFeatureFlagsConditions()) { @Suppress("UNCHECKED_CAST") - supportedModules[requestedModule] as? T? + supportedModules[requestedModule] as? T } else { null } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt index 31f411fc4af..33858d743bf 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt @@ -108,10 +108,8 @@ internal class BridgelessReactContext(context: Context, private val reactHost: R } override fun getJSModule(jsInterface: Class): T? { - mInteropModuleRegistry?.let { reg -> - if (reg.shouldReturnInteropModule(jsInterface)) { - return reg.getInteropModule(jsInterface) - } + mInteropModuleRegistry?.getInteropModule(jsInterface)?.let { + return it } // TODO T189052462: ReactContext caches JavaScriptModule instances diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/interop/InteropModuleRegistryTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/interop/InteropModuleRegistryTest.kt index 69513d722e7..1681fc3ee4f 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/interop/InteropModuleRegistryTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/interop/InteropModuleRegistryTest.kt @@ -37,36 +37,6 @@ class InteropModuleRegistryTest { ReactNativeFeatureFlags.dangerouslyReset() } - @Test - fun shouldReturnInteropModule_withFabricDisabled_returnsFalse() { - overrideFeatureFlags(false, false) - - assertThat(underTest.shouldReturnInteropModule(RCTEventEmitter::class.java)).isFalse() - } - - @Test - fun shouldReturnInteropModule_withFabricInteropDisabled_returnsFalse() { - overrideFeatureFlags(false, true) - - assertThat(underTest.shouldReturnInteropModule(RCTEventEmitter::class.java)).isFalse() - } - - @Test - fun shouldReturnInteropModule_withUnregisteredClass_returnsFalse() { - overrideFeatureFlags(true, true) - - assertThat(underTest.shouldReturnInteropModule(JSTimers::class.java)).isFalse() - } - - @Test - fun shouldReturnInteropModule_withRegisteredClass_returnsTrue() { - overrideFeatureFlags(true, true) - - underTest.registerInteropModule(RCTEventEmitter::class.java, FakeRCTEventEmitter()) - - assertThat(underTest.shouldReturnInteropModule(RCTEventEmitter::class.java)).isTrue() - } - @Test fun getInteropModule_withRegisteredClassAndInvalidFlags_returnsNull() { overrideFeatureFlags(false, false)