mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
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:
committed by
Facebook GitHub Bot
parent
48e4e34107
commit
eb7e89e286
@@ -173,6 +173,7 @@ public class ReactInstanceManager {
|
||||
private final MemoryPressureRouter mMemoryPressureRouter;
|
||||
private final @Nullable NativeModuleCallExceptionHandler mNativeModuleCallExceptionHandler;
|
||||
private final @Nullable JSIModulePackage mJSIModulePackage;
|
||||
private final @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
|
||||
private List<ViewManager> mViewManagers;
|
||||
|
||||
private class ReactContextInitParams {
|
||||
@@ -218,7 +219,8 @@ public class ReactInstanceManager {
|
||||
int minNumShakes,
|
||||
int minTimeLeftInFrameForNonBatchedOperationMs,
|
||||
@Nullable JSIModulePackage jsiModulePackage,
|
||||
@Nullable Map<String, RequestHandler> customPackagerCommandHandlers) {
|
||||
@Nullable Map<String, RequestHandler> customPackagerCommandHandlers,
|
||||
@Nullable ReactPackageTurboModuleManagerDelegate.Builder tmmDelegateBuilder) {
|
||||
FLog.d(TAG, "ReactInstanceManager.ctor()");
|
||||
initializeSoLoaderIfNecessary(applicationContext);
|
||||
|
||||
@@ -249,6 +251,7 @@ public class ReactInstanceManager {
|
||||
mLifecycleState = initialLifecycleState;
|
||||
mMemoryPressureRouter = new MemoryPressureRouter(applicationContext);
|
||||
mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler;
|
||||
mTMMDelegateBuilder = tmmDelegateBuilder;
|
||||
synchronized (mPackages) {
|
||||
PrinterHolder.getPrinter()
|
||||
.logMessage(ReactDebugOverlayTags.RN_CORE, "RNCore: Use Split Packages");
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -72,7 +72,9 @@ public abstract class ReactNativeHost {
|
||||
.setJavaScriptExecutorFactory(getJavaScriptExecutorFactory())
|
||||
.setUIImplementationProvider(getUIImplementationProvider())
|
||||
.setJSIModulesPackage(getJSIModulePackage())
|
||||
.setInitialLifecycleState(LifecycleState.BEFORE_CREATE);
|
||||
.setInitialLifecycleState(LifecycleState.BEFORE_CREATE)
|
||||
.setReactPackageTurboModuleManagerDelegateBuilder(
|
||||
getReactPackageTurboModuleManagerDelegateBuilder());
|
||||
|
||||
for (ReactPackage reactPackage : getPackages()) {
|
||||
builder.addPackage(reactPackage);
|
||||
@@ -99,6 +101,11 @@ public abstract class ReactNativeHost {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected @Nullable ReactPackageTurboModuleManagerDelegate.Builder
|
||||
getReactPackageTurboModuleManagerDelegateBuilder() {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected final Application getApplication() {
|
||||
return mApplication;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user