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,56 @@
package com.google.firebase.installations;
import android.text.TextUtils;
import com.facebook.internal.security.CertificateUtil;
import com.google.firebase.installations.local.PersistedInstallationEntry;
import com.google.firebase.installations.time.Clock;
import com.google.firebase.installations.time.SystemClock;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
/* loaded from: classes3.dex */
public final class Utils {
public static Utils singleton;
public final Clock clock;
public static final long AUTH_TOKEN_EXPIRATION_BUFFER_IN_SECS = TimeUnit.HOURS.toSeconds(1);
public static final Pattern API_KEY_FORMAT = Pattern.compile("\\AA[\\w-]{38}\\z");
public Utils(Clock clock) {
this.clock = clock;
}
public static Utils getInstance() {
return getInstance(SystemClock.getInstance());
}
public static Utils getInstance(Clock clock) {
if (singleton == null) {
singleton = new Utils(clock);
}
return singleton;
}
public boolean isAuthTokenExpired(PersistedInstallationEntry persistedInstallationEntry) {
return TextUtils.isEmpty(persistedInstallationEntry.getAuthToken()) || persistedInstallationEntry.getTokenCreationEpochInSecs() + persistedInstallationEntry.getExpiresInSecs() < currentTimeInSecs() + AUTH_TOKEN_EXPIRATION_BUFFER_IN_SECS;
}
public long currentTimeInSecs() {
return TimeUnit.MILLISECONDS.toSeconds(currentTimeInMillis());
}
public long currentTimeInMillis() {
return this.clock.currentTimeMillis();
}
public static boolean isValidAppIdFormat(String str) {
return str.contains(CertificateUtil.DELIMITER);
}
public static boolean isValidApiKeyFormat(String str) {
return API_KEY_FORMAT.matcher(str).matches();
}
public long getRandomDelayForSyncPrevention() {
return (long) (Math.random() * 1000.0d);
}
}