705 lines
27 KiB
Java
705 lines
27 KiB
Java
package com.google.android.gms.measurement.internal;
|
|
|
|
import android.os.Parcel;
|
|
import android.os.Parcelable;
|
|
import android.text.TextUtils;
|
|
import com.baidu.cloud.media.player.BDCloudMediaPlayer;
|
|
import com.google.android.gms.common.internal.Preconditions;
|
|
import com.google.android.gms.common.internal.safeparcel.SafeParcelReader;
|
|
import com.google.android.gms.internal.measurement.zzya;
|
|
import com.ijm.dataencryption.de.DataDecryptTool;
|
|
import com.unity3d.ads.metadata.MediationMetaData;
|
|
import java.io.ByteArrayInputStream;
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.BitSet;
|
|
import java.util.Map;
|
|
import java.util.zip.GZIPInputStream;
|
|
import java.util.zip.GZIPOutputStream;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class zzfu extends zzfn {
|
|
zzfu(zzfo zzfoVar) {
|
|
super(zzfoVar);
|
|
}
|
|
|
|
static Object b(com.google.android.gms.internal.measurement.zzft zzftVar, String str) {
|
|
com.google.android.gms.internal.measurement.zzfu a = a(zzftVar, str);
|
|
if (a == null) {
|
|
return null;
|
|
}
|
|
String str2 = a.d;
|
|
if (str2 != null) {
|
|
return str2;
|
|
}
|
|
Long l = a.e;
|
|
if (l != null) {
|
|
return l;
|
|
}
|
|
Double d = a.g;
|
|
if (d != null) {
|
|
return d;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
final void a(com.google.android.gms.internal.measurement.zzfz zzfzVar, Object obj) {
|
|
Preconditions.a(obj);
|
|
zzfzVar.e = null;
|
|
zzfzVar.f = null;
|
|
zzfzVar.h = null;
|
|
if (obj instanceof String) {
|
|
zzfzVar.e = (String) obj;
|
|
return;
|
|
}
|
|
if (obj instanceof Long) {
|
|
zzfzVar.f = (Long) obj;
|
|
} else if (obj instanceof Double) {
|
|
zzfzVar.h = (Double) obj;
|
|
} else {
|
|
e().t().a("Ignoring invalid (type) user attribute value", obj);
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.gms.measurement.internal.zzfn
|
|
protected final boolean s() {
|
|
return false;
|
|
}
|
|
|
|
final int[] u() {
|
|
Map<String, String> a = zzai.a(this.b.b());
|
|
if (a == null || a.size() == 0) {
|
|
return null;
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
int intValue = zzai.R.a().intValue();
|
|
for (Map.Entry<String, String> entry : a.entrySet()) {
|
|
if (entry.getKey().startsWith("measurement.id.")) {
|
|
try {
|
|
int parseInt = Integer.parseInt(entry.getValue());
|
|
if (parseInt != 0) {
|
|
arrayList.add(Integer.valueOf(parseInt));
|
|
if (arrayList.size() >= intValue) {
|
|
e().w().a("Too many experiment IDs. Number of IDs", Integer.valueOf(arrayList.size()));
|
|
break;
|
|
}
|
|
continue;
|
|
} else {
|
|
continue;
|
|
}
|
|
} catch (NumberFormatException e) {
|
|
e().w().a("Experiment ID NumberFormatException", e);
|
|
}
|
|
}
|
|
}
|
|
if (arrayList.size() == 0) {
|
|
return null;
|
|
}
|
|
int[] iArr = new int[arrayList.size()];
|
|
int size = arrayList.size();
|
|
int i = 0;
|
|
int i2 = 0;
|
|
while (i < size) {
|
|
Object obj = arrayList.get(i);
|
|
i++;
|
|
iArr[i2] = ((Integer) obj).intValue();
|
|
i2++;
|
|
}
|
|
return iArr;
|
|
}
|
|
|
|
final String b(com.google.android.gms.internal.measurement.zzfv zzfvVar) {
|
|
com.google.android.gms.internal.measurement.zzfw[] zzfwVarArr;
|
|
com.google.android.gms.internal.measurement.zzft[] zzftVarArr;
|
|
String str;
|
|
com.google.android.gms.internal.measurement.zzft[] zzftVarArr2;
|
|
int i;
|
|
int i2;
|
|
String str2;
|
|
com.google.android.gms.internal.measurement.zzfw[] zzfwVarArr2;
|
|
String str3;
|
|
com.google.android.gms.internal.measurement.zzfz[] zzfzVarArr;
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("\nbatch {\n");
|
|
com.google.android.gms.internal.measurement.zzfw[] zzfwVarArr3 = zzfvVar.c;
|
|
if (zzfwVarArr3 != null) {
|
|
int length = zzfwVarArr3.length;
|
|
int i3 = 0;
|
|
while (i3 < length) {
|
|
com.google.android.gms.internal.measurement.zzfw zzfwVar = zzfwVarArr3[i3];
|
|
if (zzfwVar == null || zzfwVar == null) {
|
|
zzfwVarArr = zzfwVarArr3;
|
|
} else {
|
|
a(sb, 1);
|
|
sb.append("bundle {\n");
|
|
a(sb, 1, "protocol_version", zzfwVar.c);
|
|
a(sb, 1, "platform", zzfwVar.k);
|
|
a(sb, 1, "gmp_version", zzfwVar.s);
|
|
a(sb, 1, "uploading_gmp_version", zzfwVar.t);
|
|
a(sb, 1, "config_version", zzfwVar.I);
|
|
a(sb, 1, "gmp_app_id", zzfwVar.A);
|
|
a(sb, 1, "admob_app_id", zzfwVar.N);
|
|
a(sb, 1, "app_id", zzfwVar.q);
|
|
a(sb, 1, "app_version", zzfwVar.r);
|
|
a(sb, 1, "app_version_major", zzfwVar.E);
|
|
a(sb, 1, "firebase_instance_id", zzfwVar.D);
|
|
a(sb, 1, "dev_cert_hash", zzfwVar.x);
|
|
a(sb, 1, "app_store", zzfwVar.p);
|
|
a(sb, 1, "upload_timestamp_millis", zzfwVar.f);
|
|
a(sb, 1, "start_timestamp_millis", zzfwVar.g);
|
|
a(sb, 1, "end_timestamp_millis", zzfwVar.h);
|
|
a(sb, 1, "previous_bundle_start_timestamp_millis", zzfwVar.i);
|
|
a(sb, 1, "previous_bundle_end_timestamp_millis", zzfwVar.j);
|
|
a(sb, 1, "app_instance_id", zzfwVar.w);
|
|
a(sb, 1, "resettable_device_id", zzfwVar.u);
|
|
a(sb, 1, "device_id", zzfwVar.H);
|
|
a(sb, 1, "ds_id", zzfwVar.K);
|
|
a(sb, 1, "limited_ad_tracking", zzfwVar.v);
|
|
a(sb, 1, "os_version", zzfwVar.l);
|
|
a(sb, 1, "device_model", zzfwVar.m);
|
|
a(sb, 1, "user_default_language", zzfwVar.n);
|
|
a(sb, 1, "time_zone_offset_minutes", zzfwVar.o);
|
|
a(sb, 1, "bundle_sequential_index", zzfwVar.y);
|
|
a(sb, 1, "service_upload", zzfwVar.B);
|
|
a(sb, 1, "health_monitor", zzfwVar.z);
|
|
Long l = zzfwVar.J;
|
|
if (l != null && l.longValue() != 0) {
|
|
a(sb, 1, "android_id", zzfwVar.J);
|
|
}
|
|
Integer num = zzfwVar.M;
|
|
if (num != null) {
|
|
a(sb, 1, BDCloudMediaPlayer.OnNativeInvokeListener.ARG_RETRY_COUNTER, num);
|
|
}
|
|
com.google.android.gms.internal.measurement.zzfz[] zzfzVarArr2 = zzfwVar.e;
|
|
String str4 = "string_value";
|
|
String str5 = MediationMetaData.KEY_NAME;
|
|
int i4 = 2;
|
|
if (zzfzVarArr2 != null) {
|
|
int length2 = zzfzVarArr2.length;
|
|
int i5 = 0;
|
|
while (i5 < length2) {
|
|
com.google.android.gms.internal.measurement.zzfz zzfzVar = zzfzVarArr2[i5];
|
|
if (zzfzVar != null) {
|
|
a(sb, 2);
|
|
sb.append("user_property {\n");
|
|
zzfzVarArr = zzfzVarArr2;
|
|
a(sb, 2, "set_timestamp_millis", zzfzVar.c);
|
|
a(sb, 2, MediationMetaData.KEY_NAME, j().c(zzfzVar.d));
|
|
a(sb, 2, "string_value", zzfzVar.e);
|
|
a(sb, 2, "int_value", zzfzVar.f);
|
|
a(sb, 2, "double_value", zzfzVar.h);
|
|
a(sb, 2);
|
|
sb.append("}\n");
|
|
} else {
|
|
zzfzVarArr = zzfzVarArr2;
|
|
}
|
|
i5++;
|
|
zzfzVarArr2 = zzfzVarArr;
|
|
}
|
|
}
|
|
com.google.android.gms.internal.measurement.zzfr[] zzfrVarArr = zzfwVar.C;
|
|
String str6 = zzfwVar.q;
|
|
if (zzfrVarArr != null) {
|
|
int length3 = zzfrVarArr.length;
|
|
int i6 = 0;
|
|
while (i6 < length3) {
|
|
com.google.android.gms.internal.measurement.zzfr zzfrVar = zzfrVarArr[i6];
|
|
if (zzfrVar != null) {
|
|
a(sb, i4);
|
|
sb.append("audience_membership {\n");
|
|
i = i6;
|
|
i2 = length3;
|
|
a(sb, 2, "audience_id", zzfrVar.c);
|
|
a(sb, 2, "new_audience", zzfrVar.f);
|
|
str2 = str5;
|
|
zzfwVarArr2 = zzfwVarArr3;
|
|
str3 = str4;
|
|
a(sb, 2, "current_data", zzfrVar.d, str6);
|
|
a(sb, 2, "previous_data", zzfrVar.e, str6);
|
|
a(sb, 2);
|
|
sb.append("}\n");
|
|
} else {
|
|
i = i6;
|
|
i2 = length3;
|
|
str2 = str5;
|
|
zzfwVarArr2 = zzfwVarArr3;
|
|
str3 = str4;
|
|
}
|
|
i6 = i + 1;
|
|
str4 = str3;
|
|
zzfwVarArr3 = zzfwVarArr2;
|
|
length3 = i2;
|
|
str5 = str2;
|
|
i4 = 2;
|
|
}
|
|
}
|
|
String str7 = str5;
|
|
zzfwVarArr = zzfwVarArr3;
|
|
int i7 = 2;
|
|
String str8 = str4;
|
|
com.google.android.gms.internal.measurement.zzft[] zzftVarArr3 = zzfwVar.d;
|
|
if (zzftVarArr3 != null) {
|
|
int length4 = zzftVarArr3.length;
|
|
int i8 = 0;
|
|
while (i8 < length4) {
|
|
com.google.android.gms.internal.measurement.zzft zzftVar = zzftVarArr3[i8];
|
|
if (zzftVar != null) {
|
|
a(sb, i7);
|
|
sb.append("event {\n");
|
|
str = str7;
|
|
a(sb, i7, str, j().a(zzftVar.d));
|
|
a(sb, i7, "timestamp_millis", zzftVar.e);
|
|
a(sb, i7, "previous_timestamp_millis", zzftVar.f);
|
|
a(sb, i7, "count", zzftVar.g);
|
|
com.google.android.gms.internal.measurement.zzfu[] zzfuVarArr = zzftVar.c;
|
|
if (zzfuVarArr != null) {
|
|
int length5 = zzfuVarArr.length;
|
|
int i9 = 0;
|
|
while (i9 < length5) {
|
|
com.google.android.gms.internal.measurement.zzfu zzfuVar = zzfuVarArr[i9];
|
|
if (zzfuVar != null) {
|
|
a(sb, 3);
|
|
sb.append("param {\n");
|
|
zzftVarArr2 = zzftVarArr3;
|
|
a(sb, 3, str, j().b(zzfuVar.c));
|
|
a(sb, 3, str8, zzfuVar.d);
|
|
a(sb, 3, "int_value", zzfuVar.e);
|
|
a(sb, 3, "double_value", zzfuVar.g);
|
|
a(sb, 3);
|
|
sb.append("}\n");
|
|
} else {
|
|
zzftVarArr2 = zzftVarArr3;
|
|
}
|
|
i9++;
|
|
zzftVarArr3 = zzftVarArr2;
|
|
i7 = 2;
|
|
}
|
|
}
|
|
zzftVarArr = zzftVarArr3;
|
|
a(sb, i7);
|
|
sb.append("}\n");
|
|
} else {
|
|
zzftVarArr = zzftVarArr3;
|
|
str = str7;
|
|
}
|
|
i8++;
|
|
str7 = str;
|
|
zzftVarArr3 = zzftVarArr;
|
|
}
|
|
}
|
|
a(sb, 1);
|
|
sb.append("}\n");
|
|
}
|
|
i3++;
|
|
zzfwVarArr3 = zzfwVarArr;
|
|
}
|
|
}
|
|
sb.append("}\n");
|
|
return sb.toString();
|
|
}
|
|
|
|
final void a(com.google.android.gms.internal.measurement.zzfu zzfuVar, Object obj) {
|
|
Preconditions.a(obj);
|
|
zzfuVar.d = null;
|
|
zzfuVar.e = null;
|
|
zzfuVar.g = null;
|
|
if (obj instanceof String) {
|
|
zzfuVar.d = (String) obj;
|
|
return;
|
|
}
|
|
if (obj instanceof Long) {
|
|
zzfuVar.e = (Long) obj;
|
|
} else if (obj instanceof Double) {
|
|
zzfuVar.g = (Double) obj;
|
|
} else {
|
|
e().t().a("Ignoring invalid (type) event param value", obj);
|
|
}
|
|
}
|
|
|
|
final byte[] a(com.google.android.gms.internal.measurement.zzfv zzfvVar) {
|
|
try {
|
|
byte[] bArr = new byte[zzfvVar.b()];
|
|
zzya a = zzya.a(bArr, 0, bArr.length);
|
|
zzfvVar.a(a);
|
|
a.a();
|
|
return bArr;
|
|
} catch (IOException e) {
|
|
e().t().a("Data loss. Failed to serialize batch", e);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
static com.google.android.gms.internal.measurement.zzfu a(com.google.android.gms.internal.measurement.zzft zzftVar, String str) {
|
|
for (com.google.android.gms.internal.measurement.zzfu zzfuVar : zzftVar.c) {
|
|
if (zzfuVar.c.equals(str)) {
|
|
return zzfuVar;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
static com.google.android.gms.internal.measurement.zzfu[] a(com.google.android.gms.internal.measurement.zzfu[] zzfuVarArr, String str, Object obj) {
|
|
for (com.google.android.gms.internal.measurement.zzfu zzfuVar : zzfuVarArr) {
|
|
if (str.equals(zzfuVar.c)) {
|
|
zzfuVar.e = null;
|
|
zzfuVar.d = null;
|
|
zzfuVar.g = null;
|
|
if (obj instanceof Long) {
|
|
zzfuVar.e = (Long) obj;
|
|
} else if (obj instanceof String) {
|
|
zzfuVar.d = (String) obj;
|
|
} else if (obj instanceof Double) {
|
|
zzfuVar.g = (Double) obj;
|
|
}
|
|
return zzfuVarArr;
|
|
}
|
|
}
|
|
com.google.android.gms.internal.measurement.zzfu[] zzfuVarArr2 = new com.google.android.gms.internal.measurement.zzfu[zzfuVarArr.length + 1];
|
|
System.arraycopy(zzfuVarArr, 0, zzfuVarArr2, 0, zzfuVarArr.length);
|
|
com.google.android.gms.internal.measurement.zzfu zzfuVar2 = new com.google.android.gms.internal.measurement.zzfu();
|
|
zzfuVar2.c = str;
|
|
if (obj instanceof Long) {
|
|
zzfuVar2.e = (Long) obj;
|
|
} else if (obj instanceof String) {
|
|
zzfuVar2.d = (String) obj;
|
|
} else if (obj instanceof Double) {
|
|
zzfuVar2.g = (Double) obj;
|
|
}
|
|
zzfuVarArr2[zzfuVarArr.length] = zzfuVar2;
|
|
return zzfuVarArr2;
|
|
}
|
|
|
|
final String a(com.google.android.gms.internal.measurement.zzfj zzfjVar) {
|
|
if (zzfjVar == null) {
|
|
return "null";
|
|
}
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("\nevent_filter {\n");
|
|
a(sb, 0, "filter_id", zzfjVar.c);
|
|
a(sb, 0, "event_name", j().a(zzfjVar.d));
|
|
a(sb, 1, "event_count_filter", zzfjVar.g);
|
|
sb.append(" filters {\n");
|
|
for (com.google.android.gms.internal.measurement.zzfk zzfkVar : zzfjVar.e) {
|
|
a(sb, 2, zzfkVar);
|
|
}
|
|
a(sb, 1);
|
|
sb.append("}\n}\n");
|
|
return sb.toString();
|
|
}
|
|
|
|
final String a(com.google.android.gms.internal.measurement.zzfm zzfmVar) {
|
|
if (zzfmVar == null) {
|
|
return "null";
|
|
}
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("\nproperty_filter {\n");
|
|
a(sb, 0, "filter_id", zzfmVar.c);
|
|
a(sb, 0, "property_name", j().c(zzfmVar.d));
|
|
a(sb, 1, zzfmVar.e);
|
|
sb.append("}\n");
|
|
return sb.toString();
|
|
}
|
|
|
|
private final void a(StringBuilder sb, int i, String str, com.google.android.gms.internal.measurement.zzfx zzfxVar, String str2) {
|
|
if (zzfxVar == null) {
|
|
return;
|
|
}
|
|
a(sb, 3);
|
|
sb.append(str);
|
|
sb.append(" {\n");
|
|
if (zzfxVar.d != null) {
|
|
a(sb, 4);
|
|
sb.append("results: ");
|
|
long[] jArr = zzfxVar.d;
|
|
int length = jArr.length;
|
|
int i2 = 0;
|
|
int i3 = 0;
|
|
while (i2 < length) {
|
|
Long valueOf = Long.valueOf(jArr[i2]);
|
|
int i4 = i3 + 1;
|
|
if (i3 != 0) {
|
|
sb.append(", ");
|
|
}
|
|
sb.append(valueOf);
|
|
i2++;
|
|
i3 = i4;
|
|
}
|
|
sb.append('\n');
|
|
}
|
|
if (zzfxVar.c != null) {
|
|
a(sb, 4);
|
|
sb.append("status: ");
|
|
long[] jArr2 = zzfxVar.c;
|
|
int length2 = jArr2.length;
|
|
int i5 = 0;
|
|
int i6 = 0;
|
|
while (i5 < length2) {
|
|
Long valueOf2 = Long.valueOf(jArr2[i5]);
|
|
int i7 = i6 + 1;
|
|
if (i6 != 0) {
|
|
sb.append(", ");
|
|
}
|
|
sb.append(valueOf2);
|
|
i5++;
|
|
i6 = i7;
|
|
}
|
|
sb.append('\n');
|
|
}
|
|
if (m().j(str2)) {
|
|
if (zzfxVar.e != null) {
|
|
a(sb, 4);
|
|
sb.append("dynamic_filter_timestamps: {");
|
|
com.google.android.gms.internal.measurement.zzfs[] zzfsVarArr = zzfxVar.e;
|
|
int length3 = zzfsVarArr.length;
|
|
int i8 = 0;
|
|
int i9 = 0;
|
|
while (i8 < length3) {
|
|
com.google.android.gms.internal.measurement.zzfs zzfsVar = zzfsVarArr[i8];
|
|
int i10 = i9 + 1;
|
|
if (i9 != 0) {
|
|
sb.append(", ");
|
|
}
|
|
sb.append(zzfsVar.c);
|
|
sb.append(":");
|
|
sb.append(zzfsVar.d);
|
|
i8++;
|
|
i9 = i10;
|
|
}
|
|
sb.append("}\n");
|
|
}
|
|
if (zzfxVar.f != null) {
|
|
a(sb, 4);
|
|
sb.append("sequence_filter_timestamps: {");
|
|
com.google.android.gms.internal.measurement.zzfy[] zzfyVarArr = zzfxVar.f;
|
|
int length4 = zzfyVarArr.length;
|
|
int i11 = 0;
|
|
int i12 = 0;
|
|
while (i11 < length4) {
|
|
com.google.android.gms.internal.measurement.zzfy zzfyVar = zzfyVarArr[i11];
|
|
int i13 = i12 + 1;
|
|
if (i12 != 0) {
|
|
sb.append(", ");
|
|
}
|
|
sb.append(zzfyVar.c);
|
|
sb.append(": [");
|
|
long[] jArr3 = zzfyVar.d;
|
|
int length5 = jArr3.length;
|
|
int i14 = 0;
|
|
int i15 = 0;
|
|
while (i14 < length5) {
|
|
long j = jArr3[i14];
|
|
int i16 = i15 + 1;
|
|
if (i15 != 0) {
|
|
sb.append(", ");
|
|
}
|
|
sb.append(j);
|
|
i14++;
|
|
i15 = i16;
|
|
}
|
|
sb.append("]");
|
|
i11++;
|
|
i12 = i13;
|
|
}
|
|
sb.append("}\n");
|
|
}
|
|
}
|
|
a(sb, 3);
|
|
sb.append("}\n");
|
|
}
|
|
|
|
final byte[] b(byte[] bArr) throws IOException {
|
|
try {
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
|
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(byteArrayOutputStream);
|
|
gZIPOutputStream.write(bArr);
|
|
gZIPOutputStream.close();
|
|
byteArrayOutputStream.close();
|
|
return byteArrayOutputStream.toByteArray();
|
|
} catch (IOException e) {
|
|
e().t().a("Failed to gzip content", e);
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
private final void a(StringBuilder sb, int i, String str, com.google.android.gms.internal.measurement.zzfl zzflVar) {
|
|
if (zzflVar == null) {
|
|
return;
|
|
}
|
|
a(sb, i);
|
|
sb.append(str);
|
|
sb.append(" {\n");
|
|
Integer num = zzflVar.c;
|
|
if (num != null) {
|
|
int intValue = num.intValue();
|
|
a(sb, i, "comparison_type", intValue != 1 ? intValue != 2 ? intValue != 3 ? intValue != 4 ? "UNKNOWN_COMPARISON_TYPE" : "BETWEEN" : "EQUAL" : "GREATER_THAN" : "LESS_THAN");
|
|
}
|
|
a(sb, i, "match_as_float", zzflVar.d);
|
|
a(sb, i, "comparison_value", zzflVar.e);
|
|
a(sb, i, "min_comparison_value", zzflVar.f);
|
|
a(sb, i, "max_comparison_value", zzflVar.g);
|
|
a(sb, i);
|
|
sb.append("}\n");
|
|
}
|
|
|
|
private final void a(StringBuilder sb, int i, com.google.android.gms.internal.measurement.zzfk zzfkVar) {
|
|
String str;
|
|
if (zzfkVar == null) {
|
|
return;
|
|
}
|
|
a(sb, i);
|
|
sb.append("filter {\n");
|
|
a(sb, i, "complement", zzfkVar.e);
|
|
a(sb, i, "param_name", j().b(zzfkVar.f));
|
|
int i2 = i + 1;
|
|
com.google.android.gms.internal.measurement.zzfn zzfnVar = zzfkVar.c;
|
|
if (zzfnVar != null) {
|
|
a(sb, i2);
|
|
sb.append("string_filter");
|
|
sb.append(" {\n");
|
|
Integer num = zzfnVar.c;
|
|
if (num != null) {
|
|
switch (num.intValue()) {
|
|
case 1:
|
|
str = "REGEXP";
|
|
break;
|
|
case 2:
|
|
str = "BEGINS_WITH";
|
|
break;
|
|
case 3:
|
|
str = "ENDS_WITH";
|
|
break;
|
|
case 4:
|
|
str = "PARTIAL";
|
|
break;
|
|
case 5:
|
|
str = "EXACT";
|
|
break;
|
|
case 6:
|
|
str = "IN_LIST";
|
|
break;
|
|
default:
|
|
str = "UNKNOWN_MATCH_TYPE";
|
|
break;
|
|
}
|
|
a(sb, i2, "match_type", str);
|
|
}
|
|
a(sb, i2, "expression", zzfnVar.d);
|
|
a(sb, i2, "case_sensitive", zzfnVar.e);
|
|
if (zzfnVar.f.length > 0) {
|
|
a(sb, i2 + 1);
|
|
sb.append("expression_list {\n");
|
|
for (String str2 : zzfnVar.f) {
|
|
a(sb, i2 + 2);
|
|
sb.append(str2);
|
|
sb.append("\n");
|
|
}
|
|
sb.append("}\n");
|
|
}
|
|
a(sb, i2);
|
|
sb.append("}\n");
|
|
}
|
|
a(sb, i2, "number_filter", zzfkVar.d);
|
|
a(sb, i);
|
|
sb.append("}\n");
|
|
}
|
|
|
|
private static void a(StringBuilder sb, int i) {
|
|
for (int i2 = 0; i2 < i; i2++) {
|
|
sb.append(" ");
|
|
}
|
|
}
|
|
|
|
private static void a(StringBuilder sb, int i, String str, Object obj) {
|
|
if (obj == null) {
|
|
return;
|
|
}
|
|
a(sb, i + 1);
|
|
sb.append(str);
|
|
sb.append(": ");
|
|
sb.append(obj);
|
|
sb.append('\n');
|
|
}
|
|
|
|
final <T extends Parcelable> T a(byte[] bArr, Parcelable.Creator<T> creator) {
|
|
if (bArr == null) {
|
|
return null;
|
|
}
|
|
Parcel obtain = Parcel.obtain();
|
|
try {
|
|
obtain.unmarshall(bArr, 0, bArr.length);
|
|
obtain.setDataPosition(0);
|
|
return creator.createFromParcel(obtain);
|
|
} catch (SafeParcelReader.ParseException unused) {
|
|
e().t().a("Failed to load parcelable from buffer");
|
|
return null;
|
|
} finally {
|
|
obtain.recycle();
|
|
}
|
|
}
|
|
|
|
final boolean a(zzag zzagVar, zzk zzkVar) {
|
|
Preconditions.a(zzagVar);
|
|
Preconditions.a(zzkVar);
|
|
if (!TextUtils.isEmpty(zzkVar.zzafi) || !TextUtils.isEmpty(zzkVar.zzafv)) {
|
|
return true;
|
|
}
|
|
c();
|
|
return false;
|
|
}
|
|
|
|
static boolean a(String str) {
|
|
return str != null && str.matches("([+-])?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)") && str.length() <= 310;
|
|
}
|
|
|
|
static boolean a(long[] jArr, int i) {
|
|
if (i >= (jArr.length << 6)) {
|
|
return false;
|
|
}
|
|
return ((1 << (i % 64)) & jArr[i / 64]) != 0;
|
|
}
|
|
|
|
static long[] a(BitSet bitSet) {
|
|
int length = (bitSet.length() + 63) / 64;
|
|
long[] jArr = new long[length];
|
|
for (int i = 0; i < length; i++) {
|
|
jArr[i] = 0;
|
|
for (int i2 = 0; i2 < 64; i2++) {
|
|
int i3 = (i << 6) + i2;
|
|
if (i3 < bitSet.length()) {
|
|
if (bitSet.get(i3)) {
|
|
jArr[i] = jArr[i] | (1 << i2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return jArr;
|
|
}
|
|
|
|
final boolean a(long j, long j2) {
|
|
return j == 0 || j2 <= 0 || Math.abs(d().a() - j) > j2;
|
|
}
|
|
|
|
final byte[] a(byte[] bArr) throws IOException {
|
|
try {
|
|
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bArr);
|
|
GZIPInputStream gZIPInputStream = new GZIPInputStream(byteArrayInputStream);
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
|
byte[] bArr2 = new byte[DataDecryptTool.DECRYPT_SP_FILE];
|
|
while (true) {
|
|
int read = gZIPInputStream.read(bArr2);
|
|
if (read > 0) {
|
|
byteArrayOutputStream.write(bArr2, 0, read);
|
|
} else {
|
|
gZIPInputStream.close();
|
|
byteArrayInputStream.close();
|
|
return byteArrayOutputStream.toByteArray();
|
|
}
|
|
}
|
|
} catch (IOException e) {
|
|
e().t().a("Failed to ungzip content", e);
|
|
throw e;
|
|
}
|
|
}
|
|
}
|