Files
rr3-apk/decompiled-community/sources/com/facebook/internal/instrument/crashshield/CrashShieldHandler.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

92 lines
3.0 KiB
Java

package com.facebook.internal.instrument.crashshield;
import android.os.Handler;
import android.os.Looper;
import androidx.annotation.VisibleForTesting;
import com.facebook.FacebookSdk;
import com.facebook.internal.instrument.ExceptionAnalyzer;
import com.facebook.internal.instrument.InstrumentData;
import java.util.Collections;
import java.util.Set;
import java.util.WeakHashMap;
import kotlin.jvm.internal.Intrinsics;
/* loaded from: classes2.dex */
public final class CrashShieldHandler {
public static final CrashShieldHandler INSTANCE = new CrashShieldHandler();
private static final Set<Object> crashingObjects = Collections.newSetFromMap(new WeakHashMap());
private static boolean enabled;
@VisibleForTesting
public static final void disable() {
enabled = false;
}
public static final void enable() {
enabled = true;
}
@VisibleForTesting
public static final boolean isDebug() {
return false;
}
public static final void methodFinished(Object obj) {
}
private CrashShieldHandler() {
}
public static final void handleThrowable(Throwable th, Object o) {
Intrinsics.checkNotNullParameter(o, "o");
if (enabled) {
crashingObjects.add(o);
if (FacebookSdk.getAutoLogAppEventsEnabled()) {
ExceptionAnalyzer.execute(th);
InstrumentData.Builder builder = InstrumentData.Builder.INSTANCE;
InstrumentData.Builder.build(th, InstrumentData.Type.CrashShield).save();
}
scheduleCrashInDebug(th);
}
}
public static final boolean isObjectCrashing(Object o) {
Intrinsics.checkNotNullParameter(o, "o");
return crashingObjects.contains(o);
}
public static final void reset() {
resetCrashingObjects();
}
public static final void resetCrashingObjects() {
crashingObjects.clear();
}
@VisibleForTesting
public static final void scheduleCrashInDebug(final Throwable th) {
if (isDebug()) {
new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: com.facebook.internal.instrument.crashshield.CrashShieldHandler$scheduleCrashInDebug$1
@Override // java.lang.Runnable
public void run() {
if (CrashShieldHandler.isObjectCrashing(this)) {
return;
}
try {
if (CrashShieldHandler.isObjectCrashing(this)) {
return;
}
try {
throw new RuntimeException(th);
} catch (Throwable th2) {
CrashShieldHandler.handleThrowable(th2, this);
}
} catch (Throwable th3) {
CrashShieldHandler.handleThrowable(th3, this);
}
}
});
}
}
}