Skip to content

Commit 6355703

Browse files
mdvaccafacebook-github-bot
authored andcommitted
Remove TurboModuleManager from ReactHostDelegate (facebook#39613)
Summary: Pull Request resolved: facebook#39613 In this diff I'm removing TurboModuleManager from ReactHostDelegate. The goal is to stop exposing TurboModuleManager and TurboModuleRegistry Developers should use ReactContext.getNativeModule to retrieve native modules instead of TurboModuleManager or TurboModuleRegistry bypass-github-export-checks changelog: [internal] internal Reviewed By: cortinico Differential Revision: D49483636 fbshipit-source-id: 6c2e29d83700bebf05475875edad6d5c0877d9df
1 parent f402312 commit 6355703

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import com.facebook.jni.annotations.DoNotStrip
1111
import com.facebook.react.ReactPackage
1212
import com.facebook.react.ReactPackageTurboModuleManagerDelegate
1313
import com.facebook.react.bridge.JSBundleLoader
14+
import com.facebook.react.bridge.NativeModule
1415
import com.facebook.react.common.annotations.UnstableReactNativeAPI
1516
import com.facebook.react.fabric.ReactNativeConfig
1617
import com.facebook.react.runtime.BindingsInstaller
1718
import com.facebook.react.runtime.JSEngineInstance
1819
import com.facebook.react.runtime.ReactHostDelegate
1920
import com.facebook.react.runtime.hermes.HermesInstance
20-
import com.facebook.react.turbomodule.core.TurboModuleManager
2121

2222
/**
2323
* A utility class that allows you to simplify the initialization of React Native by setting up a
@@ -50,7 +50,7 @@ class DefaultReactHostDelegate(
5050
override val turboModuleManagerDelegateBuilder: ReactPackageTurboModuleManagerDelegate.Builder
5151
) : ReactHostDelegate {
5252

53-
override fun getReactNativeConfig(turboModuleManager: TurboModuleManager) = reactNativeConfig
53+
override fun getReactNativeConfig(moduleProvider: (String) -> NativeModule?) = reactNativeConfig
5454

5555
override fun handleInstanceException(error: Exception) = exceptionHandler(error)
5656
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import com.facebook.infer.annotation.ThreadSafe
1111
import com.facebook.react.ReactPackage
1212
import com.facebook.react.ReactPackageTurboModuleManagerDelegate
1313
import com.facebook.react.bridge.JSBundleLoader
14+
import com.facebook.react.bridge.NativeModule
1415
import com.facebook.react.common.annotations.UnstableReactNativeAPI
1516
import com.facebook.react.fabric.ReactNativeConfig
16-
import com.facebook.react.turbomodule.core.TurboModuleManager
1717

1818
/**
1919
* [ReactHostDelegate] is an interface that defines parameters required to initialize React Native.
@@ -59,8 +59,11 @@ interface ReactHostDelegate {
5959
/**
6060
* ReactNative Configuration that allows to customize the behavior of key/value pairs used by the
6161
* framework to enable/disable experimental capabilities
62+
*
63+
* [moduleProvider] is a function that returns the Native Module with the name received as a
64+
* parameter.
6265
*/
63-
fun getReactNativeConfig(turboModuleManager: TurboModuleManager): ReactNativeConfig
66+
fun getReactNativeConfig(moduleProvider: (String) -> NativeModule?): ReactNativeConfig
6467

6568
@UnstableReactNativeAPI
6669
class ReactHostDelegateBase(
@@ -75,7 +78,7 @@ interface ReactHostDelegate {
7578
private val exceptionHandler: (error: Exception) -> Unit = {}
7679
) : ReactHostDelegate {
7780

78-
override fun getReactNativeConfig(turboModuleManager: TurboModuleManager) = reactNativeConfig
81+
override fun getReactNativeConfig(moduleProvider: (String) -> NativeModule?) = reactNativeConfig
7982

8083
override fun handleInstanceException(error: Exception) = exceptionHandler(error)
8184
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
import java.util.Map;
7373
import java.util.Set;
7474
import javax.annotation.Nullable;
75+
import kotlin.jvm.functions.Function1;
7576

7677
/**
7778
* An experimental replacement for {@link com.facebook.react.ReactInstanceManager} responsible for
@@ -272,7 +273,9 @@ public Collection<String> getViewManagerNames() {
272273
mFabricUIManager =
273274
new FabricUIManager(mBridgelessReactContext, viewManagerRegistry, eventBeatManager);
274275

275-
ReactNativeConfig config = mDelegate.getReactNativeConfig(mTurboModuleManager);
276+
ReactNativeConfig config =
277+
mDelegate.getReactNativeConfig(
278+
(Function1<String, NativeModule>) name -> mTurboModuleManager.getModule(name));
276279

277280
// Misc initialization that needs to be done before Fabric init
278281
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(mBridgelessReactContext);

packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterReactHostDelegate.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import com.facebook.react.runtime.ReactHostDelegate
3131
import com.facebook.react.runtime.ReactHostImpl
3232
import com.facebook.react.runtime.hermes.HermesInstance
3333
import com.facebook.react.shell.MainReactPackage
34-
import com.facebook.react.turbomodule.core.TurboModuleManager
3534
import com.facebook.react.uiapp.component.MyLegacyViewManager
3635
import com.facebook.react.uiapp.component.MyNativeViewManager
3736
import com.facebook.react.uimanager.ViewManager
@@ -59,7 +58,7 @@ class RNTesterReactHostDelegate internal constructor(context: Context) : ReactHo
5958

6059
override fun handleInstanceException(error: Exception) {}
6160

62-
override fun getReactNativeConfig(turboModuleManager: TurboModuleManager): ReactNativeConfig =
61+
override fun getReactNativeConfig(moduleProvider: (String) -> NativeModule?): ReactNativeConfig =
6362
ReactNativeConfig.DEFAULT_CONFIG
6463

6564
override val reactPackages: List<ReactPackage> by lazy {

0 commit comments

Comments
 (0)