NetMirror.apk
Download file
package com.facebook.react.bridge;
import a1.C0210a;
import android.content.res.AssetManager;
import com.facebook.jni.HybridData;
import com.facebook.react.bridge.CatalystInstanceImpl;
import com.facebook.react.bridge.queue.MessageQueueThread;
import com.facebook.react.bridge.queue.QueueThreadExceptionHandler;
import com.facebook.react.bridge.queue.ReactQueueConfiguration;
import com.facebook.react.bridge.queue.ReactQueueConfigurationImpl;
import com.facebook.react.bridge.queue.ReactQueueConfigurationSpec;
import com.facebook.react.internal.turbomodule.core.interfaces.TurboModuleRegistry;
import com.facebook.react.turbomodule.core.CallInvokerHolderImpl;
import com.facebook.react.turbomodule.core.NativeMethodCallInvokerHolderImpl;
import com.facebook.systrace.TraceListener;
import d2.C0518a;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import r1.C0670b;
import v1.InterfaceC0756a;
/* JADX INFO: loaded from: classes.dex */
public class CatalystInstanceImpl implements CatalystInstance {
private static final AtomicInteger sNextInstanceIdForTrace;
private volatile boolean mAcceptCalls;
private final CopyOnWriteArrayList<NotThreadSafeBridgeIdleDebugListener> mBridgeIdleListeners;
private volatile boolean mDestroyed;
private UIManager mFabricUIManager;
private final HybridData mHybridData;
private boolean mInitialized;
private ReactInstanceManagerInspectorTarget mInspectorTarget;
private boolean mJSBundleHasLoaded;
private final JSBundleLoader mJSBundleLoader;
private final ArrayList<PendingJSCall> mJSCallsPendingInit;
private final Object mJSCallsPendingInitLock;
private final JSExceptionHandler mJSExceptionHandler;
private final JavaScriptModuleRegistry mJSModuleRegistry;
private JavaScriptContextHolder mJavaScriptContextHolder;
private final String mJsPendingCallsTitleForTrace;
private final NativeModuleRegistry mNativeModuleRegistry;
private final MessageQueueThread mNativeModulesQueueThread;
private final AtomicInteger mPendingJSCalls;
private final ReactQueueConfigurationImpl mReactQueueConfiguration;
private String mSourceURL;
private final TraceListener mTraceListener;
private TurboModuleRegistry mTurboModuleRegistry;
public static class Builder {
private ReactInstanceManagerInspectorTarget mInspectorTarget;
private JSBundleLoader mJSBundleLoader;
private JSExceptionHandler mJSExceptionHandler;
private JavaScriptExecutor mJSExecutor;
private ReactQueueConfigurationSpec mReactQueueConfigurationSpec;
private NativeModuleRegistry mRegistry;
public CatalystInstanceImpl build() {
return new CatalystInstanceImpl((ReactQueueConfigurationSpec) C0210a.c(this.mReactQueueConfigurationSpec), (JavaScriptExecutor) C0210a.c(this.mJSExecutor), (NativeModuleRegistry) C0210a.c(this.mRegistry), (JSBundleLoader) C0210a.c(this.mJSBundleLoader), (JSExceptionHandler) C0210a.c(this.mJSExceptionHandler), this.mInspectorTarget);
}
public Builder setInspectorTarget(ReactInstanceManagerInspectorTarget reactInstanceManagerInspectorTarget) {
this.mInspectorTarget = reactInstanceManagerInspectorTarget;
return this;
}
public Builder setJSBundleLoader(JSBundleLoader jSBundleLoader) {
this.mJSBundleLoader = jSBundleLoader;
return this;
}
public Builder setJSExceptionHandler(JSExceptionHandler jSExceptionHandler) {
this.mJSExceptionHandler = jSExceptionHandler;
return this;
}
public Builder setJSExecutor(JavaScriptExecutor javaScriptExecutor) {
this.mJSExecutor = javaScriptExecutor;
return this;
}
public Builder setReactQueueConfigurationSpec(ReactQueueConfigurationSpec reactQueueConfigurationSpec) {
this.mReactQueueConfigurationSpec = reactQueueConfigurationSpec;
return this;
}
public Builder setRegistry(NativeModuleRegistry nativeModuleRegistry) {
this.mRegistry = nativeModuleRegistry;
return this;
}
}
/* JADX INFO: Access modifiers changed from: private */
static class InstanceCallback {
private final WeakReference<CatalystInstanceImpl> mOuter;
InstanceCallback(CatalystInstanceImpl catalystInstanceImpl) {
this.mOuter = new WeakReference<>(catalystInstanceImpl);
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ void lambda$onBatchComplete$0(CatalystInstanceImpl catalystInstanceImpl) {
catalystInstanceImpl.mNativeModuleRegistry.onBatchComplete();
}
public void decrementPendingJSCalls() {
CatalystInstanceImpl catalystInstanceImpl = this.mOuter.get();
if (catalystInstanceImpl != null) {
catalystInstanceImpl.decrementPendingJSCalls();
}
}
public void incrementPendingJSCalls() {
CatalystInstanceImpl catalystInstanceImpl = this.mOuter.get();
if (catalystInstanceImpl != null) {
catalystInstanceImpl.incrementPendingJSCalls();
}
}
public void onBatchComplete() {
final CatalystInstanceImpl catalystInstanceImpl = this.mOuter.get();
if (catalystInstanceImpl != null) {
catalystInstanceImpl.mNativeModulesQueueThread.runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.h
@Override // java.lang.Runnable
public final void run() {
CatalystInstanceImpl.InstanceCallback.lambda$onBatchComplete$0(catalystInstanceImpl);
}
});
}
}
}
private static class JSProfilerTraceListener implements TraceListener {
private final WeakReference<CatalystInstanceImpl> mOuter;
public JSProfilerTraceListener(CatalystInstanceImpl catalystInstanceImpl) {
this.mOuter = new WeakReference<>(catalystInstanceImpl);
}
public void onTraceStarted() {
CatalystInstanceImpl catalystInstanceImpl = this.mOuter.get();
if (catalystInstanceImpl != null) {
((Systrace) catalystInstanceImpl.getJSModule(Systrace.class)).setEnabled(true);
}
}
public void onTraceStopped() {
CatalystInstanceImpl catalystInstanceImpl = this.mOuter.get();
if (catalystInstanceImpl != null) {
((Systrace) catalystInstanceImpl.getJSModule(Systrace.class)).setEnabled(false);
}
}
}
private class NativeExceptionHandler implements QueueThreadExceptionHandler {
@Override // com.facebook.react.bridge.queue.QueueThreadExceptionHandler
public void handleException(Exception exc) {
CatalystInstanceImpl.this.onNativeException(exc);
}
private NativeExceptionHandler() {
}
}
public static class PendingJSCall {
public NativeArray mArguments;
public String mMethod;
public String mModule;
public PendingJSCall(String str, String str2, NativeArray nativeArray) {
this.mModule = str;
this.mMethod = str2;
this.mArguments = nativeArray;
}
void call(CatalystInstanceImpl catalystInstanceImpl) {
NativeArray writableNativeArray = this.mArguments;
if (writableNativeArray == null) {
writableNativeArray = new WritableNativeArray();
}
catalystInstanceImpl.jniCallJSFunction(this.mModule, this.mMethod, writableNativeArray);
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(this.mModule);
sb.append(".");
sb.append(this.mMethod);
sb.append("(");
NativeArray nativeArray = this.mArguments;
sb.append(nativeArray == null ? "" : nativeArray.toString());
sb.append(")");
return sb.toString();
}
}
static {
ReactBridge.staticInit();
sNextInstanceIdForTrace = new AtomicInteger(1);
}
/* JADX INFO: Access modifiers changed from: private */
public void decrementPendingJSCalls() {
int iDecrementAndGet = this.mPendingJSCalls.decrementAndGet();
boolean z3 = iDecrementAndGet == 0;
C0518a.m(0L, this.mJsPendingCallsTitleForTrace, iDecrementAndGet);
if (!z3 || this.mBridgeIdleListeners.isEmpty()) {
return;
}
this.mNativeModulesQueueThread.runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.g
@Override // java.lang.Runnable
public final void run() {
this.f6504b.lambda$decrementPendingJSCalls$5();
}
});
}
private native long getJavaScriptContext();
private <T extends NativeModule> String getNameFromAnnotation(Class<T> cls) {
InterfaceC0756a interfaceC0756a = (InterfaceC0756a) cls.getAnnotation(InterfaceC0756a.class);
if (interfaceC0756a != null) {
return interfaceC0756a.name();
}
throw new IllegalArgumentException("Could not find @ReactModule annotation in " + cls.getCanonicalName());
}
private TurboModuleRegistry getTurboModuleRegistry() {
if (C0670b.t()) {
return (TurboModuleRegistry) C0210a.d(this.mTurboModuleRegistry, "TurboModules are enabled, but mTurboModuleRegistry hasn't been set.");
}
return null;
}
/* JADX INFO: Access modifiers changed from: private */
public void incrementPendingJSCalls() {
int andIncrement = this.mPendingJSCalls.getAndIncrement();
boolean z3 = andIncrement == 0;
C0518a.m(0L, this.mJsPendingCallsTitleForTrace, andIncrement + 1);
if (!z3 || this.mBridgeIdleListeners.isEmpty()) {
return;
}
this.mNativeModulesQueueThread.runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.e
@Override // java.lang.Runnable
public final void run() {
this.f6502b.lambda$incrementPendingJSCalls$4();
}
});
}
private static native HybridData initHybrid();
private native void initializeBridge(InstanceCallback instanceCallback, JavaScriptExecutor javaScriptExecutor, MessageQueueThread messageQueueThread, MessageQueueThread messageQueueThread2, Collection<JavaModuleWrapper> collection, Collection<ModuleHolder> collection2, ReactInstanceManagerInspectorTarget reactInstanceManagerInspectorTarget);
private native void jniCallJSCallback(int i3, NativeArray nativeArray);
/* JADX INFO: Access modifiers changed from: private */
public native void jniCallJSFunction(String str, String str2, NativeArray nativeArray);
private native void jniExtendNativeModules(Collection<JavaModuleWrapper> collection, Collection<ModuleHolder> collection2);
private native void jniHandleMemoryPressure(int i3);
private native void jniLoadScriptFromAssets(AssetManager assetManager, String str, boolean z3);
private native void jniLoadScriptFromFile(String str, String str2, boolean z3);
private native void jniRegisterSegment(int i3, String str);
private native void jniSetSourceURL(String str);
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$decrementPendingJSCalls$5() {
Iterator<NotThreadSafeBridgeIdleDebugListener> it = this.mBridgeIdleListeners.iterator();
while (it.hasNext()) {
it.next().onTransitionToBridgeIdle();
}
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$destroy$0() {
this.mJavaScriptContextHolder.clear();
this.mHybridData.resetNative();
getReactQueueConfiguration().destroy();
Y.a.I("ReactNative", "CatalystInstanceImpl.destroy() end");
ReactMarker.logMarker(ReactMarkerConstants.DESTROY_CATALYST_INSTANCE_END);
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$destroy$1() {
TurboModuleRegistry turboModuleRegistry = this.mTurboModuleRegistry;
if (turboModuleRegistry != null) {
turboModuleRegistry.invalidate();
}
new Thread(new Runnable() { // from class: com.facebook.react.bridge.d
@Override // java.lang.Runnable
public final void run() {
this.f6501b.lambda$destroy$0();
}
}, "destroy_react_context").start();
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$destroy$2() {
this.mNativeModuleRegistry.notifyJSInstanceDestroy();
UIManager uIManager = this.mFabricUIManager;
if (uIManager != null) {
uIManager.invalidate();
}
boolean z3 = this.mPendingJSCalls.getAndSet(0) == 0;
if (!this.mBridgeIdleListeners.isEmpty()) {
for (NotThreadSafeBridgeIdleDebugListener notThreadSafeBridgeIdleDebugListener : this.mBridgeIdleListeners) {
if (!z3) {
notThreadSafeBridgeIdleDebugListener.onTransitionToBridgeIdle();
}
notThreadSafeBridgeIdleDebugListener.onBridgeDestroyed();
}
}
getReactQueueConfiguration().getJSQueueThread().runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.b
@Override // java.lang.Runnable
public final void run() {
this.f6499b.lambda$destroy$1();
}
});
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$incrementPendingJSCalls$4() {
Iterator<NotThreadSafeBridgeIdleDebugListener> it = this.mBridgeIdleListeners.iterator();
while (it.hasNext()) {
it.next().onTransitionToBridgeBusy();
}
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$initialize$3() {
this.mNativeModuleRegistry.notifyJSInstanceInitialized();
}
/* JADX INFO: Access modifiers changed from: private */
public void onNativeException(Exception exc) {
this.mJSExceptionHandler.handleException(exc);
this.mReactQueueConfiguration.getUIQueueThread().runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.c
@Override // java.lang.Runnable
public final void run() {
this.f6500b.lambda$onNativeException$6();
}
});
}
private native void unregisterFromInspector();
@Override // com.facebook.react.bridge.CatalystInstance
public void addBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener notThreadSafeBridgeIdleDebugListener) {
this.mBridgeIdleListeners.add(notThreadSafeBridgeIdleDebugListener);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void callFunction(String str, String str2, NativeArray nativeArray) {
callFunction(new PendingJSCall(str, str2, nativeArray));
}
@Override // com.facebook.react.bridge.CatalystInstance
/* JADX INFO: renamed from: destroy, reason: merged with bridge method [inline-methods] */
public void lambda$onNativeException$6() {
Y.a.b("ReactNative", "CatalystInstanceImpl.destroy() start");
UiThreadUtil.assertOnUiThread();
if (this.mDestroyed) {
return;
}
ReactInstanceManagerInspectorTarget reactInstanceManagerInspectorTarget = this.mInspectorTarget;
if (reactInstanceManagerInspectorTarget != null) {
C0210a.b(reactInstanceManagerInspectorTarget.isValid(), "ReactInstanceManager inspector target destroyed before instance was unregistered");
}
unregisterFromInspector();
ReactMarker.logMarker(ReactMarkerConstants.DESTROY_CATALYST_INSTANCE_START);
this.mDestroyed = true;
this.mNativeModulesQueueThread.runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.a
@Override // java.lang.Runnable
public final void run() {
this.f6498b.lambda$destroy$2();
}
});
C0518a.p(this.mTraceListener);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void extendNativeModules(NativeModuleRegistry nativeModuleRegistry) {
this.mNativeModuleRegistry.registerModules(nativeModuleRegistry);
jniExtendNativeModules(nativeModuleRegistry.getJavaModules(this), nativeModuleRegistry.getCxxModules());
}
@Override // com.facebook.react.bridge.CatalystInstance
public UIManager getFabricUIManager() {
return this.mFabricUIManager;
}
@Override // com.facebook.react.bridge.CatalystInstance
public native CallInvokerHolderImpl getJSCallInvokerHolder();
@Override // com.facebook.react.bridge.CatalystInstance
public <T extends JavaScriptModule> T getJSModule(Class<T> cls) {
return (T) this.mJSModuleRegistry.getJavaScriptModule(this, cls);
}
@Override // com.facebook.react.bridge.CatalystInstance
public JavaScriptContextHolder getJavaScriptContextHolder() {
return this.mJavaScriptContextHolder;
}
@Override // com.facebook.react.bridge.CatalystInstance
public native NativeMethodCallInvokerHolderImpl getNativeMethodCallInvokerHolder();
@Override // com.facebook.react.bridge.CatalystInstance
public <T extends NativeModule> T getNativeModule(Class<T> cls) {
return (T) getNativeModule(getNameFromAnnotation(cls));
}
@Override // com.facebook.react.bridge.CatalystInstance
public Collection<NativeModule> getNativeModules() {
ArrayList arrayList = new ArrayList();
arrayList.addAll(this.mNativeModuleRegistry.getAllModules());
if (getTurboModuleRegistry() != null) {
Iterator<NativeModule> it = getTurboModuleRegistry().getModules().iterator();
while (it.hasNext()) {
arrayList.add(it.next());
}
}
return arrayList;
}
@Override // com.facebook.react.bridge.CatalystInstance
public ReactQueueConfiguration getReactQueueConfiguration() {
return this.mReactQueueConfiguration;
}
@Override // com.facebook.react.bridge.CatalystInstance
public native RuntimeExecutor getRuntimeExecutor();
@Override // com.facebook.react.bridge.CatalystInstance
public native RuntimeScheduler getRuntimeScheduler();
@Override // com.facebook.react.bridge.CatalystInstance
public String getSourceURL() {
return this.mSourceURL;
}
@Override // com.facebook.react.bridge.MemoryPressureListener
public void handleMemoryPressure(int i3) {
if (this.mDestroyed) {
return;
}
jniHandleMemoryPressure(i3);
}
@Override // com.facebook.react.bridge.CatalystInstance
public <T extends NativeModule> boolean hasNativeModule(Class<T> cls) {
String nameFromAnnotation = getNameFromAnnotation(cls);
if (getTurboModuleRegistry() == null || !getTurboModuleRegistry().hasModule(nameFromAnnotation)) {
return this.mNativeModuleRegistry.hasModule(nameFromAnnotation);
}
return true;
}
@Override // com.facebook.react.bridge.CatalystInstance
public boolean hasRunJSBundle() {
boolean z3;
synchronized (this.mJSCallsPendingInitLock) {
try {
z3 = this.mJSBundleHasLoaded && this.mAcceptCalls;
} finally {
}
}
return z3;
}
@Override // com.facebook.react.bridge.CatalystInstance
public void initialize() {
Y.a.b("ReactNative", "CatalystInstanceImpl.initialize()");
C0210a.b(!this.mInitialized, "This catalyst instance has already been initialized");
C0210a.b(this.mAcceptCalls, "RunJSBundle hasn't completed.");
this.mInitialized = true;
this.mNativeModulesQueueThread.runOnQueue(new Runnable() { // from class: com.facebook.react.bridge.f
@Override // java.lang.Runnable
public final void run() {
this.f6503b.lambda$initialize$3();
}
});
}
@Override // com.facebook.react.bridge.CatalystInstance, com.facebook.react.bridge.JSInstance
public void invokeCallback(int i3, NativeArrayInterface nativeArrayInterface) {
if (this.mDestroyed) {
Y.a.I("ReactNative", "Invoking JS callback after bridge has been destroyed.");
} else {
jniCallJSCallback(i3, (NativeArray) nativeArrayInterface);
}
}
@Override // com.facebook.react.bridge.CatalystInstance
public boolean isDestroyed() {
return this.mDestroyed;
}
@Override // com.facebook.react.bridge.JSBundleLoaderDelegate
public void loadScriptFromAssets(AssetManager assetManager, String str, boolean z3) {
this.mSourceURL = str;
jniLoadScriptFromAssets(assetManager, str, z3);
}
@Override // com.facebook.react.bridge.JSBundleLoaderDelegate
public void loadScriptFromFile(String str, String str2, boolean z3) {
this.mSourceURL = str2;
jniLoadScriptFromFile(str, str2, z3);
}
@Override // com.facebook.react.bridge.JSBundleLoaderDelegate
public void loadSplitBundleFromFile(String str, String str2) {
jniLoadScriptFromFile(str, str2, false);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void registerSegment(int i3, String str) {
jniRegisterSegment(i3, str);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void removeBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener notThreadSafeBridgeIdleDebugListener) {
this.mBridgeIdleListeners.remove(notThreadSafeBridgeIdleDebugListener);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void runJSBundle() {
Y.a.b("ReactNative", "CatalystInstanceImpl.runJSBundle()");
C0210a.b(!this.mJSBundleHasLoaded, "JS bundle was already loaded!");
this.mJSBundleLoader.loadScript(this);
synchronized (this.mJSCallsPendingInitLock) {
try {
this.mAcceptCalls = true;
Iterator<PendingJSCall> it = this.mJSCallsPendingInit.iterator();
while (it.hasNext()) {
it.next().call(this);
}
this.mJSCallsPendingInit.clear();
this.mJSBundleHasLoaded = true;
} catch (Throwable th) {
throw th;
}
}
C0518a.k(this.mTraceListener);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void setFabricUIManager(UIManager uIManager) {
this.mFabricUIManager = uIManager;
}
@Override // com.facebook.react.bridge.CatalystInstance
public native void setGlobalVariable(String str, String str2);
@Override // com.facebook.react.bridge.JSBundleLoaderDelegate
public void setSourceURLs(String str, String str2) {
this.mSourceURL = str;
jniSetSourceURL(str2);
}
@Override // com.facebook.react.bridge.CatalystInstance
public void setTurboModuleRegistry(TurboModuleRegistry turboModuleRegistry) {
this.mTurboModuleRegistry = turboModuleRegistry;
}
private CatalystInstanceImpl(ReactQueueConfigurationSpec reactQueueConfigurationSpec, JavaScriptExecutor javaScriptExecutor, NativeModuleRegistry nativeModuleRegistry, JSBundleLoader jSBundleLoader, JSExceptionHandler jSExceptionHandler, ReactInstanceManagerInspectorTarget reactInstanceManagerInspectorTarget) {
this.mPendingJSCalls = new AtomicInteger(0);
this.mJsPendingCallsTitleForTrace = "pending_js_calls_instance" + sNextInstanceIdForTrace.getAndIncrement();
this.mDestroyed = false;
this.mJSCallsPendingInit = new ArrayList<>();
this.mJSCallsPendingInitLock = new Object();
this.mInitialized = false;
this.mAcceptCalls = false;
Y.a.b("ReactNative", "Initializing React Xplat Bridge.");
C0518a.c(0L, "createCatalystInstanceImpl");
this.mHybridData = initHybrid();
ReactQueueConfigurationImpl reactQueueConfigurationImplCreate = ReactQueueConfigurationImpl.create(reactQueueConfigurationSpec, new NativeExceptionHandler());
this.mReactQueueConfiguration = reactQueueConfigurationImplCreate;
this.mBridgeIdleListeners = new CopyOnWriteArrayList<>();
this.mNativeModuleRegistry = nativeModuleRegistry;
this.mJSModuleRegistry = new JavaScriptModuleRegistry();
this.mJSBundleLoader = jSBundleLoader;
this.mJSExceptionHandler = jSExceptionHandler;
MessageQueueThread nativeModulesQueueThread = reactQueueConfigurationImplCreate.getNativeModulesQueueThread();
this.mNativeModulesQueueThread = nativeModulesQueueThread;
this.mTraceListener = new JSProfilerTraceListener(this);
this.mInspectorTarget = reactInstanceManagerInspectorTarget;
C0518a.i(0L);
Y.a.b("ReactNative", "Initializing React Xplat Bridge before initializeBridge");
C0518a.c(0L, "initializeCxxBridge");
initializeBridge(new InstanceCallback(this), javaScriptExecutor, reactQueueConfigurationImplCreate.getJSQueueThread(), nativeModulesQueueThread, nativeModuleRegistry.getJavaModules(this), nativeModuleRegistry.getCxxModules(), this.mInspectorTarget);
Y.a.b("ReactNative", "Initializing React Xplat Bridge after initializeBridge");
C0518a.i(0L);
this.mJavaScriptContextHolder = new JavaScriptContextHolder(getJavaScriptContext());
}
public void callFunction(PendingJSCall pendingJSCall) {
if (this.mDestroyed) {
Y.a.I("ReactNative", "Calling JS function after bridge has been destroyed: " + pendingJSCall.toString());
return;
}
if (!this.mAcceptCalls) {
synchronized (this.mJSCallsPendingInitLock) {
try {
if (!this.mAcceptCalls) {
this.mJSCallsPendingInit.add(pendingJSCall);
return;
}
} finally {
}
}
}
pendingJSCall.call(this);
}
@Override // com.facebook.react.bridge.CatalystInstance
public NativeModule getNativeModule(String str) {
NativeModule module;
if (getTurboModuleRegistry() != null && (module = getTurboModuleRegistry().getModule(str)) != null) {
return module;
}
if (this.mNativeModuleRegistry.hasModule(str)) {
return this.mNativeModuleRegistry.getModule(str);
}
return null;
}
}
⚠️ This content was hidden by an advertisement filtering extension in your browser. Please disable it and reload the page to access the decompiled content.
We only display one small text ad to keep this service free. Here's what it looks like:
Read the Docs for Business: You write the docs. We do the rest.
Try it today!Ad by EthicalAds
Download file