Files
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

173 lines
8.4 KiB
Java

package com.google.firebase.crashlytics.internal.common;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;
import com.google.firebase.crashlytics.internal.Logger;
import com.google.firebase.crashlytics.internal.common.InstallIdProvider;
import com.google.firebase.installations.FirebaseInstallationsApi;
import java.util.Locale;
import java.util.Objects;
import java.util.UUID;
import java.util.regex.Pattern;
/* loaded from: classes3.dex */
public class IdManager implements InstallIdProvider {
public final Context appContext;
public final String appIdentifier;
public final DataCollectionArbiter dataCollectionArbiter;
public final FirebaseInstallationsApi firebaseInstallations;
public InstallIdProvider.InstallIds installIds;
public final InstallerPackageNameProvider installerPackageNameProvider;
public static final Pattern ID_PATTERN = Pattern.compile("[^\\p{Alnum}]");
public static final String FORWARD_SLASH_REGEX = Pattern.quote("/");
public String getAppIdentifier() {
return this.appIdentifier;
}
public IdManager(Context context, String str, FirebaseInstallationsApi firebaseInstallationsApi, DataCollectionArbiter dataCollectionArbiter) {
if (context == null) {
throw new IllegalArgumentException("appContext must not be null");
}
if (str == null) {
throw new IllegalArgumentException("appIdentifier must not be null");
}
this.appContext = context;
this.appIdentifier = str;
this.firebaseInstallations = firebaseInstallationsApi;
this.dataCollectionArbiter = dataCollectionArbiter;
this.installerPackageNameProvider = new InstallerPackageNameProvider();
}
public static String formatId(String str) {
return ID_PATTERN.matcher(str).replaceAll("").toLowerCase(Locale.US);
}
@Override // com.google.firebase.crashlytics.internal.common.InstallIdProvider
public synchronized InstallIdProvider.InstallIds getInstallIds() {
if (!shouldRefresh()) {
return this.installIds;
}
Logger.getLogger().v("Determining Crashlytics installation ID...");
SharedPreferences sharedPrefs = CommonUtils.getSharedPrefs(this.appContext);
String string = sharedPrefs.getString("firebase.installation.id", null);
Logger.getLogger().v("Cached Firebase Installation ID: " + string);
if (this.dataCollectionArbiter.isAutomaticDataCollectionEnabled()) {
FirebaseInstallationId fetchTrueFid = fetchTrueFid(false);
Logger.getLogger().v("Fetched Firebase Installation ID: " + fetchTrueFid.getFid());
if (fetchTrueFid.getFid() == null) {
fetchTrueFid = new FirebaseInstallationId(string == null ? createSyntheticFid() : string, null);
}
if (Objects.equals(fetchTrueFid.getFid(), string)) {
this.installIds = InstallIdProvider.InstallIds.create(readCachedCrashlyticsInstallId(sharedPrefs), fetchTrueFid);
} else {
this.installIds = InstallIdProvider.InstallIds.create(createAndCacheCrashlyticsInstallId(fetchTrueFid.getFid(), sharedPrefs), fetchTrueFid);
}
} else if (isSyntheticFid(string)) {
this.installIds = InstallIdProvider.InstallIds.createWithoutFid(readCachedCrashlyticsInstallId(sharedPrefs));
} else {
this.installIds = InstallIdProvider.InstallIds.createWithoutFid(createAndCacheCrashlyticsInstallId(createSyntheticFid(), sharedPrefs));
}
Logger.getLogger().v("Install IDs: " + this.installIds);
return this.installIds;
}
public final boolean shouldRefresh() {
InstallIdProvider.InstallIds installIds = this.installIds;
return installIds == null || (installIds.getFirebaseInstallationId() == null && this.dataCollectionArbiter.isAutomaticDataCollectionEnabled());
}
public static String createSyntheticFid() {
return "SYN_" + UUID.randomUUID().toString();
}
public static boolean isSyntheticFid(String str) {
return str != null && str.startsWith("SYN_");
}
public final String readCachedCrashlyticsInstallId(SharedPreferences sharedPreferences) {
return sharedPreferences.getString("crashlytics.installation.id", null);
}
/* JADX WARN: Can't wrap try/catch for region: R(9:0|1|(7:13|14|4|5|6|7|8)|3|4|5|6|7|8) */
/* JADX WARN: Code restructure failed: missing block: B:11:0x002e, code lost:
r1 = move-exception;
*/
/* JADX WARN: Code restructure failed: missing block: B:12:0x002f, code lost:
com.google.firebase.crashlytics.internal.Logger.getLogger().w("Error getting Firebase installation id.", r1);
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public com.google.firebase.crashlytics.internal.common.FirebaseInstallationId fetchTrueFid(boolean r5) {
/*
r4 = this;
r0 = 0
if (r5 == 0) goto L1f
com.google.firebase.installations.FirebaseInstallationsApi r5 = r4.firebaseInstallations // Catch: java.lang.Exception -> L15
r1 = 0
com.google.android.gms.tasks.Task r5 = r5.getToken(r1) // Catch: java.lang.Exception -> L15
java.lang.Object r5 = com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(r5) // Catch: java.lang.Exception -> L15
com.google.firebase.installations.InstallationTokenResult r5 = (com.google.firebase.installations.InstallationTokenResult) r5 // Catch: java.lang.Exception -> L15
java.lang.String r5 = r5.getToken() // Catch: java.lang.Exception -> L15
goto L20
L15:
r5 = move-exception
com.google.firebase.crashlytics.internal.Logger r1 = com.google.firebase.crashlytics.internal.Logger.getLogger()
java.lang.String r2 = "Error getting Firebase authentication token."
r1.w(r2, r5)
L1f:
r5 = r0
L20:
com.google.firebase.installations.FirebaseInstallationsApi r1 = r4.firebaseInstallations // Catch: java.lang.Exception -> L2e
com.google.android.gms.tasks.Task r1 = r1.getId() // Catch: java.lang.Exception -> L2e
java.lang.Object r1 = com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(r1) // Catch: java.lang.Exception -> L2e
java.lang.String r1 = (java.lang.String) r1 // Catch: java.lang.Exception -> L2e
r0 = r1
goto L38
L2e:
r1 = move-exception
com.google.firebase.crashlytics.internal.Logger r2 = com.google.firebase.crashlytics.internal.Logger.getLogger()
java.lang.String r3 = "Error getting Firebase installation id."
r2.w(r3, r1)
L38:
com.google.firebase.crashlytics.internal.common.FirebaseInstallationId r1 = new com.google.firebase.crashlytics.internal.common.FirebaseInstallationId
r1.<init>(r0, r5)
return r1
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.firebase.crashlytics.internal.common.IdManager.fetchTrueFid(boolean):com.google.firebase.crashlytics.internal.common.FirebaseInstallationId");
}
public final synchronized String createAndCacheCrashlyticsInstallId(String str, SharedPreferences sharedPreferences) {
String formatId;
formatId = formatId(UUID.randomUUID().toString());
Logger.getLogger().v("Created new Crashlytics installation ID: " + formatId + " for FID: " + str);
sharedPreferences.edit().putString("crashlytics.installation.id", formatId).putString("firebase.installation.id", str).apply();
return formatId;
}
public String getOsDisplayVersionString() {
return removeForwardSlashesIn(Build.VERSION.RELEASE);
}
public String getOsBuildVersionString() {
return removeForwardSlashesIn(Build.VERSION.INCREMENTAL);
}
public String getModelName() {
return String.format(Locale.US, "%s/%s", removeForwardSlashesIn(Build.MANUFACTURER), removeForwardSlashesIn(Build.MODEL));
}
public final String removeForwardSlashesIn(String str) {
return str.replaceAll(FORWARD_SLASH_REGEX, "");
}
public String getInstallerPackageName() {
return this.installerPackageNameProvider.getInstallerPackageName(this.appContext);
}
}