1940 lines
96 KiB
Java
1940 lines
96 KiB
Java
package com.google.android.gms.measurement.internal;
|
|
|
|
import android.content.ContentValues;
|
|
import android.database.Cursor;
|
|
import android.database.sqlite.SQLiteDatabase;
|
|
import android.database.sqlite.SQLiteException;
|
|
import android.os.Parcelable;
|
|
import android.text.TextUtils;
|
|
import android.util.Pair;
|
|
import com.google.android.gms.common.internal.Preconditions;
|
|
import com.google.android.gms.internal.measurement.zzxz;
|
|
import com.google.android.gms.internal.measurement.zzya;
|
|
import com.twitter.sdk.android.core.TwitterAuthConfig;
|
|
import com.unity3d.ads.metadata.MediationMetaData;
|
|
import java.io.IOException;
|
|
import java.security.MessageDigest;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes.dex */
|
|
final class zzt extends zzfn {
|
|
private static final String[] f = {"last_bundled_timestamp", "ALTER TABLE events ADD COLUMN last_bundled_timestamp INTEGER;", "last_bundled_day", "ALTER TABLE events ADD COLUMN last_bundled_day INTEGER;", "last_sampled_complex_event_id", "ALTER TABLE events ADD COLUMN last_sampled_complex_event_id INTEGER;", "last_sampling_rate", "ALTER TABLE events ADD COLUMN last_sampling_rate INTEGER;", "last_exempt_from_sampling", "ALTER TABLE events ADD COLUMN last_exempt_from_sampling INTEGER;"};
|
|
private static final String[] g = {"origin", "ALTER TABLE user_attributes ADD COLUMN origin TEXT;"};
|
|
private static final String[] h = {"app_version", "ALTER TABLE apps ADD COLUMN app_version TEXT;", "app_store", "ALTER TABLE apps ADD COLUMN app_store TEXT;", "gmp_version", "ALTER TABLE apps ADD COLUMN gmp_version INTEGER;", "dev_cert_hash", "ALTER TABLE apps ADD COLUMN dev_cert_hash INTEGER;", "measurement_enabled", "ALTER TABLE apps ADD COLUMN measurement_enabled INTEGER;", "last_bundle_start_timestamp", "ALTER TABLE apps ADD COLUMN last_bundle_start_timestamp INTEGER;", "day", "ALTER TABLE apps ADD COLUMN day INTEGER;", "daily_public_events_count", "ALTER TABLE apps ADD COLUMN daily_public_events_count INTEGER;", "daily_events_count", "ALTER TABLE apps ADD COLUMN daily_events_count INTEGER;", "daily_conversions_count", "ALTER TABLE apps ADD COLUMN daily_conversions_count INTEGER;", "remote_config", "ALTER TABLE apps ADD COLUMN remote_config BLOB;", "config_fetched_time", "ALTER TABLE apps ADD COLUMN config_fetched_time INTEGER;", "failed_config_fetch_time", "ALTER TABLE apps ADD COLUMN failed_config_fetch_time INTEGER;", "app_version_int", "ALTER TABLE apps ADD COLUMN app_version_int INTEGER;", "firebase_instance_id", "ALTER TABLE apps ADD COLUMN firebase_instance_id TEXT;", "daily_error_events_count", "ALTER TABLE apps ADD COLUMN daily_error_events_count INTEGER;", "daily_realtime_events_count", "ALTER TABLE apps ADD COLUMN daily_realtime_events_count INTEGER;", "health_monitor_sample", "ALTER TABLE apps ADD COLUMN health_monitor_sample TEXT;", "android_id", "ALTER TABLE apps ADD COLUMN android_id INTEGER;", "adid_reporting_enabled", "ALTER TABLE apps ADD COLUMN adid_reporting_enabled INTEGER;", "ssaid_reporting_enabled", "ALTER TABLE apps ADD COLUMN ssaid_reporting_enabled INTEGER;", "admob_app_id", "ALTER TABLE apps ADD COLUMN admob_app_id TEXT;", "linked_admob_app_id", "ALTER TABLE apps ADD COLUMN linked_admob_app_id TEXT;"};
|
|
private static final String[] i = {"realtime", "ALTER TABLE raw_events ADD COLUMN realtime INTEGER;"};
|
|
private static final String[] j = {"has_realtime", "ALTER TABLE queue ADD COLUMN has_realtime INTEGER;", "retry_count", "ALTER TABLE queue ADD COLUMN retry_count INTEGER;"};
|
|
private static final String[] k = {"previous_install_count", "ALTER TABLE app2 ADD COLUMN previous_install_count INTEGER;"};
|
|
private final zzw d;
|
|
private final zzfj e;
|
|
|
|
zzt(zzfo zzfoVar) {
|
|
super(zzfoVar);
|
|
this.e = new zzfj(d());
|
|
this.d = new zzw(this, b(), "google_app_measurement.db");
|
|
}
|
|
|
|
private final boolean G() {
|
|
return b().getDatabasePath("google_app_measurement.db").exists();
|
|
}
|
|
|
|
private final long a(String str, String[] strArr, long j2) {
|
|
Cursor cursor = null;
|
|
try {
|
|
try {
|
|
cursor = w().rawQuery(str, strArr);
|
|
if (cursor.moveToFirst()) {
|
|
return cursor.getLong(0);
|
|
}
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return j2;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Database error", str, e);
|
|
throw e;
|
|
}
|
|
} finally {
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
private final long b(String str, String[] strArr) {
|
|
Cursor cursor = null;
|
|
try {
|
|
try {
|
|
Cursor rawQuery = w().rawQuery(str, strArr);
|
|
if (!rawQuery.moveToFirst()) {
|
|
throw new SQLiteException("Database returned empty set");
|
|
}
|
|
long j2 = rawQuery.getLong(0);
|
|
if (rawQuery != null) {
|
|
rawQuery.close();
|
|
}
|
|
return j2;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Database error", str, e);
|
|
throw e;
|
|
}
|
|
} catch (Throwable th) {
|
|
if (0 != 0) {
|
|
cursor.close();
|
|
}
|
|
throw th;
|
|
}
|
|
}
|
|
|
|
final void A() {
|
|
int delete;
|
|
f();
|
|
r();
|
|
if (G()) {
|
|
long a = l().h.a();
|
|
long b = d().b();
|
|
if (Math.abs(b - a) > zzai.I.a().longValue()) {
|
|
l().h.a(b);
|
|
f();
|
|
r();
|
|
if (!G() || (delete = w().delete("queue", "abs(bundle_end_timestamp - ?) > cast(? as integer)", new String[]{String.valueOf(d().a()), String.valueOf(zzq.u())})) <= 0) {
|
|
return;
|
|
}
|
|
e().B().a("Deleted stale rows. rowsDeleted", Integer.valueOf(delete));
|
|
}
|
|
}
|
|
}
|
|
|
|
public final long B() {
|
|
return a("select max(bundle_end_timestamp) from queue", (String[]) null, 0L);
|
|
}
|
|
|
|
public final long C() {
|
|
return a("select max(timestamp) from raw_events", (String[]) null, 0L);
|
|
}
|
|
|
|
public final boolean D() {
|
|
return b("select count(1) > 0 from raw_events", (String[]) null) != 0;
|
|
}
|
|
|
|
public final boolean E() {
|
|
return b("select count(1) > 0 from raw_events where realtime = 1", (String[]) null) != 0;
|
|
}
|
|
|
|
public final long F() {
|
|
Cursor cursor = null;
|
|
try {
|
|
try {
|
|
cursor = w().rawQuery("select rowid from raw_events order by rowid desc limit 1;", null);
|
|
if (!cursor.moveToFirst()) {
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return -1L;
|
|
}
|
|
long j2 = cursor.getLong(0);
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return j2;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error querying raw events", e);
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return -1L;
|
|
}
|
|
} catch (Throwable th) {
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
throw th;
|
|
}
|
|
}
|
|
|
|
public final void c(String str, String str2) {
|
|
Preconditions.b(str);
|
|
Preconditions.b(str2);
|
|
f();
|
|
r();
|
|
try {
|
|
e().B().a("Deleted user attribute rows", Integer.valueOf(w().delete("user_attributes", "app_id=? and name=?", new String[]{str, str2})));
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error deleting user attribute. appId", zzas.a(str), j().c(str2), e);
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:29:0x00a9 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final com.google.android.gms.measurement.internal.zzfx d(java.lang.String r19, java.lang.String r20) {
|
|
/*
|
|
r18 = this;
|
|
r8 = r20
|
|
com.google.android.gms.common.internal.Preconditions.b(r19)
|
|
com.google.android.gms.common.internal.Preconditions.b(r20)
|
|
r18.f()
|
|
r18.r()
|
|
r9 = 0
|
|
android.database.sqlite.SQLiteDatabase r10 = r18.w() // Catch: java.lang.Throwable -> L7e android.database.sqlite.SQLiteException -> L83
|
|
java.lang.String r11 = "user_attributes"
|
|
java.lang.String r0 = "set_timestamp"
|
|
java.lang.String r1 = "value"
|
|
java.lang.String r2 = "origin"
|
|
java.lang.String[] r12 = new java.lang.String[]{r0, r1, r2} // Catch: java.lang.Throwable -> L7e android.database.sqlite.SQLiteException -> L83
|
|
java.lang.String r13 = "app_id=? and name=?"
|
|
r0 = 2
|
|
java.lang.String[] r14 = new java.lang.String[r0] // Catch: java.lang.Throwable -> L7e android.database.sqlite.SQLiteException -> L83
|
|
r1 = 0
|
|
r14[r1] = r19 // Catch: java.lang.Throwable -> L7e android.database.sqlite.SQLiteException -> L83
|
|
r2 = 1
|
|
r14[r2] = r8 // Catch: java.lang.Throwable -> L7e android.database.sqlite.SQLiteException -> L83
|
|
r15 = 0
|
|
r16 = 0
|
|
r17 = 0
|
|
android.database.Cursor r10 = r10.query(r11, r12, r13, r14, r15, r16, r17) // Catch: java.lang.Throwable -> L7e android.database.sqlite.SQLiteException -> L83
|
|
boolean r3 = r10.moveToFirst() // Catch: java.lang.Throwable -> L76 android.database.sqlite.SQLiteException -> L7a
|
|
if (r3 != 0) goto L3f
|
|
if (r10 == 0) goto L3e
|
|
r10.close()
|
|
L3e:
|
|
return r9
|
|
L3f:
|
|
long r5 = r10.getLong(r1) // Catch: java.lang.Throwable -> L76 android.database.sqlite.SQLiteException -> L7a
|
|
r11 = r18
|
|
java.lang.Object r7 = r11.a(r10, r2) // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
java.lang.String r3 = r10.getString(r0) // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
com.google.android.gms.measurement.internal.zzfx r0 = new com.google.android.gms.measurement.internal.zzfx // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
r1 = r0
|
|
r2 = r19
|
|
r4 = r20
|
|
r1.<init>(r2, r3, r4, r5, r7) // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
boolean r1 = r10.moveToNext() // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
if (r1 == 0) goto L6e
|
|
com.google.android.gms.measurement.internal.zzas r1 = r18.e() // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
com.google.android.gms.measurement.internal.zzau r1 = r1.t() // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
java.lang.String r2 = "Got multiple records for user property, expected one. appId"
|
|
java.lang.Object r3 = com.google.android.gms.measurement.internal.zzas.a(r19) // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
r1.a(r2, r3) // Catch: android.database.sqlite.SQLiteException -> L74 java.lang.Throwable -> La6
|
|
L6e:
|
|
if (r10 == 0) goto L73
|
|
r10.close()
|
|
L73:
|
|
return r0
|
|
L74:
|
|
r0 = move-exception
|
|
goto L87
|
|
L76:
|
|
r0 = move-exception
|
|
r11 = r18
|
|
goto La7
|
|
L7a:
|
|
r0 = move-exception
|
|
r11 = r18
|
|
goto L87
|
|
L7e:
|
|
r0 = move-exception
|
|
r11 = r18
|
|
r10 = r9
|
|
goto La7
|
|
L83:
|
|
r0 = move-exception
|
|
r11 = r18
|
|
r10 = r9
|
|
L87:
|
|
com.google.android.gms.measurement.internal.zzas r1 = r18.e() // Catch: java.lang.Throwable -> La6
|
|
com.google.android.gms.measurement.internal.zzau r1 = r1.t() // Catch: java.lang.Throwable -> La6
|
|
java.lang.String r2 = "Error querying user property. appId"
|
|
java.lang.Object r3 = com.google.android.gms.measurement.internal.zzas.a(r19) // Catch: java.lang.Throwable -> La6
|
|
com.google.android.gms.measurement.internal.zzaq r4 = r18.j() // Catch: java.lang.Throwable -> La6
|
|
java.lang.String r4 = r4.c(r8) // Catch: java.lang.Throwable -> La6
|
|
r1.a(r2, r3, r4, r0) // Catch: java.lang.Throwable -> La6
|
|
if (r10 == 0) goto La5
|
|
r10.close()
|
|
La5:
|
|
return r9
|
|
La6:
|
|
r0 = move-exception
|
|
La7:
|
|
if (r10 == 0) goto Lac
|
|
r10.close()
|
|
Lac:
|
|
throw r0
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.d(java.lang.String, java.lang.String):com.google.android.gms.measurement.internal.zzfx");
|
|
}
|
|
|
|
public final zzo e(String str, String str2) {
|
|
Cursor cursor;
|
|
Preconditions.b(str);
|
|
Preconditions.b(str2);
|
|
f();
|
|
r();
|
|
try {
|
|
try {
|
|
cursor = w().query("conditional_properties", new String[]{"origin", "value", "active", "trigger_event_name", "trigger_timeout", "timed_out_event", "creation_timestamp", "triggered_event", "triggered_timestamp", "time_to_live", "expired_event"}, "app_id=? and name=?", new String[]{str, str2}, null, null, null);
|
|
} catch (SQLiteException e) {
|
|
e = e;
|
|
cursor = null;
|
|
} catch (Throwable th) {
|
|
th = th;
|
|
cursor = null;
|
|
}
|
|
try {
|
|
if (!cursor.moveToFirst()) {
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return null;
|
|
}
|
|
String string = cursor.getString(0);
|
|
try {
|
|
Object a = a(cursor, 1);
|
|
boolean z = cursor.getInt(2) != 0;
|
|
zzo zzoVar = new zzo(str, string, new zzfv(str2, cursor.getLong(8), a, string), cursor.getLong(6), z, cursor.getString(3), (zzag) n().a(cursor.getBlob(5), zzag.CREATOR), cursor.getLong(4), (zzag) n().a(cursor.getBlob(7), zzag.CREATOR), cursor.getLong(9), (zzag) n().a(cursor.getBlob(10), zzag.CREATOR));
|
|
if (cursor.moveToNext()) {
|
|
e().t().a("Got multiple records for conditional property, expected one", zzas.a(str), j().c(str2));
|
|
}
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return zzoVar;
|
|
} catch (SQLiteException e2) {
|
|
e = e2;
|
|
e().t().a("Error querying conditional property", zzas.a(str), j().c(str2), e);
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
return null;
|
|
}
|
|
} catch (SQLiteException e3) {
|
|
e = e3;
|
|
} catch (Throwable th2) {
|
|
th = th2;
|
|
if (cursor != null) {
|
|
cursor.close();
|
|
}
|
|
throw th;
|
|
}
|
|
} catch (Throwable th3) {
|
|
th = th3;
|
|
}
|
|
}
|
|
|
|
public final int f(String str, String str2) {
|
|
Preconditions.b(str);
|
|
Preconditions.b(str2);
|
|
f();
|
|
r();
|
|
try {
|
|
return w().delete("conditional_properties", "app_id=? and name=?", new String[]{str, str2});
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error deleting conditional property", zzas.a(str), j().c(str2), e);
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
/* JADX WARN: Removed duplicated region for block: B:37:0x00b2 */
|
|
/* JADX WARN: Type inference failed for: r14v1 */
|
|
/* JADX WARN: Type inference failed for: r14v3, types: [android.database.Cursor] */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
final java.util.Map<java.lang.Integer, java.util.List<com.google.android.gms.internal.measurement.zzfj>> g(java.lang.String r13, java.lang.String r14) {
|
|
/*
|
|
r12 = this;
|
|
r12.r()
|
|
r12.f()
|
|
com.google.android.gms.common.internal.Preconditions.b(r13)
|
|
com.google.android.gms.common.internal.Preconditions.b(r14)
|
|
androidx.collection.ArrayMap r0 = new androidx.collection.ArrayMap
|
|
r0.<init>()
|
|
android.database.sqlite.SQLiteDatabase r1 = r12.w()
|
|
r9 = 0
|
|
java.lang.String r2 = "event_filters"
|
|
java.lang.String r3 = "audience_id"
|
|
java.lang.String r4 = "data"
|
|
java.lang.String[] r3 = new java.lang.String[]{r3, r4} // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
java.lang.String r4 = "app_id=? AND event_name=?"
|
|
r5 = 2
|
|
java.lang.String[] r5 = new java.lang.String[r5] // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
r10 = 0
|
|
r5[r10] = r13 // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
r11 = 1
|
|
r5[r11] = r14 // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
r6 = 0
|
|
r7 = 0
|
|
r8 = 0
|
|
android.database.Cursor r14 = r1.query(r2, r3, r4, r5, r6, r7, r8) // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
boolean r1 = r14.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r1 != 0) goto L42
|
|
java.util.Map r13 = java.util.Collections.emptyMap() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r14 == 0) goto L41
|
|
r14.close()
|
|
L41:
|
|
return r13
|
|
L42:
|
|
byte[] r1 = r14.getBlob(r11) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
int r2 = r1.length // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
com.google.android.gms.internal.measurement.zzxz r1 = com.google.android.gms.internal.measurement.zzxz.a(r1, r10, r2) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
com.google.android.gms.internal.measurement.zzfj r2 = new com.google.android.gms.internal.measurement.zzfj // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r2.<init>() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r2.a(r1) // Catch: java.io.IOException -> L73 android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
int r1 = r14.getInt(r10) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.Integer r3 = java.lang.Integer.valueOf(r1) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.Object r3 = r0.get(r3) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.util.List r3 = (java.util.List) r3 // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r3 != 0) goto L6f
|
|
java.util.ArrayList r3 = new java.util.ArrayList // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r3.<init>() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.Integer r1 = java.lang.Integer.valueOf(r1) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r0.put(r1, r3) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
L6f:
|
|
r3.add(r2) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
goto L85
|
|
L73:
|
|
r1 = move-exception
|
|
com.google.android.gms.measurement.internal.zzas r2 = r12.e() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
com.google.android.gms.measurement.internal.zzau r2 = r2.t() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.String r3 = "Failed to merge filter. appId"
|
|
java.lang.Object r4 = com.google.android.gms.measurement.internal.zzas.a(r13) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r2.a(r3, r4, r1) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
L85:
|
|
boolean r1 = r14.moveToNext() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r1 != 0) goto L42
|
|
if (r14 == 0) goto L90
|
|
r14.close()
|
|
L90:
|
|
return r0
|
|
L91:
|
|
r0 = move-exception
|
|
goto L98
|
|
L93:
|
|
r13 = move-exception
|
|
r14 = r9
|
|
goto Lb0
|
|
L96:
|
|
r0 = move-exception
|
|
r14 = r9
|
|
L98:
|
|
com.google.android.gms.measurement.internal.zzas r1 = r12.e() // Catch: java.lang.Throwable -> Laf
|
|
com.google.android.gms.measurement.internal.zzau r1 = r1.t() // Catch: java.lang.Throwable -> Laf
|
|
java.lang.String r2 = "Database error querying filters. appId"
|
|
java.lang.Object r13 = com.google.android.gms.measurement.internal.zzas.a(r13) // Catch: java.lang.Throwable -> Laf
|
|
r1.a(r2, r13, r0) // Catch: java.lang.Throwable -> Laf
|
|
if (r14 == 0) goto Lae
|
|
r14.close()
|
|
Lae:
|
|
return r9
|
|
Laf:
|
|
r13 = move-exception
|
|
Lb0:
|
|
if (r14 == 0) goto Lb5
|
|
r14.close()
|
|
Lb5:
|
|
throw r13
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.g(java.lang.String, java.lang.String):java.util.Map");
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
/* JADX WARN: Removed duplicated region for block: B:37:0x00b2 */
|
|
/* JADX WARN: Type inference failed for: r14v1 */
|
|
/* JADX WARN: Type inference failed for: r14v3, types: [android.database.Cursor] */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
final java.util.Map<java.lang.Integer, java.util.List<com.google.android.gms.internal.measurement.zzfm>> h(java.lang.String r13, java.lang.String r14) {
|
|
/*
|
|
r12 = this;
|
|
r12.r()
|
|
r12.f()
|
|
com.google.android.gms.common.internal.Preconditions.b(r13)
|
|
com.google.android.gms.common.internal.Preconditions.b(r14)
|
|
androidx.collection.ArrayMap r0 = new androidx.collection.ArrayMap
|
|
r0.<init>()
|
|
android.database.sqlite.SQLiteDatabase r1 = r12.w()
|
|
r9 = 0
|
|
java.lang.String r2 = "property_filters"
|
|
java.lang.String r3 = "audience_id"
|
|
java.lang.String r4 = "data"
|
|
java.lang.String[] r3 = new java.lang.String[]{r3, r4} // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
java.lang.String r4 = "app_id=? AND property_name=?"
|
|
r5 = 2
|
|
java.lang.String[] r5 = new java.lang.String[r5] // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
r10 = 0
|
|
r5[r10] = r13 // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
r11 = 1
|
|
r5[r11] = r14 // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
r6 = 0
|
|
r7 = 0
|
|
r8 = 0
|
|
android.database.Cursor r14 = r1.query(r2, r3, r4, r5, r6, r7, r8) // Catch: java.lang.Throwable -> L93 android.database.sqlite.SQLiteException -> L96
|
|
boolean r1 = r14.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r1 != 0) goto L42
|
|
java.util.Map r13 = java.util.Collections.emptyMap() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r14 == 0) goto L41
|
|
r14.close()
|
|
L41:
|
|
return r13
|
|
L42:
|
|
byte[] r1 = r14.getBlob(r11) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
int r2 = r1.length // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
com.google.android.gms.internal.measurement.zzxz r1 = com.google.android.gms.internal.measurement.zzxz.a(r1, r10, r2) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
com.google.android.gms.internal.measurement.zzfm r2 = new com.google.android.gms.internal.measurement.zzfm // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r2.<init>() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r2.a(r1) // Catch: java.io.IOException -> L73 android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
int r1 = r14.getInt(r10) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.Integer r3 = java.lang.Integer.valueOf(r1) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.Object r3 = r0.get(r3) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.util.List r3 = (java.util.List) r3 // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r3 != 0) goto L6f
|
|
java.util.ArrayList r3 = new java.util.ArrayList // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r3.<init>() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.Integer r1 = java.lang.Integer.valueOf(r1) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r0.put(r1, r3) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
L6f:
|
|
r3.add(r2) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
goto L85
|
|
L73:
|
|
r1 = move-exception
|
|
com.google.android.gms.measurement.internal.zzas r2 = r12.e() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
com.google.android.gms.measurement.internal.zzau r2 = r2.t() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
java.lang.String r3 = "Failed to merge filter"
|
|
java.lang.Object r4 = com.google.android.gms.measurement.internal.zzas.a(r13) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
r2.a(r3, r4, r1) // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
L85:
|
|
boolean r1 = r14.moveToNext() // Catch: android.database.sqlite.SQLiteException -> L91 java.lang.Throwable -> Laf
|
|
if (r1 != 0) goto L42
|
|
if (r14 == 0) goto L90
|
|
r14.close()
|
|
L90:
|
|
return r0
|
|
L91:
|
|
r0 = move-exception
|
|
goto L98
|
|
L93:
|
|
r13 = move-exception
|
|
r14 = r9
|
|
goto Lb0
|
|
L96:
|
|
r0 = move-exception
|
|
r14 = r9
|
|
L98:
|
|
com.google.android.gms.measurement.internal.zzas r1 = r12.e() // Catch: java.lang.Throwable -> Laf
|
|
com.google.android.gms.measurement.internal.zzau r1 = r1.t() // Catch: java.lang.Throwable -> Laf
|
|
java.lang.String r2 = "Database error querying filters. appId"
|
|
java.lang.Object r13 = com.google.android.gms.measurement.internal.zzas.a(r13) // Catch: java.lang.Throwable -> Laf
|
|
r1.a(r2, r13, r0) // Catch: java.lang.Throwable -> Laf
|
|
if (r14 == 0) goto Lae
|
|
r14.close()
|
|
Lae:
|
|
return r9
|
|
Laf:
|
|
r13 = move-exception
|
|
Lb0:
|
|
if (r14 == 0) goto Lb5
|
|
r14.close()
|
|
Lb5:
|
|
throw r13
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.h(java.lang.String, java.lang.String):java.util.Map");
|
|
}
|
|
|
|
protected final long i(String str, String str2) {
|
|
long j2;
|
|
StringBuilder sb;
|
|
ContentValues contentValues;
|
|
Preconditions.b(str);
|
|
Preconditions.b(str2);
|
|
f();
|
|
r();
|
|
SQLiteDatabase w = w();
|
|
w.beginTransaction();
|
|
try {
|
|
sb = new StringBuilder(String.valueOf(str2).length() + 32);
|
|
sb.append("select ");
|
|
sb.append(str2);
|
|
sb.append(" from app2 where app_id=?");
|
|
} catch (SQLiteException e) {
|
|
e = e;
|
|
} catch (Throwable th) {
|
|
th = th;
|
|
}
|
|
try {
|
|
try {
|
|
j2 = a(sb.toString(), new String[]{str}, -1L);
|
|
if (j2 == -1) {
|
|
ContentValues contentValues2 = new ContentValues();
|
|
contentValues2.put("app_id", str);
|
|
contentValues2.put("first_open_count", (Integer) 0);
|
|
contentValues2.put("previous_install_count", (Integer) 0);
|
|
if (w.insertWithOnConflict("app2", null, contentValues2, 5) == -1) {
|
|
e().t().a("Failed to insert column (got -1). appId", zzas.a(str), str2);
|
|
w.endTransaction();
|
|
return -1L;
|
|
}
|
|
j2 = 0;
|
|
}
|
|
try {
|
|
contentValues = new ContentValues();
|
|
contentValues.put("app_id", str);
|
|
contentValues.put(str2, Long.valueOf(1 + j2));
|
|
} catch (SQLiteException e2) {
|
|
e = e2;
|
|
e().t().a("Error inserting column. appId", zzas.a(str), str2, e);
|
|
w.endTransaction();
|
|
return j2;
|
|
}
|
|
} catch (Throwable th2) {
|
|
th = th2;
|
|
w.endTransaction();
|
|
throw th;
|
|
}
|
|
} catch (SQLiteException e3) {
|
|
e = e3;
|
|
j2 = 0;
|
|
e().t().a("Error inserting column. appId", zzas.a(str), str2, e);
|
|
w.endTransaction();
|
|
return j2;
|
|
}
|
|
if (w.update("app2", contentValues, "app_id = ?", new String[]{str}) == 0) {
|
|
e().t().a("Failed to update column (got 0). appId", zzas.a(str), str2);
|
|
w.endTransaction();
|
|
return -1L;
|
|
}
|
|
w.setTransactionSuccessful();
|
|
w.endTransaction();
|
|
return j2;
|
|
}
|
|
|
|
@Override // com.google.android.gms.measurement.internal.zzfn
|
|
protected final boolean s() {
|
|
return false;
|
|
}
|
|
|
|
public final void u() {
|
|
r();
|
|
w().beginTransaction();
|
|
}
|
|
|
|
public final void v() {
|
|
r();
|
|
w().endTransaction();
|
|
}
|
|
|
|
final SQLiteDatabase w() {
|
|
f();
|
|
try {
|
|
return this.d.getWritableDatabase();
|
|
} catch (SQLiteException e) {
|
|
e().w().a("Error opening database", e);
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
public final void x() {
|
|
r();
|
|
w().setTransactionSuccessful();
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:24:0x0041 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final java.lang.String y() {
|
|
/*
|
|
r6 = this;
|
|
android.database.sqlite.SQLiteDatabase r0 = r6.w()
|
|
r1 = 0
|
|
java.lang.String r2 = "select app_id from queue order by has_realtime desc, rowid asc limit 1;"
|
|
android.database.Cursor r0 = r0.rawQuery(r2, r1) // Catch: java.lang.Throwable -> L24 android.database.sqlite.SQLiteException -> L29
|
|
boolean r2 = r0.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L22 java.lang.Throwable -> L3e
|
|
if (r2 == 0) goto L1c
|
|
r2 = 0
|
|
java.lang.String r1 = r0.getString(r2) // Catch: android.database.sqlite.SQLiteException -> L22 java.lang.Throwable -> L3e
|
|
if (r0 == 0) goto L1b
|
|
r0.close()
|
|
L1b:
|
|
return r1
|
|
L1c:
|
|
if (r0 == 0) goto L21
|
|
r0.close()
|
|
L21:
|
|
return r1
|
|
L22:
|
|
r2 = move-exception
|
|
goto L2b
|
|
L24:
|
|
r0 = move-exception
|
|
r5 = r1
|
|
r1 = r0
|
|
r0 = r5
|
|
goto L3f
|
|
L29:
|
|
r2 = move-exception
|
|
r0 = r1
|
|
L2b:
|
|
com.google.android.gms.measurement.internal.zzas r3 = r6.e() // Catch: java.lang.Throwable -> L3e
|
|
com.google.android.gms.measurement.internal.zzau r3 = r3.t() // Catch: java.lang.Throwable -> L3e
|
|
java.lang.String r4 = "Database error getting next bundle app id"
|
|
r3.a(r4, r2) // Catch: java.lang.Throwable -> L3e
|
|
if (r0 == 0) goto L3d
|
|
r0.close()
|
|
L3d:
|
|
return r1
|
|
L3e:
|
|
r1 = move-exception
|
|
L3f:
|
|
if (r0 == 0) goto L44
|
|
r0.close()
|
|
L44:
|
|
throw r1
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.y():java.lang.String");
|
|
}
|
|
|
|
public final boolean z() {
|
|
return b("select count(1) > 0 from queue where has_realtime = 1", (String[]) null) != 0;
|
|
}
|
|
|
|
public final void a(zzac zzacVar) {
|
|
Preconditions.a(zzacVar);
|
|
f();
|
|
r();
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzacVar.a);
|
|
contentValues.put(MediationMetaData.KEY_NAME, zzacVar.b);
|
|
contentValues.put("lifetime_count", Long.valueOf(zzacVar.c));
|
|
contentValues.put("current_bundle_count", Long.valueOf(zzacVar.d));
|
|
contentValues.put("last_fire_timestamp", Long.valueOf(zzacVar.e));
|
|
contentValues.put("last_bundled_timestamp", Long.valueOf(zzacVar.f));
|
|
contentValues.put("last_bundled_day", zzacVar.g);
|
|
contentValues.put("last_sampled_complex_event_id", zzacVar.h);
|
|
contentValues.put("last_sampling_rate", zzacVar.i);
|
|
Boolean bool = zzacVar.j;
|
|
contentValues.put("last_exempt_from_sampling", (bool == null || !bool.booleanValue()) ? null : 1L);
|
|
try {
|
|
if (w().insertWithOnConflict("events", null, contentValues, 5) == -1) {
|
|
e().t().a("Failed to insert/update event aggregates (got -1). appId", zzas.a(zzacVar.a));
|
|
}
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing event aggregates. appId", zzas.a(zzacVar.a), e);
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:48:0x011f */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final com.google.android.gms.measurement.internal.zzac b(java.lang.String r23, java.lang.String r24) {
|
|
/*
|
|
Method dump skipped, instructions count: 291
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.b(java.lang.String, java.lang.String):com.google.android.gms.measurement.internal.zzac");
|
|
}
|
|
|
|
public final long f(String str) {
|
|
Preconditions.b(str);
|
|
return a("select count(1) from events where app_id=? and name not like '!_%' escape '!'", new String[]{str}, 0L);
|
|
}
|
|
|
|
public final long c(String str) {
|
|
Preconditions.b(str);
|
|
f();
|
|
r();
|
|
try {
|
|
return w().delete("raw_events", "rowid in (select rowid from raw_events where app_id=? order by rowid desc limit -1 offset ?)", new String[]{str, String.valueOf(Math.max(0, Math.min(1000000, m().b(str, zzai.z))))});
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error deleting over the limit events. appId", zzas.a(str), e);
|
|
return 0L;
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:26:0x0073 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final byte[] d(java.lang.String r11) {
|
|
/*
|
|
r10 = this;
|
|
com.google.android.gms.common.internal.Preconditions.b(r11)
|
|
r10.f()
|
|
r10.r()
|
|
r0 = 0
|
|
android.database.sqlite.SQLiteDatabase r1 = r10.w() // Catch: java.lang.Throwable -> L54 android.database.sqlite.SQLiteException -> L57
|
|
java.lang.String r2 = "apps"
|
|
java.lang.String r3 = "remote_config"
|
|
java.lang.String[] r3 = new java.lang.String[]{r3} // Catch: java.lang.Throwable -> L54 android.database.sqlite.SQLiteException -> L57
|
|
java.lang.String r4 = "app_id=?"
|
|
r5 = 1
|
|
java.lang.String[] r5 = new java.lang.String[r5] // Catch: java.lang.Throwable -> L54 android.database.sqlite.SQLiteException -> L57
|
|
r9 = 0
|
|
r5[r9] = r11 // Catch: java.lang.Throwable -> L54 android.database.sqlite.SQLiteException -> L57
|
|
r6 = 0
|
|
r7 = 0
|
|
r8 = 0
|
|
android.database.Cursor r1 = r1.query(r2, r3, r4, r5, r6, r7, r8) // Catch: java.lang.Throwable -> L54 android.database.sqlite.SQLiteException -> L57
|
|
boolean r2 = r1.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
if (r2 != 0) goto L31
|
|
if (r1 == 0) goto L30
|
|
r1.close()
|
|
L30:
|
|
return r0
|
|
L31:
|
|
byte[] r2 = r1.getBlob(r9) // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
boolean r3 = r1.moveToNext() // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
if (r3 == 0) goto L4c
|
|
com.google.android.gms.measurement.internal.zzas r3 = r10.e() // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
com.google.android.gms.measurement.internal.zzau r3 = r3.t() // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
java.lang.String r4 = "Got multiple records for app config, expected one. appId"
|
|
java.lang.Object r5 = com.google.android.gms.measurement.internal.zzas.a(r11) // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
r3.a(r4, r5) // Catch: android.database.sqlite.SQLiteException -> L52 java.lang.Throwable -> L70
|
|
L4c:
|
|
if (r1 == 0) goto L51
|
|
r1.close()
|
|
L51:
|
|
return r2
|
|
L52:
|
|
r2 = move-exception
|
|
goto L59
|
|
L54:
|
|
r11 = move-exception
|
|
r1 = r0
|
|
goto L71
|
|
L57:
|
|
r2 = move-exception
|
|
r1 = r0
|
|
L59:
|
|
com.google.android.gms.measurement.internal.zzas r3 = r10.e() // Catch: java.lang.Throwable -> L70
|
|
com.google.android.gms.measurement.internal.zzau r3 = r3.t() // Catch: java.lang.Throwable -> L70
|
|
java.lang.String r4 = "Error querying remote config. appId"
|
|
java.lang.Object r11 = com.google.android.gms.measurement.internal.zzas.a(r11) // Catch: java.lang.Throwable -> L70
|
|
r3.a(r4, r11, r2) // Catch: java.lang.Throwable -> L70
|
|
if (r1 == 0) goto L6f
|
|
r1.close()
|
|
L6f:
|
|
return r0
|
|
L70:
|
|
r11 = move-exception
|
|
L71:
|
|
if (r1 == 0) goto L76
|
|
r1.close()
|
|
L76:
|
|
throw r11
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.d(java.lang.String):byte[]");
|
|
}
|
|
|
|
public final boolean a(zzfx zzfxVar) {
|
|
Preconditions.a(zzfxVar);
|
|
f();
|
|
r();
|
|
if (d(zzfxVar.a, zzfxVar.c) == null) {
|
|
if (zzfy.e(zzfxVar.c)) {
|
|
if (b("select count(1) from user_attributes where app_id=? and name not like '!_%' escape '!'", new String[]{zzfxVar.a}) >= 25) {
|
|
return false;
|
|
}
|
|
} else if (b("select count(1) from user_attributes where app_id=? and origin=? AND name like '!_%' escape '!'", new String[]{zzfxVar.a, zzfxVar.b}) >= 25) {
|
|
return false;
|
|
}
|
|
}
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzfxVar.a);
|
|
contentValues.put("origin", zzfxVar.b);
|
|
contentValues.put(MediationMetaData.KEY_NAME, zzfxVar.c);
|
|
contentValues.put("set_timestamp", Long.valueOf(zzfxVar.d));
|
|
a(contentValues, "value", zzfxVar.e);
|
|
try {
|
|
if (w().insertWithOnConflict("user_attributes", null, contentValues, 5) == -1) {
|
|
e().t().a("Failed to insert/update user property (got -1). appId", zzas.a(zzfxVar.a));
|
|
}
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing user property. appId", zzas.a(zzfxVar.a), e);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:35:0x0098 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
final java.util.Map<java.lang.Integer, com.google.android.gms.internal.measurement.zzfx> e(java.lang.String r12) {
|
|
/*
|
|
r11 = this;
|
|
r11.r()
|
|
r11.f()
|
|
com.google.android.gms.common.internal.Preconditions.b(r12)
|
|
android.database.sqlite.SQLiteDatabase r0 = r11.w()
|
|
r8 = 0
|
|
java.lang.String r1 = "audience_filter_values"
|
|
java.lang.String r2 = "audience_id"
|
|
java.lang.String r3 = "current_results"
|
|
java.lang.String[] r2 = new java.lang.String[]{r2, r3} // Catch: java.lang.Throwable -> L79 android.database.sqlite.SQLiteException -> L7c
|
|
java.lang.String r3 = "app_id=?"
|
|
r9 = 1
|
|
java.lang.String[] r4 = new java.lang.String[r9] // Catch: java.lang.Throwable -> L79 android.database.sqlite.SQLiteException -> L7c
|
|
r10 = 0
|
|
r4[r10] = r12 // Catch: java.lang.Throwable -> L79 android.database.sqlite.SQLiteException -> L7c
|
|
r5 = 0
|
|
r6 = 0
|
|
r7 = 0
|
|
android.database.Cursor r0 = r0.query(r1, r2, r3, r4, r5, r6, r7) // Catch: java.lang.Throwable -> L79 android.database.sqlite.SQLiteException -> L7c
|
|
boolean r1 = r0.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
if (r1 != 0) goto L33
|
|
if (r0 == 0) goto L32
|
|
r0.close()
|
|
L32:
|
|
return r8
|
|
L33:
|
|
androidx.collection.ArrayMap r1 = new androidx.collection.ArrayMap // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
r1.<init>() // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
L38:
|
|
int r2 = r0.getInt(r10) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
byte[] r3 = r0.getBlob(r9) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
int r4 = r3.length // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
com.google.android.gms.internal.measurement.zzxz r3 = com.google.android.gms.internal.measurement.zzxz.a(r3, r10, r4) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
com.google.android.gms.internal.measurement.zzfx r4 = new com.google.android.gms.internal.measurement.zzfx // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
r4.<init>() // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
r4.a(r3) // Catch: java.io.IOException -> L55 android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
java.lang.Integer r2 = java.lang.Integer.valueOf(r2) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
r1.put(r2, r4) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
goto L6b
|
|
L55:
|
|
r3 = move-exception
|
|
com.google.android.gms.measurement.internal.zzas r4 = r11.e() // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
com.google.android.gms.measurement.internal.zzau r4 = r4.t() // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
java.lang.String r5 = "Failed to merge filter results. appId, audienceId, error"
|
|
java.lang.Object r6 = com.google.android.gms.measurement.internal.zzas.a(r12) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
java.lang.Integer r2 = java.lang.Integer.valueOf(r2) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
r4.a(r5, r6, r2, r3) // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
L6b:
|
|
boolean r2 = r0.moveToNext() // Catch: android.database.sqlite.SQLiteException -> L77 java.lang.Throwable -> L95
|
|
if (r2 != 0) goto L38
|
|
if (r0 == 0) goto L76
|
|
r0.close()
|
|
L76:
|
|
return r1
|
|
L77:
|
|
r1 = move-exception
|
|
goto L7e
|
|
L79:
|
|
r12 = move-exception
|
|
r0 = r8
|
|
goto L96
|
|
L7c:
|
|
r1 = move-exception
|
|
r0 = r8
|
|
L7e:
|
|
com.google.android.gms.measurement.internal.zzas r2 = r11.e() // Catch: java.lang.Throwable -> L95
|
|
com.google.android.gms.measurement.internal.zzau r2 = r2.t() // Catch: java.lang.Throwable -> L95
|
|
java.lang.String r3 = "Database error querying filter results. appId"
|
|
java.lang.Object r12 = com.google.android.gms.measurement.internal.zzas.a(r12) // Catch: java.lang.Throwable -> L95
|
|
r2.a(r3, r12, r1) // Catch: java.lang.Throwable -> L95
|
|
if (r0 == 0) goto L94
|
|
r0.close()
|
|
L94:
|
|
return r8
|
|
L95:
|
|
r12 = move-exception
|
|
L96:
|
|
if (r0 == 0) goto L9b
|
|
r0.close()
|
|
L9b:
|
|
throw r12
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.e(java.lang.String):java.util.Map");
|
|
}
|
|
|
|
public final List<zzo> b(String str, String str2, String str3) {
|
|
Preconditions.b(str);
|
|
f();
|
|
r();
|
|
ArrayList arrayList = new ArrayList(3);
|
|
arrayList.add(str);
|
|
StringBuilder sb = new StringBuilder("app_id=?");
|
|
if (!TextUtils.isEmpty(str2)) {
|
|
arrayList.add(str2);
|
|
sb.append(" and origin=?");
|
|
}
|
|
if (!TextUtils.isEmpty(str3)) {
|
|
arrayList.add(String.valueOf(str3).concat("*"));
|
|
sb.append(" and name glob ?");
|
|
}
|
|
return a(sb.toString(), (String[]) arrayList.toArray(new String[arrayList.size()]));
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:23:0x0115 */
|
|
/* JADX WARN: Removed duplicated region for block: B:26:0x014d */
|
|
/* JADX WARN: Removed duplicated region for block: B:35:0x0174 A[Catch: SQLiteException -> 0x01a8, all -> 0x01d2, TryCatch #0 {SQLiteException -> 0x01a8, blocks: (B:15:0x0069, B:17:0x00ca, B:21:0x00d4, B:24:0x011e, B:27:0x0154, B:29:0x015f, B:33:0x0169, B:35:0x0174, B:39:0x017c, B:41:0x0191, B:47:0x0150, B:48:0x0119), top: B:14:0x0069 }] */
|
|
/* JADX WARN: Removed duplicated region for block: B:41:0x0191 A[Catch: SQLiteException -> 0x01a8, all -> 0x01d2, TRY_LEAVE, TryCatch #0 {SQLiteException -> 0x01a8, blocks: (B:15:0x0069, B:17:0x00ca, B:21:0x00d4, B:24:0x011e, B:27:0x0154, B:29:0x015f, B:33:0x0169, B:35:0x0174, B:39:0x017c, B:41:0x0191, B:47:0x0150, B:48:0x0119), top: B:14:0x0069 }] */
|
|
/* JADX WARN: Removed duplicated region for block: B:44:0x01a4 */
|
|
/* JADX WARN: Removed duplicated region for block: B:47:0x0150 A[Catch: SQLiteException -> 0x01a8, all -> 0x01d2, TryCatch #0 {SQLiteException -> 0x01a8, blocks: (B:15:0x0069, B:17:0x00ca, B:21:0x00d4, B:24:0x011e, B:27:0x0154, B:29:0x015f, B:33:0x0169, B:35:0x0174, B:39:0x017c, B:41:0x0191, B:47:0x0150, B:48:0x0119), top: B:14:0x0069 }] */
|
|
/* JADX WARN: Removed duplicated region for block: B:48:0x0119 A[Catch: SQLiteException -> 0x01a8, all -> 0x01d2, TryCatch #0 {SQLiteException -> 0x01a8, blocks: (B:15:0x0069, B:17:0x00ca, B:21:0x00d4, B:24:0x011e, B:27:0x0154, B:29:0x015f, B:33:0x0169, B:35:0x0174, B:39:0x017c, B:41:0x0191, B:47:0x0150, B:48:0x0119), top: B:14:0x0069 }] */
|
|
/* JADX WARN: Removed duplicated region for block: B:58:0x01d5 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final com.google.android.gms.measurement.internal.zzg b(java.lang.String r32) {
|
|
/*
|
|
Method dump skipped, instructions count: 473
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.b(java.lang.String):com.google.android.gms.measurement.internal.zzg");
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:34:0x00a1 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final java.util.List<com.google.android.gms.measurement.internal.zzfx> a(java.lang.String r14) {
|
|
/*
|
|
r13 = this;
|
|
com.google.android.gms.common.internal.Preconditions.b(r14)
|
|
r13.f()
|
|
r13.r()
|
|
java.util.ArrayList r0 = new java.util.ArrayList
|
|
r0.<init>()
|
|
r1 = 0
|
|
android.database.sqlite.SQLiteDatabase r2 = r13.w() // Catch: java.lang.Throwable -> L82 android.database.sqlite.SQLiteException -> L85
|
|
java.lang.String r3 = "user_attributes"
|
|
java.lang.String r4 = "name"
|
|
java.lang.String r5 = "origin"
|
|
java.lang.String r6 = "set_timestamp"
|
|
java.lang.String r7 = "value"
|
|
java.lang.String[] r4 = new java.lang.String[]{r4, r5, r6, r7} // Catch: java.lang.Throwable -> L82 android.database.sqlite.SQLiteException -> L85
|
|
java.lang.String r5 = "app_id=?"
|
|
r11 = 1
|
|
java.lang.String[] r6 = new java.lang.String[r11] // Catch: java.lang.Throwable -> L82 android.database.sqlite.SQLiteException -> L85
|
|
r12 = 0
|
|
r6[r12] = r14 // Catch: java.lang.Throwable -> L82 android.database.sqlite.SQLiteException -> L85
|
|
r7 = 0
|
|
r8 = 0
|
|
java.lang.String r9 = "rowid"
|
|
java.lang.String r10 = "1000"
|
|
android.database.Cursor r2 = r2.query(r3, r4, r5, r6, r7, r8, r9, r10) // Catch: java.lang.Throwable -> L82 android.database.sqlite.SQLiteException -> L85
|
|
boolean r3 = r2.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
if (r3 != 0) goto L3f
|
|
if (r2 == 0) goto L3e
|
|
r2.close()
|
|
L3e:
|
|
return r0
|
|
L3f:
|
|
java.lang.String r7 = r2.getString(r12) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
java.lang.String r3 = r2.getString(r11) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
if (r3 != 0) goto L4b
|
|
java.lang.String r3 = ""
|
|
L4b:
|
|
r6 = r3
|
|
r3 = 2
|
|
long r8 = r2.getLong(r3) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
r3 = 3
|
|
java.lang.Object r10 = r13.a(r2, r3) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
if (r10 != 0) goto L6a
|
|
com.google.android.gms.measurement.internal.zzas r3 = r13.e() // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
com.google.android.gms.measurement.internal.zzau r3 = r3.t() // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
java.lang.String r4 = "Read invalid user property value, ignoring it. appId"
|
|
java.lang.Object r5 = com.google.android.gms.measurement.internal.zzas.a(r14) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
r3.a(r4, r5) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
goto L74
|
|
L6a:
|
|
com.google.android.gms.measurement.internal.zzfx r3 = new com.google.android.gms.measurement.internal.zzfx // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
r4 = r3
|
|
r5 = r14
|
|
r4.<init>(r5, r6, r7, r8, r10) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
r0.add(r3) // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
L74:
|
|
boolean r3 = r2.moveToNext() // Catch: android.database.sqlite.SQLiteException -> L80 java.lang.Throwable -> L9e
|
|
if (r3 != 0) goto L3f
|
|
if (r2 == 0) goto L7f
|
|
r2.close()
|
|
L7f:
|
|
return r0
|
|
L80:
|
|
r0 = move-exception
|
|
goto L87
|
|
L82:
|
|
r14 = move-exception
|
|
r2 = r1
|
|
goto L9f
|
|
L85:
|
|
r0 = move-exception
|
|
r2 = r1
|
|
L87:
|
|
com.google.android.gms.measurement.internal.zzas r3 = r13.e() // Catch: java.lang.Throwable -> L9e
|
|
com.google.android.gms.measurement.internal.zzau r3 = r3.t() // Catch: java.lang.Throwable -> L9e
|
|
java.lang.String r4 = "Error querying user properties. appId"
|
|
java.lang.Object r14 = com.google.android.gms.measurement.internal.zzas.a(r14) // Catch: java.lang.Throwable -> L9e
|
|
r3.a(r4, r14, r0) // Catch: java.lang.Throwable -> L9e
|
|
if (r2 == 0) goto L9d
|
|
r2.close()
|
|
L9d:
|
|
return r1
|
|
L9e:
|
|
r14 = move-exception
|
|
L9f:
|
|
if (r2 == 0) goto La4
|
|
r2.close()
|
|
La4:
|
|
throw r14
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.a(java.lang.String):java.util.List");
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:51:0x0090, code lost:
|
|
|
|
e().t().a("Read more than the max allowed user properties, ignoring excess", 1000);
|
|
*/
|
|
/* JADX WARN: Removed duplicated region for block: B:44:0x011f */
|
|
/* JADX WARN: Removed duplicated region for block: B:59:0x0127 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final java.util.List<com.google.android.gms.measurement.internal.zzfx> a(java.lang.String r22, java.lang.String r23, java.lang.String r24) {
|
|
/*
|
|
Method dump skipped, instructions count: 299
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.a(java.lang.String, java.lang.String, java.lang.String):java.util.List");
|
|
}
|
|
|
|
public final boolean a(zzo zzoVar) {
|
|
Preconditions.a(zzoVar);
|
|
f();
|
|
r();
|
|
if (d(zzoVar.packageName, zzoVar.zzags.name) == null && b("SELECT COUNT(1) FROM conditional_properties WHERE app_id=?", new String[]{zzoVar.packageName}) >= 1000) {
|
|
return false;
|
|
}
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzoVar.packageName);
|
|
contentValues.put("origin", zzoVar.origin);
|
|
contentValues.put(MediationMetaData.KEY_NAME, zzoVar.zzags.name);
|
|
a(contentValues, "value", zzoVar.zzags.getValue());
|
|
contentValues.put("active", Boolean.valueOf(zzoVar.active));
|
|
contentValues.put("trigger_event_name", zzoVar.triggerEventName);
|
|
contentValues.put("trigger_timeout", Long.valueOf(zzoVar.triggerTimeout));
|
|
k();
|
|
contentValues.put("timed_out_event", zzfy.a((Parcelable) zzoVar.zzagt));
|
|
contentValues.put("creation_timestamp", Long.valueOf(zzoVar.creationTimestamp));
|
|
k();
|
|
contentValues.put("triggered_event", zzfy.a((Parcelable) zzoVar.zzagu));
|
|
contentValues.put("triggered_timestamp", Long.valueOf(zzoVar.zzags.zzauk));
|
|
contentValues.put("time_to_live", Long.valueOf(zzoVar.timeToLive));
|
|
k();
|
|
contentValues.put("expired_event", zzfy.a((Parcelable) zzoVar.zzagv));
|
|
try {
|
|
if (w().insertWithOnConflict("conditional_properties", null, contentValues, 5) == -1) {
|
|
e().t().a("Failed to insert/update conditional user property (got -1)", zzas.a(zzoVar.packageName));
|
|
}
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing conditional user property", zzas.a(zzoVar.packageName), e);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:22:0x0052, code lost:
|
|
|
|
e().t().a("Read more than the max allowed conditional properties, ignoring extra", 1000);
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final java.util.List<com.google.android.gms.measurement.internal.zzo> a(java.lang.String r25, java.lang.String[] r26) {
|
|
/*
|
|
Method dump skipped, instructions count: 296
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.a(java.lang.String, java.lang.String[]):java.util.List");
|
|
}
|
|
|
|
public final void a(zzg zzgVar) {
|
|
Preconditions.a(zzgVar);
|
|
f();
|
|
r();
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzgVar.f());
|
|
contentValues.put("app_instance_id", zzgVar.a());
|
|
contentValues.put("gmp_app_id", zzgVar.c());
|
|
contentValues.put("resettable_device_id_hash", zzgVar.i());
|
|
contentValues.put("last_bundle_index", Long.valueOf(zzgVar.p()));
|
|
contentValues.put("last_bundle_start_timestamp", Long.valueOf(zzgVar.j()));
|
|
contentValues.put("last_bundle_end_timestamp", Long.valueOf(zzgVar.k()));
|
|
contentValues.put("app_version", zzgVar.e());
|
|
contentValues.put("app_store", zzgVar.m());
|
|
contentValues.put("gmp_version", Long.valueOf(zzgVar.n()));
|
|
contentValues.put("dev_cert_hash", Long.valueOf(zzgVar.o()));
|
|
contentValues.put("measurement_enabled", Boolean.valueOf(zzgVar.d()));
|
|
contentValues.put("day", Long.valueOf(zzgVar.t()));
|
|
contentValues.put("daily_public_events_count", Long.valueOf(zzgVar.u()));
|
|
contentValues.put("daily_events_count", Long.valueOf(zzgVar.v()));
|
|
contentValues.put("daily_conversions_count", Long.valueOf(zzgVar.w()));
|
|
contentValues.put("config_fetched_time", Long.valueOf(zzgVar.q()));
|
|
contentValues.put("failed_config_fetch_time", Long.valueOf(zzgVar.r()));
|
|
contentValues.put("app_version_int", Long.valueOf(zzgVar.l()));
|
|
contentValues.put("firebase_instance_id", zzgVar.b());
|
|
contentValues.put("daily_error_events_count", Long.valueOf(zzgVar.y()));
|
|
contentValues.put("daily_realtime_events_count", Long.valueOf(zzgVar.x()));
|
|
contentValues.put("health_monitor_sample", zzgVar.z());
|
|
contentValues.put("android_id", Long.valueOf(zzgVar.B()));
|
|
contentValues.put("adid_reporting_enabled", Boolean.valueOf(zzgVar.C()));
|
|
contentValues.put("ssaid_reporting_enabled", Boolean.valueOf(zzgVar.D()));
|
|
contentValues.put("admob_app_id", zzgVar.h());
|
|
try {
|
|
SQLiteDatabase w = w();
|
|
if (w.update("apps", contentValues, "app_id = ?", new String[]{zzgVar.f()}) == 0 && w.insertWithOnConflict("apps", null, contentValues, 5) == -1) {
|
|
e().t().a("Failed to insert/update app (got -1). appId", zzas.a(zzgVar.f()));
|
|
}
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing app. appId", zzas.a(zzgVar.f()), e);
|
|
}
|
|
}
|
|
|
|
public final zzu a(long j2, String str, boolean z, boolean z2, boolean z3, boolean z4, boolean z5) {
|
|
Preconditions.b(str);
|
|
f();
|
|
r();
|
|
String[] strArr = {str};
|
|
zzu zzuVar = new zzu();
|
|
Cursor cursor = null;
|
|
try {
|
|
try {
|
|
SQLiteDatabase w = w();
|
|
Cursor query = w.query("apps", new String[]{"day", "daily_events_count", "daily_public_events_count", "daily_conversions_count", "daily_error_events_count", "daily_realtime_events_count"}, "app_id=?", new String[]{str}, null, null, null);
|
|
if (!query.moveToFirst()) {
|
|
e().w().a("Not updating daily counts, app is not known. appId", zzas.a(str));
|
|
if (query != null) {
|
|
query.close();
|
|
}
|
|
return zzuVar;
|
|
}
|
|
if (query.getLong(0) == j2) {
|
|
zzuVar.b = query.getLong(1);
|
|
zzuVar.a = query.getLong(2);
|
|
zzuVar.c = query.getLong(3);
|
|
zzuVar.d = query.getLong(4);
|
|
zzuVar.e = query.getLong(5);
|
|
}
|
|
if (z) {
|
|
zzuVar.b++;
|
|
}
|
|
if (z2) {
|
|
zzuVar.a++;
|
|
}
|
|
if (z3) {
|
|
zzuVar.c++;
|
|
}
|
|
if (z4) {
|
|
zzuVar.d++;
|
|
}
|
|
if (z5) {
|
|
zzuVar.e++;
|
|
}
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("day", Long.valueOf(j2));
|
|
contentValues.put("daily_public_events_count", Long.valueOf(zzuVar.a));
|
|
contentValues.put("daily_events_count", Long.valueOf(zzuVar.b));
|
|
contentValues.put("daily_conversions_count", Long.valueOf(zzuVar.c));
|
|
contentValues.put("daily_error_events_count", Long.valueOf(zzuVar.d));
|
|
contentValues.put("daily_realtime_events_count", Long.valueOf(zzuVar.e));
|
|
w.update("apps", contentValues, "app_id=?", strArr);
|
|
if (query != null) {
|
|
query.close();
|
|
}
|
|
return zzuVar;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error updating daily counts. appId", zzas.a(str), e);
|
|
if (0 != 0) {
|
|
cursor.close();
|
|
}
|
|
return zzuVar;
|
|
}
|
|
} catch (Throwable th) {
|
|
if (0 != 0) {
|
|
cursor.close();
|
|
}
|
|
throw th;
|
|
}
|
|
}
|
|
|
|
public final boolean a(com.google.android.gms.internal.measurement.zzfw zzfwVar, boolean z) {
|
|
f();
|
|
r();
|
|
Preconditions.a(zzfwVar);
|
|
Preconditions.b(zzfwVar.q);
|
|
Preconditions.a(zzfwVar.h);
|
|
A();
|
|
long a = d().a();
|
|
if (zzfwVar.h.longValue() < a - zzq.u() || zzfwVar.h.longValue() > zzq.u() + a) {
|
|
e().w().a("Storing bundle outside of the max uploading time span. appId, now, timestamp", zzas.a(zzfwVar.q), Long.valueOf(a), zzfwVar.h);
|
|
}
|
|
try {
|
|
byte[] bArr = new byte[zzfwVar.b()];
|
|
zzya a2 = zzya.a(bArr, 0, bArr.length);
|
|
zzfwVar.a(a2);
|
|
a2.a();
|
|
byte[] b = n().b(bArr);
|
|
e().B().a("Saving bundle, size", Integer.valueOf(b.length));
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzfwVar.q);
|
|
contentValues.put("bundle_end_timestamp", zzfwVar.h);
|
|
contentValues.put("data", b);
|
|
contentValues.put("has_realtime", Integer.valueOf(z ? 1 : 0));
|
|
Integer num = zzfwVar.M;
|
|
if (num != null) {
|
|
contentValues.put("retry_count", num);
|
|
}
|
|
try {
|
|
if (w().insert("queue", null, contentValues) != -1) {
|
|
return true;
|
|
}
|
|
e().t().a("Failed to insert bundle (got -1). appId", zzas.a(zzfwVar.q));
|
|
return false;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing bundle. appId", zzas.a(zzfwVar.q), e);
|
|
return false;
|
|
}
|
|
} catch (IOException e2) {
|
|
e().t().a("Data loss. Failed to serialize bundle. appId", zzas.a(zzfwVar.q), e2);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public final List<Pair<com.google.android.gms.internal.measurement.zzfw, Long>> a(String str, int i2, int i3) {
|
|
byte[] a;
|
|
f();
|
|
r();
|
|
Preconditions.a(i2 > 0);
|
|
Preconditions.a(i3 > 0);
|
|
Preconditions.b(str);
|
|
Cursor cursor = null;
|
|
try {
|
|
try {
|
|
Cursor query = w().query("queue", new String[]{"rowid", "data", "retry_count"}, "app_id=?", new String[]{str}, null, null, "rowid", String.valueOf(i2));
|
|
if (!query.moveToFirst()) {
|
|
List<Pair<com.google.android.gms.internal.measurement.zzfw, Long>> emptyList = Collections.emptyList();
|
|
if (query != null) {
|
|
query.close();
|
|
}
|
|
return emptyList;
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
int i4 = 0;
|
|
do {
|
|
long j2 = query.getLong(0);
|
|
try {
|
|
a = n().a(query.getBlob(1));
|
|
} catch (IOException e) {
|
|
e().t().a("Failed to unzip queued bundle. appId", zzas.a(str), e);
|
|
}
|
|
if (!arrayList.isEmpty() && a.length + i4 > i3) {
|
|
break;
|
|
}
|
|
zzxz a2 = zzxz.a(a, 0, a.length);
|
|
com.google.android.gms.internal.measurement.zzfw zzfwVar = new com.google.android.gms.internal.measurement.zzfw();
|
|
try {
|
|
zzfwVar.a(a2);
|
|
if (!query.isNull(2)) {
|
|
zzfwVar.M = Integer.valueOf(query.getInt(2));
|
|
}
|
|
i4 += a.length;
|
|
arrayList.add(Pair.create(zzfwVar, Long.valueOf(j2)));
|
|
} catch (IOException e2) {
|
|
e().t().a("Failed to merge queued bundle. appId", zzas.a(str), e2);
|
|
}
|
|
if (!query.moveToNext()) {
|
|
break;
|
|
}
|
|
} while (i4 <= i3);
|
|
if (query != null) {
|
|
query.close();
|
|
}
|
|
return arrayList;
|
|
} catch (SQLiteException e3) {
|
|
e().t().a("Error querying bundles. appId", zzas.a(str), e3);
|
|
List<Pair<com.google.android.gms.internal.measurement.zzfw, Long>> emptyList2 = Collections.emptyList();
|
|
if (0 != 0) {
|
|
cursor.close();
|
|
}
|
|
return emptyList2;
|
|
}
|
|
} catch (Throwable th) {
|
|
if (0 != 0) {
|
|
cursor.close();
|
|
}
|
|
throw th;
|
|
}
|
|
}
|
|
|
|
final void a(List<Long> list) {
|
|
f();
|
|
r();
|
|
Preconditions.a(list);
|
|
Preconditions.a(list.size());
|
|
if (G()) {
|
|
String join = TextUtils.join(",", list);
|
|
StringBuilder sb = new StringBuilder(String.valueOf(join).length() + 2);
|
|
sb.append("(");
|
|
sb.append(join);
|
|
sb.append(")");
|
|
String sb2 = sb.toString();
|
|
StringBuilder sb3 = new StringBuilder(String.valueOf(sb2).length() + 80);
|
|
sb3.append("SELECT COUNT(1) FROM queue WHERE rowid IN ");
|
|
sb3.append(sb2);
|
|
sb3.append(" AND retry_count = 2147483647 LIMIT 1");
|
|
if (b(sb3.toString(), (String[]) null) > 0) {
|
|
e().w().a("The number of upload retries exceeds the limit. Will remain unchanged.");
|
|
}
|
|
try {
|
|
SQLiteDatabase w = w();
|
|
StringBuilder sb4 = new StringBuilder(String.valueOf(sb2).length() + 127);
|
|
sb4.append("UPDATE queue SET retry_count = IFNULL(retry_count, 0) + 1 WHERE rowid IN ");
|
|
sb4.append(sb2);
|
|
sb4.append(" AND (retry_count IS NULL OR retry_count < 2147483647)");
|
|
w.execSQL(sb4.toString());
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error incrementing retry count. error", e);
|
|
}
|
|
}
|
|
}
|
|
|
|
final void a(String str, com.google.android.gms.internal.measurement.zzfi[] zzfiVarArr) {
|
|
boolean z;
|
|
r();
|
|
f();
|
|
Preconditions.b(str);
|
|
Preconditions.a(zzfiVarArr);
|
|
SQLiteDatabase w = w();
|
|
w.beginTransaction();
|
|
try {
|
|
r();
|
|
f();
|
|
Preconditions.b(str);
|
|
SQLiteDatabase w2 = w();
|
|
w2.delete("property_filters", "app_id=?", new String[]{str});
|
|
w2.delete("event_filters", "app_id=?", new String[]{str});
|
|
for (com.google.android.gms.internal.measurement.zzfi zzfiVar : zzfiVarArr) {
|
|
r();
|
|
f();
|
|
Preconditions.b(str);
|
|
Preconditions.a(zzfiVar);
|
|
Preconditions.a(zzfiVar.e);
|
|
Preconditions.a(zzfiVar.d);
|
|
if (zzfiVar.c == null) {
|
|
e().w().a("Audience with no ID. appId", zzas.a(str));
|
|
} else {
|
|
int intValue = zzfiVar.c.intValue();
|
|
com.google.android.gms.internal.measurement.zzfj[] zzfjVarArr = zzfiVar.e;
|
|
int length = zzfjVarArr.length;
|
|
int i2 = 0;
|
|
while (true) {
|
|
if (i2 < length) {
|
|
if (zzfjVarArr[i2].c == null) {
|
|
e().w().a("Event filter with no ID. Audience definition ignored. appId, audienceId", zzas.a(str), zzfiVar.c);
|
|
break;
|
|
}
|
|
i2++;
|
|
} else {
|
|
com.google.android.gms.internal.measurement.zzfm[] zzfmVarArr = zzfiVar.d;
|
|
int length2 = zzfmVarArr.length;
|
|
int i3 = 0;
|
|
while (true) {
|
|
if (i3 < length2) {
|
|
if (zzfmVarArr[i3].c == null) {
|
|
e().w().a("Property filter with no ID. Audience definition ignored. appId, audienceId", zzas.a(str), zzfiVar.c);
|
|
break;
|
|
}
|
|
i3++;
|
|
} else {
|
|
com.google.android.gms.internal.measurement.zzfj[] zzfjVarArr2 = zzfiVar.e;
|
|
int length3 = zzfjVarArr2.length;
|
|
int i4 = 0;
|
|
while (true) {
|
|
if (i4 >= length3) {
|
|
z = true;
|
|
break;
|
|
} else {
|
|
if (!a(str, intValue, zzfjVarArr2[i4])) {
|
|
z = false;
|
|
break;
|
|
}
|
|
i4++;
|
|
}
|
|
}
|
|
if (z) {
|
|
com.google.android.gms.internal.measurement.zzfm[] zzfmVarArr2 = zzfiVar.d;
|
|
int length4 = zzfmVarArr2.length;
|
|
int i5 = 0;
|
|
while (true) {
|
|
if (i5 >= length4) {
|
|
break;
|
|
}
|
|
if (!a(str, intValue, zzfmVarArr2[i5])) {
|
|
z = false;
|
|
break;
|
|
}
|
|
i5++;
|
|
}
|
|
}
|
|
if (!z) {
|
|
r();
|
|
f();
|
|
Preconditions.b(str);
|
|
SQLiteDatabase w3 = w();
|
|
w3.delete("property_filters", "app_id=? and audience_id=?", new String[]{str, String.valueOf(intValue)});
|
|
w3.delete("event_filters", "app_id=? and audience_id=?", new String[]{str, String.valueOf(intValue)});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
for (com.google.android.gms.internal.measurement.zzfi zzfiVar2 : zzfiVarArr) {
|
|
arrayList.add(zzfiVar2.c);
|
|
}
|
|
a(str, arrayList);
|
|
w.setTransactionSuccessful();
|
|
} finally {
|
|
w.endTransaction();
|
|
}
|
|
}
|
|
|
|
private final boolean a(String str, int i2, com.google.android.gms.internal.measurement.zzfj zzfjVar) {
|
|
r();
|
|
f();
|
|
Preconditions.b(str);
|
|
Preconditions.a(zzfjVar);
|
|
if (TextUtils.isEmpty(zzfjVar.d)) {
|
|
e().w().a("Event filter had no event name. Audience definition ignored. appId, audienceId, filterId", zzas.a(str), Integer.valueOf(i2), String.valueOf(zzfjVar.c));
|
|
return false;
|
|
}
|
|
try {
|
|
byte[] bArr = new byte[zzfjVar.b()];
|
|
zzya a = zzya.a(bArr, 0, bArr.length);
|
|
zzfjVar.a(a);
|
|
a.a();
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", str);
|
|
contentValues.put("audience_id", Integer.valueOf(i2));
|
|
contentValues.put("filter_id", zzfjVar.c);
|
|
contentValues.put("event_name", zzfjVar.d);
|
|
contentValues.put("data", bArr);
|
|
try {
|
|
if (w().insertWithOnConflict("event_filters", null, contentValues, 5) != -1) {
|
|
return true;
|
|
}
|
|
e().t().a("Failed to insert event filter (got -1). appId", zzas.a(str));
|
|
return true;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing event filter. appId", zzas.a(str), e);
|
|
return false;
|
|
}
|
|
} catch (IOException e2) {
|
|
e().t().a("Configuration loss. Failed to serialize event filter. appId", zzas.a(str), e2);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private final boolean a(String str, int i2, com.google.android.gms.internal.measurement.zzfm zzfmVar) {
|
|
r();
|
|
f();
|
|
Preconditions.b(str);
|
|
Preconditions.a(zzfmVar);
|
|
if (TextUtils.isEmpty(zzfmVar.d)) {
|
|
e().w().a("Property filter had no property name. Audience definition ignored. appId, audienceId, filterId", zzas.a(str), Integer.valueOf(i2), String.valueOf(zzfmVar.c));
|
|
return false;
|
|
}
|
|
try {
|
|
byte[] bArr = new byte[zzfmVar.b()];
|
|
zzya a = zzya.a(bArr, 0, bArr.length);
|
|
zzfmVar.a(a);
|
|
a.a();
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", str);
|
|
contentValues.put("audience_id", Integer.valueOf(i2));
|
|
contentValues.put("filter_id", zzfmVar.c);
|
|
contentValues.put("property_name", zzfmVar.d);
|
|
contentValues.put("data", bArr);
|
|
try {
|
|
if (w().insertWithOnConflict("property_filters", null, contentValues, 5) != -1) {
|
|
return true;
|
|
}
|
|
e().t().a("Failed to insert property filter (got -1). appId", zzas.a(str));
|
|
return false;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing property filter. appId", zzas.a(str), e);
|
|
return false;
|
|
}
|
|
} catch (IOException e2) {
|
|
e().t().a("Configuration loss. Failed to serialize property filter. appId", zzas.a(str), e2);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private final boolean a(String str, List<Integer> list) {
|
|
Preconditions.b(str);
|
|
r();
|
|
f();
|
|
SQLiteDatabase w = w();
|
|
try {
|
|
long b = b("select count(1) from audience_filter_values where app_id=?", new String[]{str});
|
|
int max = Math.max(0, Math.min(2000, m().b(str, zzai.P)));
|
|
if (b <= max) {
|
|
return false;
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
for (int i2 = 0; i2 < list.size(); i2++) {
|
|
Integer num = list.get(i2);
|
|
if (num == null || !(num instanceof Integer)) {
|
|
return false;
|
|
}
|
|
arrayList.add(Integer.toString(num.intValue()));
|
|
}
|
|
String join = TextUtils.join(",", arrayList);
|
|
StringBuilder sb = new StringBuilder(String.valueOf(join).length() + 2);
|
|
sb.append("(");
|
|
sb.append(join);
|
|
sb.append(")");
|
|
String sb2 = sb.toString();
|
|
StringBuilder sb3 = new StringBuilder(String.valueOf(sb2).length() + TwitterAuthConfig.DEFAULT_AUTH_REQUEST_CODE);
|
|
sb3.append("audience_id in (select audience_id from audience_filter_values where app_id=? and audience_id not in ");
|
|
sb3.append(sb2);
|
|
sb3.append(" order by rowid desc limit -1 offset ?)");
|
|
return w.delete("audience_filter_values", sb3.toString(), new String[]{str, Integer.toString(max)}) > 0;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Database error querying filters. appId", zzas.a(str), e);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private static void a(ContentValues contentValues, String str, Object obj) {
|
|
Preconditions.b(str);
|
|
Preconditions.a(obj);
|
|
if (obj instanceof String) {
|
|
contentValues.put(str, (String) obj);
|
|
} else if (obj instanceof Long) {
|
|
contentValues.put(str, (Long) obj);
|
|
} else {
|
|
if (obj instanceof Double) {
|
|
contentValues.put(str, (Double) obj);
|
|
return;
|
|
}
|
|
throw new IllegalArgumentException("Invalid value type");
|
|
}
|
|
}
|
|
|
|
private final Object a(Cursor cursor, int i2) {
|
|
int type = cursor.getType(i2);
|
|
if (type == 0) {
|
|
e().t().a("Loaded invalid null value from database");
|
|
return null;
|
|
}
|
|
if (type == 1) {
|
|
return Long.valueOf(cursor.getLong(i2));
|
|
}
|
|
if (type == 2) {
|
|
return Double.valueOf(cursor.getDouble(i2));
|
|
}
|
|
if (type == 3) {
|
|
return cursor.getString(i2);
|
|
}
|
|
if (type != 4) {
|
|
e().t().a("Loaded invalid unknown value type, ignoring it", Integer.valueOf(type));
|
|
return null;
|
|
}
|
|
e().t().a("Loaded invalid blob type value, ignoring it");
|
|
return null;
|
|
}
|
|
|
|
public final long a(com.google.android.gms.internal.measurement.zzfw zzfwVar) throws IOException {
|
|
long a;
|
|
f();
|
|
r();
|
|
Preconditions.a(zzfwVar);
|
|
Preconditions.b(zzfwVar.q);
|
|
try {
|
|
byte[] bArr = new byte[zzfwVar.b()];
|
|
zzya a2 = zzya.a(bArr, 0, bArr.length);
|
|
zzfwVar.a(a2);
|
|
a2.a();
|
|
zzfu n = n();
|
|
Preconditions.a(bArr);
|
|
n.k().f();
|
|
MessageDigest x = zzfy.x();
|
|
if (x == null) {
|
|
n.e().t().a("Failed to get MD5");
|
|
a = 0;
|
|
} else {
|
|
a = zzfy.a(x.digest(bArr));
|
|
}
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzfwVar.q);
|
|
contentValues.put("metadata_fingerprint", Long.valueOf(a));
|
|
contentValues.put("metadata", bArr);
|
|
try {
|
|
w().insertWithOnConflict("raw_events_metadata", null, contentValues, 4);
|
|
return a;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing raw event metadata. appId", zzas.a(zzfwVar.q), e);
|
|
throw e;
|
|
}
|
|
} catch (IOException e2) {
|
|
e().t().a("Data loss. Failed to serialize event metadata. appId", zzas.a(zzfwVar.q), e2);
|
|
throw e2;
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
/* JADX WARN: Removed duplicated region for block: B:24:0x005b */
|
|
/* JADX WARN: Type inference failed for: r5v0, types: [long] */
|
|
/* JADX WARN: Type inference failed for: r5v1 */
|
|
/* JADX WARN: Type inference failed for: r5v3, types: [android.database.Cursor] */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final java.lang.String a(long r5) {
|
|
/*
|
|
r4 = this;
|
|
r4.f()
|
|
r4.r()
|
|
r0 = 0
|
|
android.database.sqlite.SQLiteDatabase r1 = r4.w() // Catch: java.lang.Throwable -> L40 android.database.sqlite.SQLiteException -> L43
|
|
java.lang.String r2 = "select app_id from apps where app_id in (select distinct app_id from raw_events) and config_fetched_time < ? order by failed_config_fetch_time limit 1;"
|
|
r3 = 1
|
|
java.lang.String[] r3 = new java.lang.String[r3] // Catch: java.lang.Throwable -> L40 android.database.sqlite.SQLiteException -> L43
|
|
java.lang.String r5 = java.lang.String.valueOf(r5) // Catch: java.lang.Throwable -> L40 android.database.sqlite.SQLiteException -> L43
|
|
r6 = 0
|
|
r3[r6] = r5 // Catch: java.lang.Throwable -> L40 android.database.sqlite.SQLiteException -> L43
|
|
android.database.Cursor r5 = r1.rawQuery(r2, r3) // Catch: java.lang.Throwable -> L40 android.database.sqlite.SQLiteException -> L43
|
|
boolean r1 = r5.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L3e java.lang.Throwable -> L58
|
|
if (r1 != 0) goto L34
|
|
com.google.android.gms.measurement.internal.zzas r6 = r4.e() // Catch: android.database.sqlite.SQLiteException -> L3e java.lang.Throwable -> L58
|
|
com.google.android.gms.measurement.internal.zzau r6 = r6.B() // Catch: android.database.sqlite.SQLiteException -> L3e java.lang.Throwable -> L58
|
|
java.lang.String r1 = "No expired configs for apps with pending events"
|
|
r6.a(r1) // Catch: android.database.sqlite.SQLiteException -> L3e java.lang.Throwable -> L58
|
|
if (r5 == 0) goto L33
|
|
r5.close()
|
|
L33:
|
|
return r0
|
|
L34:
|
|
java.lang.String r6 = r5.getString(r6) // Catch: android.database.sqlite.SQLiteException -> L3e java.lang.Throwable -> L58
|
|
if (r5 == 0) goto L3d
|
|
r5.close()
|
|
L3d:
|
|
return r6
|
|
L3e:
|
|
r6 = move-exception
|
|
goto L45
|
|
L40:
|
|
r6 = move-exception
|
|
r5 = r0
|
|
goto L59
|
|
L43:
|
|
r6 = move-exception
|
|
r5 = r0
|
|
L45:
|
|
com.google.android.gms.measurement.internal.zzas r1 = r4.e() // Catch: java.lang.Throwable -> L58
|
|
com.google.android.gms.measurement.internal.zzau r1 = r1.t() // Catch: java.lang.Throwable -> L58
|
|
java.lang.String r2 = "Error selecting expired configs"
|
|
r1.a(r2, r6) // Catch: java.lang.Throwable -> L58
|
|
if (r5 == 0) goto L57
|
|
r5.close()
|
|
L57:
|
|
return r0
|
|
L58:
|
|
r6 = move-exception
|
|
L59:
|
|
if (r5 == 0) goto L5e
|
|
r5.close()
|
|
L5e:
|
|
throw r6
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.a(long):java.lang.String");
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:33:0x008f */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public final android.util.Pair<com.google.android.gms.internal.measurement.zzft, java.lang.Long> a(java.lang.String r8, java.lang.Long r9) {
|
|
/*
|
|
r7 = this;
|
|
r7.f()
|
|
r7.r()
|
|
r0 = 0
|
|
android.database.sqlite.SQLiteDatabase r1 = r7.w() // Catch: java.lang.Throwable -> L74 android.database.sqlite.SQLiteException -> L77
|
|
java.lang.String r2 = "select main_event, children_to_process from main_event_params where app_id=? and event_id=?"
|
|
r3 = 2
|
|
java.lang.String[] r3 = new java.lang.String[r3] // Catch: java.lang.Throwable -> L74 android.database.sqlite.SQLiteException -> L77
|
|
r4 = 0
|
|
r3[r4] = r8 // Catch: java.lang.Throwable -> L74 android.database.sqlite.SQLiteException -> L77
|
|
java.lang.String r5 = java.lang.String.valueOf(r9) // Catch: java.lang.Throwable -> L74 android.database.sqlite.SQLiteException -> L77
|
|
r6 = 1
|
|
r3[r6] = r5 // Catch: java.lang.Throwable -> L74 android.database.sqlite.SQLiteException -> L77
|
|
android.database.Cursor r1 = r1.rawQuery(r2, r3) // Catch: java.lang.Throwable -> L74 android.database.sqlite.SQLiteException -> L77
|
|
boolean r2 = r1.moveToFirst() // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
if (r2 != 0) goto L37
|
|
com.google.android.gms.measurement.internal.zzas r8 = r7.e() // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
com.google.android.gms.measurement.internal.zzau r8 = r8.B() // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
java.lang.String r9 = "Main event not found"
|
|
r8.a(r9) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
if (r1 == 0) goto L36
|
|
r1.close()
|
|
L36:
|
|
return r0
|
|
L37:
|
|
byte[] r2 = r1.getBlob(r4) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
long r5 = r1.getLong(r6) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
java.lang.Long r3 = java.lang.Long.valueOf(r5) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
int r5 = r2.length // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
com.google.android.gms.internal.measurement.zzxz r2 = com.google.android.gms.internal.measurement.zzxz.a(r2, r4, r5) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
com.google.android.gms.internal.measurement.zzft r4 = new com.google.android.gms.internal.measurement.zzft // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
r4.<init>() // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
r4.a(r2) // Catch: java.io.IOException -> L5a android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
android.util.Pair r8 = android.util.Pair.create(r4, r3) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
if (r1 == 0) goto L59
|
|
r1.close()
|
|
L59:
|
|
return r8
|
|
L5a:
|
|
r2 = move-exception
|
|
com.google.android.gms.measurement.internal.zzas r3 = r7.e() // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
com.google.android.gms.measurement.internal.zzau r3 = r3.t() // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
java.lang.String r4 = "Failed to merge main event. appId, eventId"
|
|
java.lang.Object r8 = com.google.android.gms.measurement.internal.zzas.a(r8) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
r3.a(r4, r8, r9, r2) // Catch: android.database.sqlite.SQLiteException -> L72 java.lang.Throwable -> L8c
|
|
if (r1 == 0) goto L71
|
|
r1.close()
|
|
L71:
|
|
return r0
|
|
L72:
|
|
r8 = move-exception
|
|
goto L79
|
|
L74:
|
|
r8 = move-exception
|
|
r1 = r0
|
|
goto L8d
|
|
L77:
|
|
r8 = move-exception
|
|
r1 = r0
|
|
L79:
|
|
com.google.android.gms.measurement.internal.zzas r9 = r7.e() // Catch: java.lang.Throwable -> L8c
|
|
com.google.android.gms.measurement.internal.zzau r9 = r9.t() // Catch: java.lang.Throwable -> L8c
|
|
java.lang.String r2 = "Error selecting main event"
|
|
r9.a(r2, r8) // Catch: java.lang.Throwable -> L8c
|
|
if (r1 == 0) goto L8b
|
|
r1.close()
|
|
L8b:
|
|
return r0
|
|
L8c:
|
|
r8 = move-exception
|
|
L8d:
|
|
if (r1 == 0) goto L92
|
|
r1.close()
|
|
L92:
|
|
throw r8
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.measurement.internal.zzt.a(java.lang.String, java.lang.Long):android.util.Pair");
|
|
}
|
|
|
|
public final boolean a(String str, Long l, long j2, com.google.android.gms.internal.measurement.zzft zzftVar) {
|
|
f();
|
|
r();
|
|
Preconditions.a(zzftVar);
|
|
Preconditions.b(str);
|
|
Preconditions.a(l);
|
|
try {
|
|
byte[] bArr = new byte[zzftVar.b()];
|
|
zzya a = zzya.a(bArr, 0, bArr.length);
|
|
zzftVar.a(a);
|
|
a.a();
|
|
e().B().a("Saving complex main event, appId, data size", j().a(str), Integer.valueOf(bArr.length));
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", str);
|
|
contentValues.put("event_id", l);
|
|
contentValues.put("children_to_process", Long.valueOf(j2));
|
|
contentValues.put("main_event", bArr);
|
|
try {
|
|
if (w().insertWithOnConflict("main_event_params", null, contentValues, 5) != -1) {
|
|
return true;
|
|
}
|
|
e().t().a("Failed to insert complex main event (got -1). appId", zzas.a(str));
|
|
return false;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing complex main event. appId", zzas.a(str), e);
|
|
return false;
|
|
}
|
|
} catch (IOException e2) {
|
|
e().t().a("Data loss. Failed to serialize event params/data. appId, eventId", zzas.a(str), l, e2);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public final boolean a(zzab zzabVar, long j2, boolean z) {
|
|
f();
|
|
r();
|
|
Preconditions.a(zzabVar);
|
|
Preconditions.b(zzabVar.a);
|
|
com.google.android.gms.internal.measurement.zzft zzftVar = new com.google.android.gms.internal.measurement.zzft();
|
|
zzftVar.f = Long.valueOf(zzabVar.e);
|
|
zzftVar.c = new com.google.android.gms.internal.measurement.zzfu[zzabVar.f.size()];
|
|
Iterator<String> it = zzabVar.f.iterator();
|
|
int i2 = 0;
|
|
while (it.hasNext()) {
|
|
String next = it.next();
|
|
com.google.android.gms.internal.measurement.zzfu zzfuVar = new com.google.android.gms.internal.measurement.zzfu();
|
|
int i3 = i2 + 1;
|
|
zzftVar.c[i2] = zzfuVar;
|
|
zzfuVar.c = next;
|
|
n().a(zzfuVar, zzabVar.f.get(next));
|
|
i2 = i3;
|
|
}
|
|
try {
|
|
byte[] bArr = new byte[zzftVar.b()];
|
|
zzya a = zzya.a(bArr, 0, bArr.length);
|
|
zzftVar.a(a);
|
|
a.a();
|
|
e().B().a("Saving event, name, data size", j().a(zzabVar.b), Integer.valueOf(bArr.length));
|
|
ContentValues contentValues = new ContentValues();
|
|
contentValues.put("app_id", zzabVar.a);
|
|
contentValues.put(MediationMetaData.KEY_NAME, zzabVar.b);
|
|
contentValues.put("timestamp", Long.valueOf(zzabVar.d));
|
|
contentValues.put("metadata_fingerprint", Long.valueOf(j2));
|
|
contentValues.put("data", bArr);
|
|
contentValues.put("realtime", Integer.valueOf(z ? 1 : 0));
|
|
try {
|
|
if (w().insert("raw_events", null, contentValues) != -1) {
|
|
return true;
|
|
}
|
|
e().t().a("Failed to insert raw event (got -1). appId", zzas.a(zzabVar.a));
|
|
return false;
|
|
} catch (SQLiteException e) {
|
|
e().t().a("Error storing raw event. appId", zzas.a(zzabVar.a), e);
|
|
return false;
|
|
}
|
|
} catch (IOException e2) {
|
|
e().t().a("Data loss. Failed to serialize event params/data. appId", zzas.a(zzabVar.a), e2);
|
|
return false;
|
|
}
|
|
}
|
|
}
|