- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
686 lines
23 KiB
Java
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");
|
|
}
|
|
}
|