public class CatalystInstanceImpl extends java.lang.Object implements CatalystInstance
| Modifier and Type | Class and Description |
|---|---|
static class |
CatalystInstanceImpl.Builder |
static class |
CatalystInstanceImpl.PendingJSCall |
| Modifier and Type | Method and Description |
|---|---|
void |
addBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener listener)
Adds a idle listener for this Catalyst instance.
|
void |
addJSIModules(java.util.List<JSIModuleSpec> jsiModules) |
void |
callFunction(CatalystInstanceImpl.PendingJSCall function) |
void |
callFunction(java.lang.String module,
java.lang.String method,
NativeArray arguments) |
void |
destroy()
Destroys this catalyst instance, waiting for any other threads in ReactQueueConfiguration
(besides the UI thread) to finish running.
|
void |
extendNativeModules(NativeModuleRegistry modules)
This method and the native below permits a CatalystInstance to extend the known Native modules.
|
JavaScriptContextHolder |
getJavaScriptContextHolder()
Get the C pointer (as a long) to the JavaScriptCore context associated with this instance.
|
JSCallInvokerHolderImpl |
getJSCallInvokerHolder()
Returns a hybrid object that contains a pointer to JSCallInvoker.
|
JSIModule |
getJSIModule(JSIModuleType moduleType) |
<T extends JavaScriptModule> |
getJSModule(java.lang.Class<T> jsInterface) |
<T extends NativeModule> |
getNativeModule(java.lang.Class<T> nativeModuleInterface) |
NativeModule |
getNativeModule(java.lang.String moduleName) |
java.util.Collection<NativeModule> |
getNativeModules() |
ReactQueueConfiguration |
getReactQueueConfiguration() |
java.lang.String |
getSourceURL()
Return the source URL of the JS Bundle that was run, or
null if no JS bundle has been
run yet. |
void |
handleMemoryPressure(int level)
Called when the system generates a memory warning.
|
<T extends NativeModule> |
hasNativeModule(java.lang.Class<T> nativeModuleInterface) |
boolean |
hasRunJSBundle() |
void |
initialize()
Initialize all the native modules
|
void |
invokeCallback(int callbackID,
NativeArrayInterface arguments) |
boolean |
isDestroyed() |
void |
loadScriptFromAssets(android.content.res.AssetManager assetManager,
java.lang.String assetURL,
boolean loadSynchronously)
Load a JS bundle from Android assets.
|
void |
loadScriptFromDeltaBundle(java.lang.String sourceURL,
NativeDeltaClient deltaClient,
boolean loadSynchronously)
Load a delta bundle from Metro.
|
void |
loadScriptFromFile(java.lang.String fileName,
java.lang.String sourceURL,
boolean loadSynchronously)
Load a JS bundle from the filesystem.
|
void |
registerSegment(int segmentId,
java.lang.String path)
This method registers the file path of an additional JS segment by its ID.
|
void |
removeBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener listener)
Removes a NotThreadSafeBridgeIdleDebugListener previously added with
addBridgeIdleDebugListener(com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener) |
void |
runJSBundle() |
void |
setGlobalVariable(java.lang.String propName,
java.lang.String jsonValue) |
void |
setSourceURLs(java.lang.String deviceURL,
java.lang.String remoteURL)
This API is used in situations where the JS bundle is being executed not on the device, but on
a host machine.
|
void |
setTurboModuleManager(JSIModule getter)
For the time being, we want code relying on the old infra to also work with TurboModules.
|
public JSCallInvokerHolderImpl getJSCallInvokerHolder()
CatalystInstancegetJSCallInvokerHolder in interface CatalystInstancepublic void extendNativeModules(NativeModuleRegistry modules)
mNativeModuleRegistry
updates internally to contain all the new modules, and generates the new registry for
extracting just the new collections.extendNativeModules in interface CatalystInstancepublic void setSourceURLs(java.lang.String deviceURL,
java.lang.String remoteURL)
JSBundleLoaderDelegatesetSourceURLs in interface JSBundleLoaderDelegatedeviceURL - A source URL that is accessible from this device.remoteURL - A source URL that is accessible from the remote machine executing the JS.public void registerSegment(int segmentId,
java.lang.String path)
CatalystInstanceregisterSegment in interface CatalystInstancepublic void loadScriptFromAssets(android.content.res.AssetManager assetManager,
java.lang.String assetURL,
boolean loadSynchronously)
JSBundleLoaderDelegateJSBundleLoader.createAssetLoader(Context,
String, boolean)loadScriptFromAssets in interface JSBundleLoaderDelegatepublic void loadScriptFromFile(java.lang.String fileName,
java.lang.String sourceURL,
boolean loadSynchronously)
JSBundleLoaderDelegateJSBundleLoader.createFileLoader(String) and
JSBundleLoader.createCachedBundleFromNetworkLoader(String, String)loadScriptFromFile in interface JSBundleLoaderDelegatepublic void loadScriptFromDeltaBundle(java.lang.String sourceURL,
NativeDeltaClient deltaClient,
boolean loadSynchronously)
JSBundleLoaderDelegateJSBundleLoader.createDeltaFromNetworkLoader(String,
NativeDeltaClient)loadScriptFromDeltaBundle in interface JSBundleLoaderDelegatepublic void runJSBundle()
runJSBundle in interface CatalystInstancepublic boolean hasRunJSBundle()
hasRunJSBundle in interface CatalystInstancepublic java.lang.String getSourceURL()
CatalystInstancenull if no JS bundle has been
run yet.getSourceURL in interface CatalystInstancepublic void callFunction(java.lang.String module,
java.lang.String method,
NativeArray arguments)
callFunction in interface CatalystInstancepublic void callFunction(CatalystInstanceImpl.PendingJSCall function)
public void invokeCallback(int callbackID,
NativeArrayInterface arguments)
invokeCallback in interface CatalystInstanceinvokeCallback in interface JSInstancepublic void destroy()
destroy in interface CatalystInstancepublic boolean isDestroyed()
isDestroyed in interface CatalystInstancepublic void initialize()
initialize in interface CatalystInstancepublic ReactQueueConfiguration getReactQueueConfiguration()
getReactQueueConfiguration in interface CatalystInstancepublic <T extends JavaScriptModule> T getJSModule(java.lang.Class<T> jsInterface)
getJSModule in interface CatalystInstancepublic <T extends NativeModule> boolean hasNativeModule(java.lang.Class<T> nativeModuleInterface)
hasNativeModule in interface CatalystInstancepublic <T extends NativeModule> T getNativeModule(java.lang.Class<T> nativeModuleInterface)
getNativeModule in interface CatalystInstancepublic NativeModule getNativeModule(java.lang.String moduleName)
getNativeModule in interface CatalystInstancepublic java.util.Collection<NativeModule> getNativeModules()
getNativeModules in interface CatalystInstancepublic void handleMemoryPressure(int level)
MemoryPressureListenerhandleMemoryPressure in interface MemoryPressureListenerpublic void addBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener listener)
addBridgeIdleDebugListener in interface CatalystInstancepublic void removeBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener listener)
addBridgeIdleDebugListener(com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener)removeBridgeIdleDebugListener in interface CatalystInstancepublic void setGlobalVariable(java.lang.String propName,
java.lang.String jsonValue)
setGlobalVariable in interface CatalystInstancepublic JavaScriptContextHolder getJavaScriptContextHolder()
CatalystInstanceUse the following pattern to ensure that the JS context is not cleared while you are using it: JavaScriptContextHolder jsContext = reactContext.getJavaScriptContextHolder() synchronized(jsContext) { nativeThingNeedingJsContext(jsContext.get()); }
getJavaScriptContextHolder in interface CatalystInstancepublic void addJSIModules(java.util.List<JSIModuleSpec> jsiModules)
addJSIModules in interface CatalystInstancepublic JSIModule getJSIModule(JSIModuleType moduleType)
getJSIModule in interface CatalystInstancepublic void setTurboModuleManager(JSIModule getter)
CatalystInstancesetTurboModuleManager in interface CatalystInstance