Files
rr3-apk/decompiled-community/sources/com/google/android/gms/internal/measurement/zzgt.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

131 lines
4.9 KiB
Java

package com.google.android.gms.internal.measurement;
import android.content.Context;
import android.net.Uri;
import android.os.Build;
import android.os.StrictMode;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
import androidx.collection.SimpleArrayMap;
import com.google.common.base.Optional;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
/* loaded from: classes3.dex */
public final class zzgt {
private static zzgu zza(Context context, File file) {
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
try {
SimpleArrayMap simpleArrayMap = new SimpleArrayMap();
HashMap hashMap = new HashMap();
while (true) {
String readLine = bufferedReader.readLine();
if (readLine == null) {
Log.w("HermeticFileOverrides", "Parsed " + String.valueOf(file) + " for Android package " + context.getPackageName());
zzgl zzglVar = new zzgl(simpleArrayMap);
bufferedReader.close();
return zzglVar;
}
String[] split = readLine.split(" ", 3);
if (split.length != 3) {
Log.e("HermeticFileOverrides", "Invalid: " + readLine);
} else {
String zza2 = zza(split[0]);
String decode = Uri.decode(zza(split[1]));
String str = (String) hashMap.get(split[2]);
if (str == null) {
String zza3 = zza(split[2]);
str = Uri.decode(zza3);
if (str.length() < 1024 || str == zza3) {
hashMap.put(zza3, str);
}
}
SimpleArrayMap simpleArrayMap2 = (SimpleArrayMap) simpleArrayMap.get(zza2);
if (simpleArrayMap2 == null) {
simpleArrayMap2 = new SimpleArrayMap();
simpleArrayMap.put(zza2, simpleArrayMap2);
}
simpleArrayMap2.put(decode, str);
}
}
} finally {
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static class zza {
private static volatile Optional zza;
private zza() {
}
public static Optional zza(Context context) {
Optional zza2;
Optional optional = zza;
if (optional == null) {
synchronized (zza.class) {
try {
optional = zza;
if (optional == null) {
new zzgt();
if (!zzgx.zza(Build.TYPE, Build.TAGS)) {
zza2 = Optional.absent();
} else {
if (zzgf.zza() && !context.isDeviceProtectedStorage()) {
context = context.createDeviceProtectedStorageContext();
}
zza2 = zzgt.zza(context);
}
zza = zza2;
optional = zza2;
}
} finally {
}
}
}
return optional;
}
}
private static Optional zzb(Context context) {
try {
File file = new File(context.getDir("phenotype_hermetic", 0), "overrides.txt");
return file.exists() ? Optional.of(file) : Optional.absent();
} catch (RuntimeException e) {
Log.e("HermeticFileOverrides", "no data dir", e);
return Optional.absent();
}
}
@VisibleForTesting
public static Optional zza(Context context) {
Optional absent;
StrictMode.ThreadPolicy allowThreadDiskReads = StrictMode.allowThreadDiskReads();
try {
StrictMode.allowThreadDiskWrites();
Optional zzb = zzb(context);
if (zzb.isPresent()) {
absent = Optional.of(zza(context, (File) zzb.get()));
} else {
absent = Optional.absent();
}
StrictMode.setThreadPolicy(allowThreadDiskReads);
return absent;
} catch (Throwable th) {
StrictMode.setThreadPolicy(allowThreadDiskReads);
throw th;
}
}
private static final String zza(String str) {
return new String(str);
}
}