public class ReactInstanceManagerBuilder
extends java.lang.Object
ReactInstanceManager
protected final java.util.List<ReactPackage> mPackages
@Nullable protected java.lang.String mJSBundleAssetUrl
@Nullable protected JSBundleLoader mJSBundleLoader
@Nullable protected java.lang.String mJSMainModuleName
@Nullable protected NotThreadSafeBridgeIdleDebugListener mBridgeIdleDebugListener
@Nullable protected android.app.Application mApplication
protected boolean mUseDeveloperSupport
@Nullable protected LifecycleState mInitialLifecycleState
@Nullable protected UIImplementationProvider mUIImplementationProvider
@Nullable protected NativeModuleCallExceptionHandler mNativeModuleCallExceptionHandler
protected JSCConfig mJSCConfig
@Nullable protected android.app.Activity mCurrentActivity
@Nullable protected DefaultHardwareBackBtnHandler mDefaultHardwareBackBtnHandler
@Nullable protected RedBoxHandler mRedBoxHandler
protected boolean mLazyNativeModulesEnabled
protected boolean mLazyViewManagersEnabled
@Nullable protected DevBundleDownloadListener mDevBundleDownloadListener
protected boolean mSetupReactContextInBackground
protected boolean mUseSeparateUIBackgroundThread
protected int mMinNumShakes
protected boolean mEnableSplitPackage
public ReactInstanceManagerBuilder setUIImplementationProvider(@Nullable UIImplementationProvider uiImplementationProvider)
UIImplementation
.
Uses default provider if null is passed.public ReactInstanceManagerBuilder setBundleAssetName(java.lang.String bundleAssetName)
"index.android.js"
public ReactInstanceManagerBuilder setJSBundleFile(java.lang.String jsBundleFile)
"assets://index.android.js" or "/sdcard/main.jsbundle"
public ReactInstanceManagerBuilder setJSBundleLoader(JSBundleLoader jsBundleLoader)
setJSBundleFile
and setBundleAssetName
.
Example: JSBundleLoader.createFileLoader(application, bundleFile)
public ReactInstanceManagerBuilder setJSMainModuleName(java.lang.String jsMainModuleName)
"index.android"
or
"subdirectory/index.android"
public ReactInstanceManagerBuilder addPackage(ReactPackage reactPackage)
public ReactInstanceManagerBuilder setBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener bridgeIdleDebugListener)
public ReactInstanceManagerBuilder setApplication(android.app.Application application)
Application
instance.public ReactInstanceManagerBuilder setCurrentActivity(android.app.Activity activity)
public ReactInstanceManagerBuilder setDefaultHardwareBackBtnHandler(DefaultHardwareBackBtnHandler defaultHardwareBackBtnHandler)
public ReactInstanceManagerBuilder setUseDeveloperSupport(boolean useDeveloperSupport)
true
, developer options such as JS reloading and debugging are enabled.
Note you still have to call #showDevOptionsDialog
to show the dev menu,
e.g. when the device Menu button is pressed.public ReactInstanceManagerBuilder setInitialLifecycleState(LifecycleState initialLifecycleState)
public ReactInstanceManagerBuilder setNativeModuleCallExceptionHandler(NativeModuleCallExceptionHandler handler)
DevSupportManager
will be used, which shows a redbox in dev mode and rethrows
(crashes the app) in prod mode.public ReactInstanceManagerBuilder setJSCConfig(JSCConfig jscConfig)
public ReactInstanceManagerBuilder setRedBoxHandler(@Nullable RedBoxHandler redBoxHandler)
public ReactInstanceManagerBuilder setLazyNativeModulesEnabled(boolean lazyNativeModulesEnabled)
public ReactInstanceManagerBuilder setLazyViewManagersEnabled(boolean lazyViewManagersEnabled)
public ReactInstanceManagerBuilder setDevBundleDownloadListener(@Nullable DevBundleDownloadListener listener)
public ReactInstanceManagerBuilder setSetupReactContextInBackgroundEnabled(boolean setupReactContextInBackground)
public ReactInstanceManagerBuilder setUseSeparateUIBackgroundThread(boolean useSeparateUIBackgroundThread)
public ReactInstanceManagerBuilder setMinNumShakes(int minNumShakes)
public ReactInstanceManagerBuilder setEnableSplitPackage(boolean enableSplitPackage)
public ReactInstanceManager build()
ReactInstanceManager
.
Before calling build
, the following must be called:
setApplication(android.app.Application)
setCurrentActivity(android.app.Activity)
if the activity has already resumed
setDefaultHardwareBackBtnHandler(com.facebook.react.modules.core.DefaultHardwareBackBtnHandler)
if the activity has already resumed
setJSBundleFile(java.lang.String)
or setJSMainModuleName(java.lang.String)