Register TurboModuleManagerDelegate builders without JSIModules

Summary:
How does an application register a TurboModuleManagerDelegate with ReactInstanceManager?
1. Call ReactInstanceManagerBuilder.setReactPackageTurboModuleManagerDelegateBuilder(ReactPackageTurboModuleManagerDelegate.Builder)
2. Override ReactNativeHost.getReactPackageTurboModuleManagerDelegateBuilder()

Changelog: [Android][Added] - Introduce API to allow applications to register TurboModuleManagerDelegates with ReactInstanceManager

Reviewed By: mdvacca

Differential Revision: D26193055

fbshipit-source-id: bf82e63e6ab1c0c8f12bada92ac6852c992ec9cb
This commit is contained in:
Ramanpreet Nara
2021-02-02 20:46:40 -08:00
committed by Facebook GitHub Bot
parent 48e4e34107
commit eb7e89e286
3 changed files with 21 additions and 3 deletions
@@ -58,6 +58,7 @@ public class ReactInstanceManagerBuilder {
private int mMinTimeLeftInFrameForNonBatchedOperationMs = -1;
private @Nullable JSIModulePackage mJSIModulesPackage;
private @Nullable Map<String, RequestHandler> mCustomPackagerCommandHandlers;
private @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
/* package protected */ ReactInstanceManagerBuilder() {}
@@ -224,6 +225,12 @@ public class ReactInstanceManagerBuilder {
return this;
}
public ReactInstanceManagerBuilder setReactPackageTurboModuleManagerDelegateBuilder(
@Nullable ReactPackageTurboModuleManagerDelegate.Builder builder) {
mTMMDelegateBuilder = builder;
return this;
}
/**
* Instantiates a new {@link ReactInstanceManager}. Before calling {@code build}, the following
* must be called:
@@ -286,7 +293,8 @@ public class ReactInstanceManagerBuilder {
mMinNumShakes,
mMinTimeLeftInFrameForNonBatchedOperationMs,
mJSIModulesPackage,
mCustomPackagerCommandHandlers);
mCustomPackagerCommandHandlers,
mTMMDelegateBuilder);
}
private JavaScriptExecutorFactory getDefaultJSExecutorFactory(