mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-06 22:38:37 +08:00
Make JavaScriptExecutor.Factory a configurable property of ReactInstanceManager
Reviewed By: mhorowitz Differential Revision: D5662431 fbshipit-source-id: 17dca2744de645740cef252efbf83902acde5046
This commit is contained in:
committed by
Facebook Github Bot
parent
606a876df7
commit
73f17908e6
@@ -5,7 +5,9 @@ package com.facebook.react;
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
||||
import com.facebook.react.bridge.JSBundleLoader;
|
||||
import com.facebook.react.bridge.JSCJavaScriptExecutorFactory;
|
||||
import com.facebook.react.bridge.NativeModuleCallExceptionHandler;
|
||||
import com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener;
|
||||
import com.facebook.react.common.LifecycleState;
|
||||
@@ -40,6 +42,7 @@ public class ReactInstanceManagerBuilder {
|
||||
private boolean mLazyNativeModulesEnabled;
|
||||
private boolean mLazyViewManagersEnabled;
|
||||
private @Nullable DevBundleDownloadListener mDevBundleDownloadListener;
|
||||
private @Nullable JavaScriptExecutorFactory mJavaScriptExecutorFactory;
|
||||
private boolean mUseSeparateUIBackgroundThread;
|
||||
private int mMinNumShakes = 1;
|
||||
private boolean mEnableSplitPackage;
|
||||
@@ -59,6 +62,15 @@ public class ReactInstanceManagerBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Factory for desired implementation of JavaScriptExecutor.
|
||||
*/
|
||||
public ReactInstanceManagerBuilder setJavaScriptExecutorFactory(
|
||||
@Nullable JavaScriptExecutorFactory javaScriptExecutorFactory) {
|
||||
mJavaScriptExecutorFactory = javaScriptExecutorFactory;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Name of the JS bundle file to be loaded from application's raw assets.
|
||||
* Example: {@code "index.android.js"}
|
||||
@@ -249,6 +261,9 @@ public class ReactInstanceManagerBuilder {
|
||||
mApplication,
|
||||
mCurrentActivity,
|
||||
mDefaultHardwareBackBtnHandler,
|
||||
mJavaScriptExecutorFactory == null
|
||||
? new JSCJavaScriptExecutorFactory()
|
||||
: mJavaScriptExecutorFactory,
|
||||
(mJSBundleLoader == null && mJSBundleAssetUrl != null)
|
||||
? JSBundleLoader.createAssetLoader(
|
||||
mApplication, mJSBundleAssetUrl, false /*Asynchronous*/)
|
||||
|
||||
Reference in New Issue
Block a user