diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java index dfb1e641215fbf..b57513cb67216e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java @@ -71,7 +71,7 @@ public interface RCTDeviceEventEmitter extends JavaScriptModule { private @Nullable JSExceptionHandler mExceptionHandlerWrapper; private @Nullable WeakReference mCurrentActivity; - private @Nullable InteropModuleRegistry mInteropModuleRegistry; + protected @Nullable InteropModuleRegistry mInteropModuleRegistry; private boolean mIsInitialized = false; public ReactContext(Context base) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java index de5519395dd043..ad4b76d4b549dc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java @@ -22,6 +22,7 @@ import com.facebook.react.bridge.ReactNoCrashBridgeNotAllowedSoftException; import com.facebook.react.bridge.ReactSoftExceptionLogger; import com.facebook.react.bridge.WritableNativeArray; +import com.facebook.react.config.ReactFeatureFlags; import com.facebook.react.devsupport.interfaces.DevSupportManager; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.uimanager.events.EventDispatcher; @@ -49,6 +50,9 @@ class BridgelessReactContext extends ReactApplicationContext implements EventDis BridgelessReactContext(Context context, ReactHostImpl host) { super(context); mReactHost = host; + if (ReactFeatureFlags.unstable_useFabricInterop) { + initializeInteropModules(); + } } @Override @@ -124,6 +128,10 @@ public BridgelessJSModuleInvocationHandler( @Override public T getJSModule(Class jsInterface) { + if (mInteropModuleRegistry != null + && mInteropModuleRegistry.shouldReturnInteropModule(jsInterface)) { + return mInteropModuleRegistry.getInteropModule(jsInterface); + } JavaScriptModule interfaceProxy = (JavaScriptModule) Proxy.newProxyInstance(