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
This commit is contained in:
2026-02-18 15:48:36 -08:00
parent c19eb3d7ff
commit c080f0d97f
26930 changed files with 2529574 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
package com.facebook.ads.internal.util.common;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
@Keep
/* loaded from: classes2.dex */
public class ANActivityLifecycleCallbacksListener implements Application.ActivityLifecycleCallbacks {
public static final int ACTIVITY_CREATED = 1;
public static final int ACTIVITY_DESTROYED = 6;
public static final int ACTIVITY_PAUSED = 4;
public static final int ACTIVITY_RESUMED = 3;
public static final int ACTIVITY_STARTED = 2;
public static final int ACTIVITY_STOPPED = 5;
@Nullable
private static ANActivityLifecycleCallbacksListener sANActivityLifecycleCallbacksListener;
private static final Map<Activity, Integer> sActivityStateMap = Collections.synchronizedMap(new WeakHashMap());
public Map<Activity, Integer> getActivityStateMap() {
return sActivityStateMap;
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityCreated(Activity activity, Bundle bundle) {
sActivityStateMap.put(activity, 1);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityStarted(Activity activity) {
sActivityStateMap.put(activity, 2);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityResumed(Activity activity) {
sActivityStateMap.put(activity, 3);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPaused(Activity activity) {
sActivityStateMap.put(activity, 4);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityStopped(Activity activity) {
sActivityStateMap.put(activity, 5);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityDestroyed(Activity activity) {
sActivityStateMap.put(activity, 6);
}
public static void registerActivityCallbacks(Context context) {
Context applicationContext = context.getApplicationContext();
synchronized (ANActivityLifecycleCallbacksListener.class) {
try {
if ((applicationContext instanceof Application) && sANActivityLifecycleCallbacksListener == null) {
ANActivityLifecycleCallbacksListener aNActivityLifecycleCallbacksListener = new ANActivityLifecycleCallbacksListener();
sANActivityLifecycleCallbacksListener = aNActivityLifecycleCallbacksListener;
((Application) applicationContext).registerActivityLifecycleCallbacks(aNActivityLifecycleCallbacksListener);
}
} catch (Throwable th) {
throw th;
}
}
}
@Nullable
public static synchronized ANActivityLifecycleCallbacksListener getANActivityLifecycleCallbacksListener() {
ANActivityLifecycleCallbacksListener aNActivityLifecycleCallbacksListener;
synchronized (ANActivityLifecycleCallbacksListener.class) {
aNActivityLifecycleCallbacksListener = sANActivityLifecycleCallbacksListener;
}
return aNActivityLifecycleCallbacksListener;
}
public static void unregisterActivityCallbacks(Context context) {
Context applicationContext = context.getApplicationContext();
synchronized (ANActivityLifecycleCallbacksListener.class) {
try {
if (applicationContext instanceof Application) {
((Application) applicationContext).unregisterActivityLifecycleCallbacks(sANActivityLifecycleCallbacksListener);
sANActivityLifecycleCallbacksListener = null;
}
} catch (Throwable th) {
throw th;
}
}
}
}

View File

@@ -0,0 +1,39 @@
package com.facebook.ads.internal.util.common;
import android.content.pm.PackageInfo;
import android.content.pm.Signature;
import android.util.Base64;
import androidx.annotation.Nullable;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/* loaded from: classes2.dex */
public class FbValidationUtils {
public static final String DEBUG_FB_PACKAGE = "com.facebook.wakizashi";
public static final String FB4A_SHA256_HASH = "4/nh4M+Z0OVqBVumXiQbM5n3zqUkMmsM3W7BMn7Q/cE=";
public static final String FB_PACKAGE = "com.facebook.katana";
public static String getSigningCertificate(@Nullable PackageInfo packageInfo) {
if (packageInfo == null) {
return "";
}
try {
Signature[] signatureArr = packageInfo.signatures;
return signatureArr.length == 0 ? "" : calculateSHA256Fingerprint(signatureArr[0].toByteArray());
} catch (NoSuchAlgorithmException unused) {
return "";
}
}
private static String calculateSHA256Fingerprint(byte[] bArr) throws NoSuchAlgorithmException {
return Base64.encodeToString(MessageDigest.getInstance("SHA256").digest(bArr), 2);
}
public static boolean isFbSigningCertificateValid(String str) {
return isFbSigningCertificateValid(str, FB4A_SHA256_HASH);
}
public static boolean isFbSigningCertificateValid(String str, String str2) {
return str2.equals(str);
}
}

View File

@@ -0,0 +1,29 @@
package com.facebook.ads.internal.util.common;
import android.os.Looper;
import androidx.annotation.Keep;
import com.facebook.infer.annotation.Nullsafe;
@Keep
@Nullsafe(Nullsafe.Mode.LOCAL)
/* loaded from: classes2.dex */
public final class Preconditions {
public static <T> T checkNotNull(T t, String str) {
if (t != null) {
return t;
}
throw new IllegalArgumentException(str);
}
public static void checkIsTrue(boolean z, String str) {
if (!z) {
throw new IllegalArgumentException(str);
}
}
public static void checkIsOnMainThread() {
if (Looper.myLooper() != Looper.getMainLooper()) {
throw new RuntimeException("Must be called from the UiThread");
}
}
}