Move TurboModuleManager creation into ReactInstanceManager

Summary:
See title.

Changelog: [Android][Changed] - Move TurboModuleManager creation into ReactInstanceManager

Reviewed By: mdvacca

Differential Revision: D26193053

fbshipit-source-id: fe92636f0cb3dca65fa919ac5df8931b693f76c5
This commit is contained in:
Ramanpreet Nara
2021-02-02 20:50:31 -08:00
committed by Facebook GitHub Bot
parent eb7e89e286
commit 13f100f788
2 changed files with 23 additions and 42 deletions
@@ -54,7 +54,6 @@ import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.CatalystInstance;
import com.facebook.react.bridge.CatalystInstanceImpl;
import com.facebook.react.bridge.JSBundleLoader;
import com.facebook.react.bridge.JSIModule;
import com.facebook.react.bridge.JSIModulePackage;
import com.facebook.react.bridge.JSIModuleType;
import com.facebook.react.bridge.JavaJSExecutor;
@@ -93,6 +92,8 @@ import com.facebook.react.modules.debug.interfaces.DeveloperSettings;
import com.facebook.react.modules.fabric.ReactFabric;
import com.facebook.react.packagerconnection.RequestHandler;
import com.facebook.react.surface.ReactStage;
import com.facebook.react.turbomodule.core.TurboModuleManager;
import com.facebook.react.turbomodule.core.TurboModuleManagerDelegate;
import com.facebook.react.turbomodule.core.interfaces.TurboModuleRegistry;
import com.facebook.react.uimanager.DisplayMetricsHolder;
import com.facebook.react.uimanager.ReactRoot;
@@ -1292,9 +1293,19 @@ public class ReactInstanceManager {
mJSIModulePackage.getJSIModules(
reactContext, catalystInstance.getJavaScriptContextHolder()));
if (ReactFeatureFlags.useTurboModules) {
JSIModule turboModuleManager =
catalystInstance.getJSIModule(JSIModuleType.TurboModuleManager);
if (ReactFeatureFlags.useTurboModules && mTMMDelegateBuilder != null) {
TurboModuleManagerDelegate tmmDelegate =
mTMMDelegateBuilder
.setPackages(mPackages)
.setReactApplicationContext(reactContext)
.build();
TurboModuleManager turboModuleManager =
new TurboModuleManager(
catalystInstance.getRuntimeExecutor(),
tmmDelegate,
catalystInstance.getJSCallInvokerHolder(),
catalystInstance.getNativeCallInvokerHolder());
catalystInstance.setTurboModuleManager(turboModuleManager);
@@ -15,8 +15,8 @@ import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
import com.facebook.react.TurboReactPackage;
import com.facebook.react.bridge.JSIModule;
import com.facebook.react.bridge.JSIModulePackage;
import com.facebook.react.bridge.JSIModuleProvider;
import com.facebook.react.bridge.JSIModuleSpec;
@@ -33,7 +33,6 @@ import com.facebook.react.fabric.ReactNativeConfig;
import com.facebook.react.module.model.ReactModuleInfo;
import com.facebook.react.module.model.ReactModuleInfoProvider;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.react.turbomodule.core.TurboModuleManager;
import com.facebook.react.uimanager.ViewManagerRegistry;
import com.facebook.react.views.text.ReactFontManager;
import com.facebook.soloader.SoLoader;
@@ -108,6 +107,13 @@ public class RNTesterApplication extends Application implements ReactApplication
});
}
@Nullable
@Override
protected ReactPackageTurboModuleManagerDelegate.Builder
getReactPackageTurboModuleManagerDelegateBuilder() {
return new RNTesterTurboModuleManagerDelegate.Builder();
}
@Nullable
@Override
protected JSIModulePackage getJSIModulePackage() {
@@ -122,42 +128,6 @@ public class RNTesterApplication extends Application implements ReactApplication
final JavaScriptContextHolder jsContext) {
final List<JSIModuleSpec> specs = new ArrayList<>();
// Install the new native module system.
if (ReactFeatureFlags.useTurboModules) {
specs.add(
new JSIModuleSpec() {
@Override
public JSIModuleType getJSIModuleType() {
return JSIModuleType.TurboModuleManager;
}
@Override
public JSIModuleProvider getJSIModuleProvider() {
return new JSIModuleProvider() {
@Override
public JSIModule get() {
final ReactInstanceManager reactInstanceManager =
getReactInstanceManager();
final List<ReactPackage> packages = reactInstanceManager.getPackages();
return new TurboModuleManager(
reactApplicationContext.getCatalystInstance().getRuntimeExecutor(),
new RNTesterTurboModuleManagerDelegate.Builder()
.setPackages(packages)
.setReactApplicationContext(reactApplicationContext)
.build(),
reactApplicationContext
.getCatalystInstance()
.getJSCallInvokerHolder(),
reactApplicationContext
.getCatalystInstance()
.getNativeCallInvokerHolder());
}
};
}
});
}
// Install the new renderer.
if (BuildConfig.ENABLE_FABRIC) {
specs.add(