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

686 lines
23 KiB
Java

package com.google.android.gms.measurement.internal;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteException;
import android.text.TextUtils;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.WorkerThread;
import androidx.collection.ArrayMap;
import androidx.collection.LruCache;
import com.facebook.devicerequests.internal.DeviceRequestsHelper;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.util.Clock;
import com.google.android.gms.internal.measurement.zzfj;
import com.google.android.gms.internal.measurement.zzft;
import com.google.android.gms.measurement.internal.zzin;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.concurrent.Callable;
/* loaded from: classes3.dex */
public final class zzgw extends zznb implements zzag {
@VisibleForTesting
final LruCache<String, com.google.android.gms.internal.measurement.zzb> zza;
final com.google.android.gms.internal.measurement.zzv zzb;
private final Map<String, Map<String, String>> zzc;
@VisibleForTesting
private final Map<String, Set<String>> zzd;
@VisibleForTesting
private final Map<String, Map<String, Boolean>> zze;
@VisibleForTesting
private final Map<String, Map<String, Boolean>> zzg;
private final Map<String, zzfj.zzd> zzh;
private final Map<String, Map<String, Integer>> zzi;
private final Map<String, String> zzj;
private final Map<String, String> zzk;
private final Map<String, String> zzl;
@WorkerThread
public final int zzb(String str, String str2) {
Integer num;
zzt();
zzv(str);
Map<String, Integer> map = this.zzi.get(str);
if (map == null || (num = map.get(str2)) == null) {
return 1;
}
return num.intValue();
}
@Override // com.google.android.gms.measurement.internal.zznb
public final boolean zzc() {
return false;
}
@WorkerThread
public final long zza(String str) {
String zza = zza(str, "measurement.account.time_zone_offset_minutes");
if (TextUtils.isEmpty(zza)) {
return 0L;
}
try {
return Long.parseLong(zza);
} catch (NumberFormatException e) {
zzj().zzu().zza("Unable to parse timezone offset. appId", zzfw.zza(str), e);
return 0L;
}
}
@Override // com.google.android.gms.measurement.internal.zzij, com.google.android.gms.measurement.internal.zzil
public final /* bridge */ /* synthetic */ Context zza() {
return super.zza();
}
public static /* synthetic */ com.google.android.gms.internal.measurement.zzb zza(zzgw zzgwVar, String str) {
zzgwVar.zzak();
Preconditions.checkNotEmpty(str);
if (!zzgwVar.zzl(str)) {
return null;
}
if (zzgwVar.zzh.containsKey(str) && zzgwVar.zzh.get(str) != null) {
zzgwVar.zza(str, zzgwVar.zzh.get(str));
} else {
zzgwVar.zzv(str);
}
return zzgwVar.zza.snapshot().get(str);
}
@Override // com.google.android.gms.measurement.internal.zzij, com.google.android.gms.measurement.internal.zzil
public final /* bridge */ /* synthetic */ Clock zzb() {
return super.zzb();
}
@Override // com.google.android.gms.measurement.internal.zzmy
public final /* bridge */ /* synthetic */ zzs zzg() {
return super.zzg();
}
@Override // com.google.android.gms.measurement.internal.zzij, com.google.android.gms.measurement.internal.zzil
public final /* bridge */ /* synthetic */ zzad zzd() {
return super.zzd();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ zzae zze() {
return super.zze();
}
@Override // com.google.android.gms.measurement.internal.zzmy
public final /* bridge */ /* synthetic */ zzan zzh() {
return super.zzh();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ zzaz zzf() {
return super.zzf();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ zzfv zzi() {
return super.zzi();
}
@Override // com.google.android.gms.measurement.internal.zzij, com.google.android.gms.measurement.internal.zzil
public final /* bridge */ /* synthetic */ zzfw zzj() {
return super.zzj();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ zzgl zzk() {
return super.zzk();
}
@Override // com.google.android.gms.measurement.internal.zzmy
public final /* bridge */ /* synthetic */ zzgw zzm() {
return super.zzm();
}
@Override // com.google.android.gms.measurement.internal.zzij, com.google.android.gms.measurement.internal.zzil
public final /* bridge */ /* synthetic */ zzhg zzl() {
return super.zzl();
}
@WorkerThread
public final zziq zza(String str, zzin.zza zzaVar) {
zzt();
zzv(str);
zzfj.zza zzb = zzb(str);
if (zzb == null) {
return zziq.UNINITIALIZED;
}
for (zzfj.zza.zzb zzbVar : zzb.zzf()) {
if (zza(zzbVar.zzc()) == zzaVar) {
int i = zzhe.zzc[zzbVar.zzb().ordinal()];
if (i == 1) {
return zziq.DENIED;
}
if (i == 2) {
return zziq.GRANTED;
}
return zziq.UNINITIALIZED;
}
}
return zziq.UNINITIALIZED;
}
@WorkerThread
public final zzin.zza zzb(String str, zzin.zza zzaVar) {
zzt();
zzv(str);
zzfj.zza zzb = zzb(str);
if (zzb == null) {
return null;
}
for (zzfj.zza.zzc zzcVar : zzb.zze()) {
if (zzaVar == zza(zzcVar.zzc())) {
return zza(zzcVar.zzb());
}
}
return null;
}
private static zzin.zza zza(zzfj.zza.zze zzeVar) {
int i = zzhe.zzb[zzeVar.ordinal()];
if (i == 1) {
return zzin.zza.AD_STORAGE;
}
if (i == 2) {
return zzin.zza.ANALYTICS_STORAGE;
}
if (i == 3) {
return zzin.zza.AD_USER_DATA;
}
if (i != 4) {
return null;
}
return zzin.zza.AD_PERSONALIZATION;
}
@Override // com.google.android.gms.measurement.internal.zzmy
public final /* bridge */ /* synthetic */ zzmc zzn() {
return super.zzn();
}
@Override // com.google.android.gms.measurement.internal.zzmy
public final /* bridge */ /* synthetic */ zzna zzo() {
return super.zzo();
}
@Override // com.google.android.gms.measurement.internal.zzmy
public final /* bridge */ /* synthetic */ zznp g_() {
return super.g_();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ zznt zzq() {
return super.zzq();
}
@WorkerThread
public final zzfj.zza zzb(String str) {
zzt();
zzv(str);
zzfj.zzd zzc = zzc(str);
if (zzc == null || !zzc.zzp()) {
return null;
}
return zzc.zzd();
}
@WorkerThread
public final zzfj.zzd zzc(String str) {
zzak();
zzt();
Preconditions.checkNotEmpty(str);
zzv(str);
return this.zzh.get(str);
}
@WorkerThread
private final zzfj.zzd zza(String str, byte[] bArr) {
if (bArr == null) {
return zzfj.zzd.zzg();
}
try {
zzfj.zzd zzdVar = (zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) ((zzfj.zzd.zza) zznp.zza(zzfj.zzd.zze(), bArr)).zzag());
zzj().zzp().zza("Parsed config. version, gmp_app_id", zzdVar.zzs() ? Long.valueOf(zzdVar.zzc()) : null, zzdVar.zzq() ? zzdVar.zzi() : null);
return zzdVar;
} catch (com.google.android.gms.internal.measurement.zzjt e) {
zzj().zzu().zza("Unable to merge remote config. appId", zzfw.zza(str), e);
return zzfj.zzd.zzg();
} catch (RuntimeException e2) {
zzj().zzu().zza("Unable to merge remote config. appId", zzfw.zza(str), e2);
return zzfj.zzd.zzg();
}
}
@Override // com.google.android.gms.measurement.internal.zzag
@WorkerThread
public final String zza(String str, String str2) {
zzt();
zzv(str);
Map<String, String> map = this.zzc.get(str);
if (map != null) {
return map.get(str2);
}
return null;
}
@WorkerThread
public final String zzd(String str) {
zzt();
return this.zzl.get(str);
}
@WorkerThread
public final String zze(String str) {
zzt();
return this.zzk.get(str);
}
@WorkerThread
public final String zzf(String str) {
zzt();
zzv(str);
return this.zzj.get(str);
}
private static Map<String, String> zza(zzfj.zzd zzdVar) {
ArrayMap arrayMap = new ArrayMap();
if (zzdVar != null) {
for (zzfj.zzg zzgVar : zzdVar.zzn()) {
arrayMap.put(zzgVar.zzb(), zzgVar.zzc());
}
}
return arrayMap;
}
@WorkerThread
public final Set<String> zzg(String str) {
zzt();
zzv(str);
return this.zzd.get(str);
}
@WorkerThread
public final SortedSet<String> zzh(String str) {
zzt();
zzv(str);
TreeSet treeSet = new TreeSet();
zzfj.zza zzb = zzb(str);
if (zzb == null) {
return treeSet;
}
Iterator<zzfj.zza.zzf> it = zzb.zzc().iterator();
while (it.hasNext()) {
treeSet.add(it.next().zzb());
}
return treeSet;
}
public zzgw(zznc zzncVar) {
super(zzncVar);
this.zzc = new ArrayMap();
this.zzd = new ArrayMap();
this.zze = new ArrayMap();
this.zzg = new ArrayMap();
this.zzh = new ArrayMap();
this.zzj = new ArrayMap();
this.zzk = new ArrayMap();
this.zzl = new ArrayMap();
this.zzi = new ArrayMap();
this.zza = new zzgz(this, 20);
this.zzb = new zzhc(this);
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ void zzr() {
super.zzr();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ void zzs() {
super.zzs();
}
@Override // com.google.android.gms.measurement.internal.zzij
public final /* bridge */ /* synthetic */ void zzt() {
super.zzt();
}
@WorkerThread
public final void zzi(String str) {
zzt();
this.zzk.put(str, null);
}
private final void zza(String str, zzfj.zzd.zza zzaVar) {
HashSet hashSet = new HashSet();
ArrayMap arrayMap = new ArrayMap();
ArrayMap arrayMap2 = new ArrayMap();
ArrayMap arrayMap3 = new ArrayMap();
if (zzaVar != null) {
Iterator<zzfj.zzb> it = zzaVar.zze().iterator();
while (it.hasNext()) {
hashSet.add(it.next().zzb());
}
for (int i = 0; i < zzaVar.zza(); i++) {
zzfj.zzc.zza zzca = zzaVar.zza(i).zzca();
if (zzca.zzb().isEmpty()) {
zzj().zzu().zza("EventConfig contained null event name");
} else {
String zzb = zzca.zzb();
String zzb2 = zzir.zzb(zzca.zzb());
if (!TextUtils.isEmpty(zzb2)) {
zzca = zzca.zza(zzb2);
zzaVar.zza(i, zzca);
}
if (zzca.zze() && zzca.zzc()) {
arrayMap.put(zzb, Boolean.TRUE);
}
if (zzca.zzf() && zzca.zzd()) {
arrayMap2.put(zzca.zzb(), Boolean.TRUE);
}
if (zzca.zzg()) {
if (zzca.zza() < 2 || zzca.zza() > 65535) {
zzj().zzu().zza("Invalid sampling rate. Event name, sample rate", zzca.zzb(), Integer.valueOf(zzca.zza()));
} else {
arrayMap3.put(zzca.zzb(), Integer.valueOf(zzca.zza()));
}
}
}
}
}
this.zzd.put(str, hashSet);
this.zze.put(str, arrayMap);
this.zzg.put(str, arrayMap2);
this.zzi.put(str, arrayMap3);
}
@WorkerThread
private final void zzv(String str) {
zzak();
zzt();
Preconditions.checkNotEmpty(str);
if (this.zzh.get(str) == null) {
zzap zzf = zzh().zzf(str);
if (zzf == null) {
this.zzc.put(str, null);
this.zze.put(str, null);
this.zzd.put(str, null);
this.zzg.put(str, null);
this.zzh.put(str, null);
this.zzj.put(str, null);
this.zzk.put(str, null);
this.zzl.put(str, null);
this.zzi.put(str, null);
return;
}
zzfj.zzd.zza zzca = zza(str, zzf.zza).zzca();
zza(str, zzca);
this.zzc.put(str, zza((zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag())));
this.zzh.put(str, (zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag()));
zza(str, (zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag()));
this.zzj.put(str, zzca.zzc());
this.zzk.put(str, zzf.zzb);
this.zzl.put(str, zzf.zzc);
}
}
@WorkerThread
private final void zza(final String str, zzfj.zzd zzdVar) {
if (zzdVar.zza() == 0) {
this.zza.remove(str);
return;
}
zzj().zzp().zza("EES programs found", Integer.valueOf(zzdVar.zza()));
zzft.zzc zzcVar = zzdVar.zzm().get(0);
try {
com.google.android.gms.internal.measurement.zzb zzbVar = new com.google.android.gms.internal.measurement.zzb();
zzbVar.zza("internal.remoteConfig", new Callable() { // from class: com.google.android.gms.measurement.internal.zzgy
@Override // java.util.concurrent.Callable
public final Object call() {
return new com.google.android.gms.internal.measurement.zzm("internal.remoteConfig", new zzhb(zzgw.this, str));
}
});
zzbVar.zza("internal.appMetadata", new Callable() { // from class: com.google.android.gms.measurement.internal.zzgx
@Override // java.util.concurrent.Callable
public final Object call() {
final zzgw zzgwVar = zzgw.this;
final String str2 = str;
return new com.google.android.gms.internal.measurement.zzx("internal.appMetadata", new Callable() { // from class: com.google.android.gms.measurement.internal.zzgv
@Override // java.util.concurrent.Callable
public final Object call() {
zzgw zzgwVar2 = zzgw.this;
String str3 = str2;
zzf zze = zzgwVar2.zzh().zze(str3);
HashMap hashMap = new HashMap();
hashMap.put("platform", "android");
hashMap.put("package_name", str3);
hashMap.put("gmp_version", 95001L);
if (zze != null) {
String zzaf = zze.zzaf();
if (zzaf != null) {
hashMap.put("app_version", zzaf);
}
hashMap.put("app_version_int", Long.valueOf(zze.zze()));
hashMap.put("dynamite_version", Long.valueOf(zze.zzo()));
}
return hashMap;
}
});
}
});
zzbVar.zza("internal.logger", new Callable() { // from class: com.google.android.gms.measurement.internal.zzha
@Override // java.util.concurrent.Callable
public final Object call() {
return new com.google.android.gms.internal.measurement.zzr(zzgw.this.zzb);
}
});
zzbVar.zza(zzcVar);
this.zza.put(str, zzbVar);
zzj().zzp().zza("EES program loaded for appId, activities", str, Integer.valueOf(zzcVar.zza().zza()));
Iterator<zzft.zzb> it = zzcVar.zza().zzd().iterator();
while (it.hasNext()) {
zzj().zzp().zza("EES program activity", it.next().zzb());
}
} catch (com.google.android.gms.internal.measurement.zzc unused) {
zzj().zzg().zza("Failed to load EES program. appId", str);
}
}
@WorkerThread
public final void zzj(String str) {
zzt();
this.zzh.remove(str);
}
@WorkerThread
public final boolean zzk(String str) {
zzt();
zzfj.zzd zzc = zzc(str);
if (zzc == null) {
return false;
}
return zzc.zzo();
}
public final boolean zzl(String str) {
zzfj.zzd zzdVar;
return (TextUtils.isEmpty(str) || (zzdVar = this.zzh.get(str)) == null || zzdVar.zza() == 0) ? false : true;
}
public final boolean zzm(String str) {
return "1".equals(zza(str, "measurement.upload.blacklist_internal"));
}
@WorkerThread
public final boolean zzc(String str, zzin.zza zzaVar) {
zzt();
zzv(str);
zzfj.zza zzb = zzb(str);
if (zzb == null) {
return false;
}
Iterator<zzfj.zza.zzb> it = zzb.zzd().iterator();
while (true) {
if (!it.hasNext()) {
break;
}
zzfj.zza.zzb next = it.next();
if (zzaVar == zza(next.zzc())) {
if (next.zzb() == zzfj.zza.zzd.GRANTED) {
return true;
}
}
}
return false;
}
@WorkerThread
public final boolean zzn(String str) {
zzt();
zzv(str);
zzfj.zza zzb = zzb(str);
return zzb == null || !zzb.zzh() || zzb.zzg();
}
@WorkerThread
public final boolean zzc(String str, String str2) {
Boolean bool;
zzt();
zzv(str);
if ("ecommerce_purchase".equals(str2) || "purchase".equals(str2) || "refund".equals(str2)) {
return true;
}
Map<String, Boolean> map = this.zzg.get(str);
if (map == null || (bool = map.get(str2)) == null) {
return false;
}
return bool.booleanValue();
}
@WorkerThread
public final boolean zzd(String str, String str2) {
Boolean bool;
zzt();
zzv(str);
if (zzm(str) && zznt.zzg(str2)) {
return true;
}
if (zzo(str) && zznt.zzh(str2)) {
return true;
}
Map<String, Boolean> map = this.zze.get(str);
if (map == null || (bool = map.get(str2)) == null) {
return false;
}
return bool.booleanValue();
}
public final boolean zzo(String str) {
return "1".equals(zza(str, "measurement.upload.blacklist_public"));
}
@WorkerThread
public final boolean zza(String str, byte[] bArr, String str2, String str3) {
zzak();
zzt();
Preconditions.checkNotEmpty(str);
zzfj.zzd.zza zzca = zza(str, bArr).zzca();
if (zzca == null) {
return false;
}
zza(str, zzca);
zza(str, (zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag()));
this.zzh.put(str, (zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag()));
this.zzj.put(str, zzca.zzc());
this.zzk.put(str, str2);
this.zzl.put(str, str3);
this.zzc.put(str, zza((zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag())));
zzh().zza(str, new ArrayList(zzca.zzd()));
try {
zzca.zzb();
bArr = ((zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag())).zzbx();
} catch (RuntimeException e) {
zzj().zzu().zza("Unable to serialize reduced-size config. Storing full config instead. appId", zzfw.zza(str), e);
}
zzan zzh = zzh();
Preconditions.checkNotEmpty(str);
zzh.zzt();
zzh.zzak();
ContentValues contentValues = new ContentValues();
contentValues.put("remote_config", bArr);
contentValues.put("config_last_modified_time", str2);
contentValues.put("e_tag", str3);
try {
if (zzh.e_().update("apps", contentValues, "app_id = ?", new String[]{str}) == 0) {
zzh.zzj().zzg().zza("Failed to update remote config (got 0). appId", zzfw.zza(str));
}
} catch (SQLiteException e2) {
zzh.zzj().zzg().zza("Error storing remote config. appId", zzfw.zza(str), e2);
}
this.zzh.put(str, (zzfj.zzd) ((com.google.android.gms.internal.measurement.zzjk) zzca.zzag()));
return true;
}
@WorkerThread
public final boolean zzp(String str) {
zzt();
zzv(str);
return this.zzd.get(str) != null && this.zzd.get(str).contains("app_instance_id");
}
@WorkerThread
public final boolean zzq(String str) {
zzt();
zzv(str);
if (this.zzd.get(str) != null) {
return this.zzd.get(str).contains("device_model") || this.zzd.get(str).contains(DeviceRequestsHelper.DEVICE_INFO_PARAM);
}
return false;
}
@WorkerThread
public final boolean zzr(String str) {
zzt();
zzv(str);
return this.zzd.get(str) != null && this.zzd.get(str).contains("enhanced_user_id");
}
@WorkerThread
public final boolean zzs(String str) {
zzt();
zzv(str);
return this.zzd.get(str) != null && this.zzd.get(str).contains("google_signals");
}
@WorkerThread
public final boolean zzt(String str) {
zzt();
zzv(str);
if (this.zzd.get(str) != null) {
return this.zzd.get(str).contains("os_version") || this.zzd.get(str).contains(DeviceRequestsHelper.DEVICE_INFO_PARAM);
}
return false;
}
@WorkerThread
public final boolean zzu(String str) {
zzt();
zzv(str);
return this.zzd.get(str) != null && this.zzd.get(str).contains("user_id");
}
}