NetMirror.apk
Download file
package com.facebook.react.bridge;
import a1.C0210a;
import android.app.Activity;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import com.facebook.react.bridge.interop.InteropModuleRegistry;
import com.facebook.react.bridge.queue.MessageQueueThread;
import com.facebook.react.bridge.queue.ReactQueueConfiguration;
import com.facebook.react.common.LifecycleState;
import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder;
import java.lang.ref.WeakReference;
import java.util.Collection;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArraySet;
/* JADX INFO: loaded from: classes.dex */
public abstract class ReactContext extends ContextWrapper {
private static final String TAG = "ReactContext";
private final CopyOnWriteArraySet<ActivityEventListener> mActivityEventListeners;
private WeakReference<Activity> mCurrentActivity;
private JSExceptionHandler mExceptionHandlerWrapper;
private LayoutInflater mInflater;
protected InteropModuleRegistry mInteropModuleRegistry;
private boolean mIsInitialized;
private JSExceptionHandler mJSExceptionHandler;
private MessageQueueThread mJSMessageQueueThread;
private final CopyOnWriteArraySet<LifecycleEventListener> mLifecycleEventListeners;
private LifecycleState mLifecycleState;
private MessageQueueThread mNativeModulesMessageQueueThread;
private ReactQueueConfiguration mQueueConfig;
private MessageQueueThread mUiMessageQueueThread;
private final CopyOnWriteArraySet<WindowFocusChangeListener> mWindowFocusEventListeners;
/* JADX INFO: renamed from: com.facebook.react.bridge.ReactContext$2, reason: invalid class name */
static /* synthetic */ class AnonymousClass2 {
static final /* synthetic */ int[] $SwitchMap$com$facebook$react$common$LifecycleState;
static {
int[] iArr = new int[LifecycleState.values().length];
$SwitchMap$com$facebook$react$common$LifecycleState = iArr;
try {
iArr[LifecycleState.f6516b.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$com$facebook$react$common$LifecycleState[LifecycleState.f6517c.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$com$facebook$react$common$LifecycleState[LifecycleState.f6518d.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
}
}
public class ExceptionHandlerWrapper implements JSExceptionHandler {
public ExceptionHandlerWrapper() {
}
@Override // com.facebook.react.bridge.JSExceptionHandler
public void handleException(Exception exc) {
ReactContext.this.handleException(exc);
}
}
public interface RCTDeviceEventEmitter extends JavaScriptModule {
void emit(String str, Object obj);
}
public ReactContext(Context context) {
super(context);
this.mLifecycleEventListeners = new CopyOnWriteArraySet<>();
this.mActivityEventListeners = new CopyOnWriteArraySet<>();
this.mWindowFocusEventListeners = new CopyOnWriteArraySet<>();
this.mLifecycleState = LifecycleState.f6516b;
this.mIsInitialized = false;
}
private void onHostDestroyImpl() {
UiThreadUtil.assertOnUiThread();
this.mLifecycleState = LifecycleState.f6516b;
Iterator<LifecycleEventListener> it = this.mLifecycleEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onHostDestroy();
} catch (RuntimeException e4) {
handleException(e4);
}
}
}
public void addActivityEventListener(ActivityEventListener activityEventListener) {
this.mActivityEventListeners.add(activityEventListener);
}
public void addLifecycleEventListener(final LifecycleEventListener lifecycleEventListener) {
int i3;
this.mLifecycleEventListeners.add(lifecycleEventListener);
if ((!hasActiveReactInstance() && !isBridgeless()) || (i3 = AnonymousClass2.$SwitchMap$com$facebook$react$common$LifecycleState[this.mLifecycleState.ordinal()]) == 1 || i3 == 2) {
return;
}
if (i3 != 3) {
throw new IllegalStateException("Unhandled lifecycle state.");
}
runOnUiQueueThread(new Runnable() { // from class: com.facebook.react.bridge.ReactContext.1
@Override // java.lang.Runnable
public void run() {
if (ReactContext.this.mLifecycleEventListeners.contains(lifecycleEventListener)) {
try {
lifecycleEventListener.onHostResume();
} catch (RuntimeException e4) {
ReactContext.this.handleException(e4);
}
}
}
});
}
public void addWindowFocusChangeListener(WindowFocusChangeListener windowFocusChangeListener) {
this.mWindowFocusEventListeners.add(windowFocusChangeListener);
}
public void assertOnJSQueueThread() {
((MessageQueueThread) C0210a.c(this.mJSMessageQueueThread)).assertIsOnThread();
}
public void assertOnNativeModulesQueueThread() {
if (!this.mIsInitialized) {
throw new IllegalStateException("Tried to call assertOnNativeModulesQueueThread() on an uninitialized ReactContext");
}
((MessageQueueThread) C0210a.c(this.mNativeModulesMessageQueueThread)).assertIsOnThread();
}
public void assertOnUiQueueThread() {
((MessageQueueThread) C0210a.c(this.mUiMessageQueueThread)).assertIsOnThread();
}
public abstract void destroy();
public void emitDeviceEvent(String str, Object obj) {
RCTDeviceEventEmitter rCTDeviceEventEmitter = (RCTDeviceEventEmitter) getJSModule(RCTDeviceEventEmitter.class);
if (rCTDeviceEventEmitter != null) {
rCTDeviceEventEmitter.emit(str, obj);
}
}
public abstract CatalystInstance getCatalystInstance();
public Activity getCurrentActivity() {
WeakReference<Activity> weakReference = this.mCurrentActivity;
if (weakReference == null) {
return null;
}
return weakReference.get();
}
public JSExceptionHandler getExceptionHandler() {
if (this.mExceptionHandlerWrapper == null) {
this.mExceptionHandlerWrapper = new ExceptionHandlerWrapper();
}
return this.mExceptionHandlerWrapper;
}
@Deprecated(since = "This method is deprecated, please use UIManagerHelper.getUIManager() instead.")
public abstract UIManager getFabricUIManager();
public abstract CallInvokerHolder getJSCallInvokerHolder();
public JSExceptionHandler getJSExceptionHandler() {
return this.mJSExceptionHandler;
}
public MessageQueueThread getJSMessageQueueThread() {
return this.mJSMessageQueueThread;
}
public abstract <T extends JavaScriptModule> T getJSModule(Class<T> cls);
public abstract JavaScriptContextHolder getJavaScriptContextHolder();
public LifecycleState getLifecycleState() {
return this.mLifecycleState;
}
public abstract <T extends NativeModule> T getNativeModule(Class<T> cls);
public abstract NativeModule getNativeModule(String str);
public abstract Collection<NativeModule> getNativeModules();
public MessageQueueThread getNativeModulesMessageQueueThread() {
return this.mNativeModulesMessageQueueThread;
}
public abstract String getSourceURL();
@Override // android.content.ContextWrapper, android.content.Context
public Object getSystemService(String str) {
if (!"layout_inflater".equals(str)) {
return getBaseContext().getSystemService(str);
}
if (this.mInflater == null) {
this.mInflater = LayoutInflater.from(getBaseContext()).cloneInContext(this);
}
return this.mInflater;
}
public MessageQueueThread getUiMessageQueueThread() {
return this.mUiMessageQueueThread;
}
public abstract void handleException(Exception exc);
@Deprecated
public abstract boolean hasActiveCatalystInstance();
public abstract boolean hasActiveReactInstance();
@Deprecated
public abstract boolean hasCatalystInstance();
public boolean hasCurrentActivity() {
WeakReference<Activity> weakReference = this.mCurrentActivity;
return (weakReference == null || weakReference.get() == null) ? false : true;
}
public abstract <T extends NativeModule> boolean hasNativeModule(Class<T> cls);
public abstract boolean hasReactInstance();
protected void initializeFromOther(ReactContext reactContext) {
if (reactContext.hasReactInstance()) {
initializeMessageQueueThreads(reactContext.mQueueConfig);
}
this.mInteropModuleRegistry = reactContext.mInteropModuleRegistry;
}
protected void initializeInteropModules() {
this.mInteropModuleRegistry = new InteropModuleRegistry();
}
public synchronized void initializeMessageQueueThreads(ReactQueueConfiguration reactQueueConfiguration) {
Y.a.b(TAG, "initializeMessageQueueThreads() is called.");
if (this.mUiMessageQueueThread != null || this.mNativeModulesMessageQueueThread != null || this.mJSMessageQueueThread != null) {
throw new IllegalStateException("Message queue threads already initialized");
}
this.mQueueConfig = reactQueueConfiguration;
this.mUiMessageQueueThread = reactQueueConfiguration.getUIQueueThread();
this.mNativeModulesMessageQueueThread = reactQueueConfiguration.getNativeModulesQueueThread();
MessageQueueThread jSQueueThread = reactQueueConfiguration.getJSQueueThread();
this.mJSMessageQueueThread = jSQueueThread;
if (this.mUiMessageQueueThread == null) {
throw new IllegalStateException("UI thread is null");
}
if (this.mNativeModulesMessageQueueThread == null) {
throw new IllegalStateException("NativeModules thread is null");
}
if (jSQueueThread == null) {
throw new IllegalStateException("JavaScript thread is null");
}
this.mIsInitialized = true;
}
public <T extends JavaScriptModule> void internal_registerInteropModule(Class<T> cls, Object obj) {
InteropModuleRegistry interopModuleRegistry = this.mInteropModuleRegistry;
if (interopModuleRegistry != null) {
interopModuleRegistry.registerInteropModule(cls, obj);
}
}
@Deprecated
public abstract boolean isBridgeless();
public boolean isOnJSQueueThread() {
return ((MessageQueueThread) C0210a.c(this.mJSMessageQueueThread)).isOnThread();
}
public boolean isOnNativeModulesQueueThread() {
return ((MessageQueueThread) C0210a.c(this.mNativeModulesMessageQueueThread)).isOnThread();
}
public boolean isOnUiQueueThread() {
return ((MessageQueueThread) C0210a.c(this.mUiMessageQueueThread)).isOnThread();
}
public void onActivityResult(Activity activity, int i3, int i4, Intent intent) {
Iterator<ActivityEventListener> it = this.mActivityEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onActivityResult(activity, i3, i4, intent);
} catch (RuntimeException e4) {
handleException(e4);
}
}
}
public void onHostDestroy() {
onHostDestroyImpl();
this.mCurrentActivity = null;
}
public void onHostPause() {
this.mLifecycleState = LifecycleState.f6517c;
ReactMarker.logMarker(ReactMarkerConstants.ON_HOST_PAUSE_START);
Iterator<LifecycleEventListener> it = this.mLifecycleEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onHostPause();
} catch (RuntimeException e4) {
handleException(e4);
}
}
ReactMarker.logMarker(ReactMarkerConstants.ON_HOST_PAUSE_END);
}
public void onHostResume(Activity activity) {
this.mLifecycleState = LifecycleState.f6518d;
this.mCurrentActivity = new WeakReference<>(activity);
ReactMarker.logMarker(ReactMarkerConstants.ON_HOST_RESUME_START);
Iterator<LifecycleEventListener> it = this.mLifecycleEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onHostResume();
} catch (RuntimeException e4) {
handleException(e4);
}
}
ReactMarker.logMarker(ReactMarkerConstants.ON_HOST_RESUME_END);
}
public void onNewIntent(Activity activity, Intent intent) {
UiThreadUtil.assertOnUiThread();
this.mCurrentActivity = new WeakReference<>(activity);
Iterator<ActivityEventListener> it = this.mActivityEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onNewIntent(intent);
} catch (RuntimeException e4) {
handleException(e4);
}
}
}
public void onUserLeaveHint(Activity activity) {
ReactMarker.logMarker(ReactMarkerConstants.ON_USER_LEAVE_HINT_START);
Iterator<ActivityEventListener> it = this.mActivityEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onUserLeaveHint(activity);
} catch (RuntimeException e4) {
handleException(e4);
}
}
ReactMarker.logMarker(ReactMarkerConstants.ON_USER_LEAVE_HINT_END);
}
public void onWindowFocusChange(boolean z3) {
UiThreadUtil.assertOnUiThread();
Iterator<WindowFocusChangeListener> it = this.mWindowFocusEventListeners.iterator();
while (it.hasNext()) {
try {
it.next().onWindowFocusChange(z3);
} catch (RuntimeException e4) {
handleException(e4);
}
}
}
public abstract void registerSegment(int i3, String str, Callback callback);
public void removeActivityEventListener(ActivityEventListener activityEventListener) {
this.mActivityEventListeners.remove(activityEventListener);
}
public void removeLifecycleEventListener(LifecycleEventListener lifecycleEventListener) {
this.mLifecycleEventListeners.remove(lifecycleEventListener);
}
public void removeWindowFocusChangeListener(WindowFocusChangeListener windowFocusChangeListener) {
this.mWindowFocusEventListeners.remove(windowFocusChangeListener);
}
public void resetPerfStats() {
MessageQueueThread messageQueueThread = this.mNativeModulesMessageQueueThread;
if (messageQueueThread != null) {
messageQueueThread.resetPerfStats();
}
MessageQueueThread messageQueueThread2 = this.mJSMessageQueueThread;
if (messageQueueThread2 != null) {
messageQueueThread2.resetPerfStats();
}
}
public boolean runOnJSQueueThread(Runnable runnable) {
return ((MessageQueueThread) C0210a.c(this.mJSMessageQueueThread)).runOnQueue(runnable);
}
public void runOnNativeModulesQueueThread(Runnable runnable) {
((MessageQueueThread) C0210a.c(this.mNativeModulesMessageQueueThread)).runOnQueue(runnable);
}
public void runOnUiQueueThread(Runnable runnable) {
((MessageQueueThread) C0210a.c(this.mUiMessageQueueThread)).runOnQueue(runnable);
}
public void setJSExceptionHandler(JSExceptionHandler jSExceptionHandler) {
this.mJSExceptionHandler = jSExceptionHandler;
}
public boolean startActivityForResult(Intent intent, int i3, Bundle bundle) {
Activity currentActivity = getCurrentActivity();
if (currentActivity == null) {
return false;
}
currentActivity.startActivityForResult(intent, i3, bundle);
return true;
}
public void emitDeviceEvent(String str) {
emitDeviceEvent(str, null);
}
public void onHostDestroy(boolean z3) {
if (!z3) {
onHostDestroy();
} else {
onHostDestroyImpl();
}
}
public void assertOnNativeModulesQueueThread(String str) {
if (this.mIsInitialized) {
((MessageQueueThread) C0210a.c(this.mNativeModulesMessageQueueThread)).assertIsOnThread(str);
return;
}
throw new IllegalStateException("Tried to call assertOnNativeModulesQueueThread(message) on an uninitialized ReactContext");
}
}
⚠️ 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