zzec.smali
.class public final Lcom/google/android/gms/measurement/internal/zzec;
.super Lcom/google/android/gms/measurement/internal/zzf;
.source "com.google.android.gms:play-services-measurement-impl@@18.0.2"
# instance fields
.field private final zza:Lcom/google/android/gms/measurement/internal/zzeb;
.field private zzb:Z
# direct methods
.method constructor <init>(Lcom/google/android/gms/measurement/internal/zzfl;)V
.registers 4
.line 1
invoke-direct {p0, p1}, Lcom/google/android/gms/measurement/internal/zzf;-><init>(Lcom/google/android/gms/measurement/internal/zzfl;)V
new-instance p1, Lcom/google/android/gms/measurement/internal/zzeb;
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 2
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzaw()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 3
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzc()Lcom/google/android/gms/measurement/internal/zzae;
const-string v1, "google_app_measurement_local.db"
.line 4
invoke-direct {p1, p0, v0, v1}, Lcom/google/android/gms/measurement/internal/zzeb;-><init>(Lcom/google/android/gms/measurement/internal/zzec;Landroid/content/Context;Ljava/lang/String;)V
iput-object p1, p0, Lcom/google/android/gms/measurement/internal/zzec;->zza:Lcom/google/android/gms/measurement/internal/zzeb;
return-void
.end method
.method private final zzq(I[B)Z
.registers 19
move-object/from16 v1, p0
.line 1
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zze;->zzg()V
iget-boolean v0, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
const/4 v2, 0x0
if-eqz v0, :cond_b
return v2
:cond_b
new-instance v3, Landroid/content/ContentValues;
.line 2
invoke-direct {v3}, Landroid/content/ContentValues;-><init>()V
.line 3
invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
const-string v4, "type"
invoke-virtual {v3, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
const-string v0, "entry"
move-object/from16 v4, p2
.line 4
invoke-virtual {v3, v0, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;[B)V
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 5
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzc()Lcom/google/android/gms/measurement/internal/zzae;
const/4 v4, 0x5
const/4 v5, 0x0
const/4 v6, 0x5
:goto_28
if-ge v5, v4, :cond_12d
const/4 v7, 0x1
const/4 v8, 0x0
.line 6
:try_start_2c
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzo()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v9
:try_end_30
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_2c .. :try_end_30} :catch_fb
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_2c .. :try_end_30} :catch_e9
.catch Landroid/database/sqlite/SQLiteException; {:try_start_2c .. :try_end_30} :catch_c2
.catchall {:try_start_2c .. :try_end_30} :catchall_bf
if-nez v9, :cond_35
:try_start_32
iput-boolean v7, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
return v2
.line 7
:cond_35
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
const-string v0, "select count(1) from messages"
.line 8
invoke-virtual {v9, v0, v8}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v10
:try_end_3e
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_32 .. :try_end_3e} :catch_bb
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_32 .. :try_end_3e} :catch_ea
.catch Landroid/database/sqlite/SQLiteException; {:try_start_32 .. :try_end_3e} :catch_b7
.catchall {:try_start_32 .. :try_end_3e} :catchall_b4
const-wide/16 v11, 0x0
if-eqz v10, :cond_54
.line 9
:try_start_42
invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
if-eqz v0, :cond_54
.line 10
invoke-interface {v10, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v11
:try_end_4c
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_42 .. :try_end_4c} :catch_52
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_42 .. :try_end_4c} :catch_b2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_42 .. :try_end_4c} :catch_50
.catchall {:try_start_42 .. :try_end_4c} :catchall_4d
goto :goto_54
:catchall_4d
move-exception v0
goto/16 :goto_121
:catch_50
move-exception v0
goto :goto_b9
:catch_52
move-exception v0
goto :goto_bd
:cond_54
:goto_54
const-string v0, "messages"
const-wide/32 v13, 0x186a0
cmp-long v15, v11, v13
if-ltz v15, :cond_9f
:try_start_5d
iget-object v15, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 11
invoke-virtual {v15}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v15
.line 12
invoke-virtual {v15}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v15
const-string v4, "Data loss, local db full"
invoke-virtual {v15, v4}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
sub-long/2addr v13, v11
const-wide/16 v11, 0x1
add-long/2addr v13, v11
new-array v4, v7, [Ljava/lang/String;
.line 13
invoke-static {v13, v14}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v11
aput-object v11, v4, v2
const-string v11, "rowid in (select rowid from messages order by rowid asc limit ?)"
.line 14
invoke-virtual {v9, v0, v11, v4}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
move-result v4
int-to-long v11, v4
cmp-long v4, v11, v13
if-eqz v4, :cond_9f
iget-object v4, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 15
invoke-virtual {v4}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v4
.line 16
invoke-virtual {v4}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v4
const-string v15, "Different delete count than expected in local db. expected, received, difference"
.line 17
invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
.line 18
invoke-static {v11, v12}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
sub-long/2addr v13, v11
.line 19
invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v11
.line 20
invoke-virtual {v4, v15, v2, v7, v11}, Lcom/google/android/gms/measurement/internal/zzeg;->zzd(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.line 21
:cond_9f
invoke-virtual {v9, v0, v8, v3}, Landroid/database/sqlite/SQLiteDatabase;->insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
.line 22
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
.line 23
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:try_end_a8
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_5d .. :try_end_a8} :catch_52
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_5d .. :try_end_a8} :catch_b2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_5d .. :try_end_a8} :catch_50
.catchall {:try_start_5d .. :try_end_a8} :catchall_4d
if-eqz v10, :cond_ad
.line 24
invoke-interface {v10}, Landroid/database/Cursor;->close()V
.line 25
:cond_ad
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->close()V
const/4 v2, 0x1
return v2
:catch_b2
move-object v8, v10
goto :goto_ea
:catchall_b4
move-exception v0
goto/16 :goto_122
:catch_b7
move-exception v0
move-object v10, v8
:goto_b9
move-object v8, v9
goto :goto_c4
:catch_bb
move-exception v0
move-object v10, v8
:goto_bd
move-object v8, v9
goto :goto_fd
:catchall_bf
move-exception v0
move-object v9, v8
goto :goto_122
:catch_c2
move-exception v0
move-object v10, v8
:goto_c4
if-eqz v8, :cond_cf
.line 26
:try_start_c6
invoke-virtual {v8}, Landroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
move-result v2
if-eqz v2, :cond_cf
.line 27
invoke-virtual {v8}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:cond_cf
iget-object v2, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 28
invoke-virtual {v2}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v2
.line 29
invoke-virtual {v2}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v2
const-string v4, "Error writing entry to local database"
invoke-virtual {v2, v4, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
const/4 v2, 0x1
iput-boolean v2, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
:try_end_e1
.catchall {:try_start_c6 .. :try_end_e1} :catchall_11f
if-eqz v10, :cond_e6
.line 30
invoke-interface {v10}, Landroid/database/Cursor;->close()V
:cond_e6
if-eqz v8, :cond_119
goto :goto_116
:catch_e9
move-object v9, v8
:catch_ea
:goto_ea
int-to-long v10, v6
.line 31
:try_start_eb
invoke-static {v10, v11}, Landroid/os/SystemClock;->sleep(J)V
:try_end_ee
.catchall {:try_start_eb .. :try_end_ee} :catchall_b4
add-int/lit8 v6, v6, 0x14
if-eqz v8, :cond_f5
.line 32
invoke-interface {v8}, Landroid/database/Cursor;->close()V
:cond_f5
if-eqz v9, :cond_119
.line 33
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->close()V
goto :goto_119
:catch_fb
move-exception v0
move-object v10, v8
.line 34
:goto_fd
:try_start_fd
iget-object v2, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 35
invoke-virtual {v2}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v2
.line 36
invoke-virtual {v2}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v2
const-string v4, "Error writing entry; local database full"
invoke-virtual {v2, v4, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
const/4 v2, 0x1
iput-boolean v2, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
:try_end_10f
.catchall {:try_start_fd .. :try_end_10f} :catchall_11f
if-eqz v10, :cond_114
.line 37
invoke-interface {v10}, Landroid/database/Cursor;->close()V
:cond_114
if-eqz v8, :cond_119
.line 38
:goto_116
invoke-virtual {v8}, Landroid/database/sqlite/SQLiteDatabase;->close()V
:cond_119
:goto_119
add-int/lit8 v5, v5, 0x1
const/4 v2, 0x0
const/4 v4, 0x5
goto/16 :goto_28
:catchall_11f
move-exception v0
move-object v9, v8
:goto_121
move-object v8, v10
:goto_122
if-eqz v8, :cond_127
.line 39
invoke-interface {v8}, Landroid/database/Cursor;->close()V
:cond_127
if-eqz v9, :cond_12c
.line 40
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->close()V
.line 41
:cond_12c
throw v0
.line 42
:cond_12d
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 43
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
.line 44
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzei;->zzk()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v0
const-string v2, "Failed to write entry to local database"
invoke-virtual {v0, v2}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
const/4 v2, 0x0
return v2
.end method
# virtual methods
.method protected final zze()Z
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public final zzh()V
.registers 4
.line 1
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zze;->zzg()V
.line 2
:try_start_3
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzo()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
if-eqz v0, :cond_25
const-string v1, "messages"
const/4 v2, 0x0
.line 3
invoke-virtual {v0, v1, v2, v2}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
move-result v0
if-lez v0, :cond_25
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 4
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v1
.line 5
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzei;->zzk()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v1
const-string v2, "Reset local analytics data. records"
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v1, v2, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
:try_end_25
.catch Landroid/database/sqlite/SQLiteException; {:try_start_3 .. :try_end_25} :catch_26
:cond_25
return-void
:catch_26
move-exception v0
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 6
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v1
.line 7
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v1
const-string v2, "Error resetting local analytics data. error"
invoke-virtual {v1, v2, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
return-void
.end method
.method public final zzi(Lcom/google/android/gms/measurement/internal/zzas;)Z
.registers 5
.line 1
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
const/4 v1, 0x0
.line 2
invoke-static {p1, v0, v1}, Lcom/google/android/gms/measurement/internal/zzat;->zza(Lcom/google/android/gms/measurement/internal/zzas;Landroid/os/Parcel;I)V
.line 3
invoke-virtual {v0}, Landroid/os/Parcel;->marshall()[B
move-result-object p1
.line 4
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
.line 5
array-length v0, p1
const/high16 v2, 0x20000
if-le v0, v2, :cond_24
iget-object p1, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 6
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object p1
.line 7
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzei;->zzc()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object p1
const-string v0, "Event is too long for local database. Sending event directly to service"
.line 8
invoke-virtual {p1, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
return v1
.line 9
:cond_24
invoke-direct {p0, v1, p1}, Lcom/google/android/gms/measurement/internal/zzec;->zzq(I[B)Z
move-result p1
return p1
.end method
.method public final zzj(Lcom/google/android/gms/measurement/internal/zzkg;)Z
.registers 5
.line 1
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
const/4 v1, 0x0
.line 2
invoke-static {p1, v0, v1}, Lcom/google/android/gms/measurement/internal/zzkh;->zza(Lcom/google/android/gms/measurement/internal/zzkg;Landroid/os/Parcel;I)V
.line 3
invoke-virtual {v0}, Landroid/os/Parcel;->marshall()[B
move-result-object p1
.line 4
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
.line 5
array-length v0, p1
const/high16 v2, 0x20000
if-le v0, v2, :cond_24
iget-object p1, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 6
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object p1
.line 7
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzei;->zzc()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object p1
const-string v0, "User property too long for local database. Sending directly to service"
.line 8
invoke-virtual {p1, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
return v1
:cond_24
const/4 v0, 0x1
.line 9
invoke-direct {p0, v0, p1}, Lcom/google/android/gms/measurement/internal/zzec;->zzq(I[B)Z
move-result p1
return p1
.end method
.method public final zzk(Lcom/google/android/gms/measurement/internal/zzaa;)Z
.registers 4
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 1
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzl()Lcom/google/android/gms/measurement/internal/zzkk;
move-result-object v0
.line 2
invoke-virtual {v0, p1}, Lcom/google/android/gms/measurement/internal/zzkk;->zzX(Landroid/os/Parcelable;)[B
move-result-object p1
.line 3
array-length v0, p1
const/high16 v1, 0x20000
if-le v0, v1, :cond_20
iget-object p1, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 4
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object p1
.line 5
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzei;->zzc()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object p1
const-string v0, "Conditional user property too long for local database. Sending directly to service"
.line 6
invoke-virtual {p1, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
const/4 p1, 0x0
return p1
:cond_20
const/4 v0, 0x2
.line 7
invoke-direct {p0, v0, p1}, Lcom/google/android/gms/measurement/internal/zzec;->zzq(I[B)Z
move-result p1
return p1
.end method
.method public final zzl(I)Ljava/util/List;
.registers 25
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/List<",
"Lcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable;",
">;"
}
.end annotation
move-object/from16 v1, p0
const-string v2, "rowid"
const-string v3, "Error reading entries from local database"
.line 1
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zze;->zzg()V
iget-boolean v0, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
const/4 v4, 0x0
if-eqz v0, :cond_f
return-object v4
:cond_f
new-instance v5, Ljava/util/ArrayList;
.line 2
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
.line 3
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzp()Z
move-result v0
if-eqz v0, :cond_285
const/4 v6, 0x5
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x5
:goto_1e
if-ge v8, v6, :cond_275
const/4 v10, 0x1
.line 4
:try_start_21
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzo()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v15
:try_end_25
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_21 .. :try_end_25} :catch_24b
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_21 .. :try_end_25} :catch_238
.catch Landroid/database/sqlite/SQLiteException; {:try_start_21 .. :try_end_25} :catch_213
.catchall {:try_start_21 .. :try_end_25} :catchall_20f
if-nez v15, :cond_2a
:try_start_27
iput-boolean v10, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
return-object v4
.line 5
:cond_2a
invoke-virtual {v15}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
const-string v0, "3"
:try_end_2f
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_27 .. :try_end_2f} :catch_20b
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_27 .. :try_end_2f} :catch_208
.catch Landroid/database/sqlite/SQLiteException; {:try_start_27 .. :try_end_2f} :catch_204
.catchall {:try_start_27 .. :try_end_2f} :catchall_1ff
:try_start_2f
const-string v12, "messages"
new-array v13, v10, [Ljava/lang/String;
aput-object v2, v13, v7
const-string v14, "type=?"
new-array v11, v10, [Ljava/lang/String;
aput-object v0, v11, v7
const/16 v16, 0x0
const/16 v17, 0x0
const-string v18, "rowid desc"
const-string v19, "1"
:try_end_43
.catchall {:try_start_2f .. :try_end_43} :catchall_1f0
move-object v0, v11
move-object v11, v15
move-object/from16 p1, v15
move-object v15, v0
.line 6
:try_start_48
invoke-virtual/range {v11 .. v19}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v11
:try_end_4c
.catchall {:try_start_48 .. :try_end_4c} :catchall_1ec
.line 7
:try_start_4c
invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
const-wide/16 v20, -0x1
if-eqz v0, :cond_5e
.line 8
invoke-interface {v11, v7}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v12
:try_end_58
.catchall {:try_start_4c .. :try_end_58} :catchall_1e8
if-eqz v11, :cond_79
.line 9
:try_start_5a
invoke-interface {v11}, Landroid/database/Cursor;->close()V
goto :goto_79
:cond_5e
if-eqz v11, :cond_77
invoke-interface {v11}, Landroid/database/Cursor;->close()V
goto :goto_77
:catchall_64
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_201
:catch_69
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_206
:catch_6e
move-object/from16 v13, p1
goto/16 :goto_209
:catch_72
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_20d
:cond_77
:goto_77
move-wide/from16 v12, v20
:cond_79
:goto_79
cmp-long v0, v12, v20
if-eqz v0, :cond_8a
const-string v0, "rowid<?"
new-array v11, v10, [Ljava/lang/String;
.line 10
invoke-static {v12, v13}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v12
aput-object v12, v11, v7
move-object v14, v0
move-object v15, v11
goto :goto_8c
:cond_8a
move-object v14, v4
move-object v15, v14
:goto_8c
const/4 v0, 0x3
new-array v13, v0, [Ljava/lang/String;
aput-object v2, v13, v7
const-string v11, "type"
aput-object v11, v13, v10
const-string v11, "entry"
const/4 v12, 0x2
aput-object v11, v13, v12
const-string v16, "messages"
const/16 v17, 0x0
const/16 v18, 0x0
const-string v19, "rowid asc"
const/16 v11, 0x64
.line 11
invoke-static {v11}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v22
move-object/from16 v11, p1
const/4 v6, 0x2
move-object/from16 v12, v16
move-object/from16 v16, v17
move-object/from16 v17, v18
move-object/from16 v18, v19
move-object/from16 v19, v22
.line 12
invoke-virtual/range {v11 .. v19}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v11
:try_end_b9
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_5a .. :try_end_b9} :catch_72
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_5a .. :try_end_b9} :catch_6e
.catch Landroid/database/sqlite/SQLiteException; {:try_start_5a .. :try_end_b9} :catch_69
.catchall {:try_start_5a .. :try_end_b9} :catchall_64
.line 13
:cond_b9
:goto_b9
:try_start_b9
invoke-interface {v11}, Landroid/database/Cursor;->moveToNext()Z
move-result v12
if-eqz v12, :cond_197
.line 14
invoke-interface {v11, v7}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v20
.line 15
invoke-interface {v11, v10}, Landroid/database/Cursor;->getInt(I)I
move-result v12
.line 16
invoke-interface {v11, v6}, Landroid/database/Cursor;->getBlob(I)[B
move-result-object v13
if-nez v12, :cond_102
.line 17
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v12
:try_end_d1
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_b9 .. :try_end_d1} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_b9 .. :try_end_d1} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_b9 .. :try_end_d1} :catch_1db
.catchall {:try_start_b9 .. :try_end_d1} :catchall_1d6
.line 18
:try_start_d1
array-length v14, v13
invoke-virtual {v12, v13, v7, v14}, Landroid/os/Parcel;->unmarshall([BII)V
.line 19
invoke-virtual {v12, v7}, Landroid/os/Parcel;->setDataPosition(I)V
.line 20
sget-object v13, Lcom/google/android/gms/measurement/internal/zzas;->CREATOR:Landroid/os/Parcelable$Creator;
invoke-interface {v13, v12}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/google/android/gms/measurement/internal/zzas;
:try_end_e0
.catch Lcom/google/android/gms/common/internal/safeparcel/SafeParcelReader$ParseException; {:try_start_d1 .. :try_end_e0} :catch_eb
.catchall {:try_start_d1 .. :try_end_e0} :catchall_e9
.line 21
:try_start_e0
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
if-eqz v13, :cond_b9
.line 22
invoke-interface {v5, v13}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_e8
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_e0 .. :try_end_e8} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_e0 .. :try_end_e8} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_e0 .. :try_end_e8} :catch_1db
.catchall {:try_start_e0 .. :try_end_e8} :catchall_1d6
goto :goto_b9
:catchall_e9
move-exception v0
goto :goto_fe
.line 23
:catch_eb
:try_start_eb
iget-object v13, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 24
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v13
.line 25
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v13
const-string v14, "Failed to load event from local database"
invoke-virtual {v13, v14}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
:try_end_fa
.catchall {:try_start_eb .. :try_end_fa} :catchall_e9
.line 26
:try_start_fa
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
goto :goto_b9
:goto_fe
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
.line 27
throw v0
:cond_102
if-ne v12, v10, :cond_13a
.line 28
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v12
:try_end_108
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_fa .. :try_end_108} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_fa .. :try_end_108} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_fa .. :try_end_108} :catch_1db
.catchall {:try_start_fa .. :try_end_108} :catchall_1d6
.line 29
:try_start_108
array-length v14, v13
invoke-virtual {v12, v13, v7, v14}, Landroid/os/Parcel;->unmarshall([BII)V
.line 30
invoke-virtual {v12, v7}, Landroid/os/Parcel;->setDataPosition(I)V
.line 31
sget-object v13, Lcom/google/android/gms/measurement/internal/zzkg;->CREATOR:Landroid/os/Parcelable$Creator;
invoke-interface {v13, v12}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/google/android/gms/measurement/internal/zzkg;
:try_end_117
.catch Lcom/google/android/gms/common/internal/safeparcel/SafeParcelReader$ParseException; {:try_start_108 .. :try_end_117} :catch_11d
.catchall {:try_start_108 .. :try_end_117} :catchall_11b
.line 32
:try_start_117
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
:try_end_11a
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_117 .. :try_end_11a} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_117 .. :try_end_11a} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_117 .. :try_end_11a} :catch_1db
.catchall {:try_start_117 .. :try_end_11a} :catchall_1d6
goto :goto_130
:catchall_11b
move-exception v0
goto :goto_136
.line 33
:catch_11d
:try_start_11d
iget-object v13, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 34
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v13
.line 35
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v13
const-string v14, "Failed to load user property from local database"
invoke-virtual {v13, v14}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
:try_end_12c
.catchall {:try_start_11d .. :try_end_12c} :catchall_11b
.line 36
:try_start_12c
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
move-object v13, v4
:goto_130
if-eqz v13, :cond_b9
.line 37
invoke-interface {v5, v13}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_b9
.line 38
:goto_136
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
.line 39
throw v0
:cond_13a
if-ne v12, v6, :cond_173
.line 40
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v12
:try_end_140
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_12c .. :try_end_140} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_12c .. :try_end_140} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_12c .. :try_end_140} :catch_1db
.catchall {:try_start_12c .. :try_end_140} :catchall_1d6
.line 41
:try_start_140
array-length v14, v13
invoke-virtual {v12, v13, v7, v14}, Landroid/os/Parcel;->unmarshall([BII)V
.line 42
invoke-virtual {v12, v7}, Landroid/os/Parcel;->setDataPosition(I)V
.line 43
sget-object v13, Lcom/google/android/gms/measurement/internal/zzaa;->CREATOR:Landroid/os/Parcelable$Creator;
.line 44
invoke-interface {v13, v12}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/google/android/gms/measurement/internal/zzaa;
:try_end_14f
.catch Lcom/google/android/gms/common/internal/safeparcel/SafeParcelReader$ParseException; {:try_start_140 .. :try_end_14f} :catch_155
.catchall {:try_start_140 .. :try_end_14f} :catchall_153
.line 45
:try_start_14f
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
:try_end_152
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_14f .. :try_end_152} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_14f .. :try_end_152} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_14f .. :try_end_152} :catch_1db
.catchall {:try_start_14f .. :try_end_152} :catchall_1d6
goto :goto_168
:catchall_153
move-exception v0
goto :goto_16f
.line 46
:catch_155
:try_start_155
iget-object v13, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 47
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v13
.line 48
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v13
const-string v14, "Failed to load conditional user property from local database"
.line 49
invoke-virtual {v13, v14}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
:try_end_164
.catchall {:try_start_155 .. :try_end_164} :catchall_153
.line 50
:try_start_164
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
move-object v13, v4
:goto_168
if-eqz v13, :cond_b9
.line 51
invoke-interface {v5, v13}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_b9
.line 52
:goto_16f
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
.line 53
throw v0
:cond_173
if-ne v12, v0, :cond_186
.line 54
iget-object v12, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 55
invoke-virtual {v12}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v12
.line 56
invoke-virtual {v12}, Lcom/google/android/gms/measurement/internal/zzei;->zze()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v12
const-string v13, "Skipping app launch break"
invoke-virtual {v12, v13}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
goto/16 :goto_b9
:cond_186
iget-object v12, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 57
invoke-virtual {v12}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v12
.line 58
invoke-virtual {v12}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v12
const-string v13, "Unknown record type in local database"
invoke-virtual {v12, v13}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
goto/16 :goto_b9
:cond_197
new-array v0, v10, [Ljava/lang/String;
.line 59
invoke-static/range {v20 .. v21}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v6
aput-object v6, v0, v7
const-string v6, "messages"
const-string v12, "rowid <= ?"
:try_end_1a3
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_164 .. :try_end_1a3} :catch_1e3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_164 .. :try_end_1a3} :catch_1df
.catch Landroid/database/sqlite/SQLiteException; {:try_start_164 .. :try_end_1a3} :catch_1db
.catchall {:try_start_164 .. :try_end_1a3} :catchall_1d6
move-object/from16 v13, p1
.line 60
:try_start_1a5
invoke-virtual {v13, v6, v12, v0}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
move-result v0
.line 61
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v6
if-ge v0, v6, :cond_1be
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 62
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
.line 63
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v0
const-string v6, "Fewer entries removed from local database than expected"
invoke-virtual {v0, v6}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
.line 64
:cond_1be
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
.line 65
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:try_end_1c4
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_1a5 .. :try_end_1c4} :catch_1d3
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_1a5 .. :try_end_1c4} :catch_23a
.catch Landroid/database/sqlite/SQLiteException; {:try_start_1a5 .. :try_end_1c4} :catch_1d0
.catchall {:try_start_1a5 .. :try_end_1c4} :catchall_1cd
if-eqz v11, :cond_1c9
.line 66
invoke-interface {v11}, Landroid/database/Cursor;->close()V
.line 67
:cond_1c9
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->close()V
return-object v5
:catchall_1cd
move-exception v0
goto/16 :goto_26a
:catch_1d0
move-exception v0
goto/16 :goto_216
:catch_1d3
move-exception v0
goto/16 :goto_24e
:catchall_1d6
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_26a
:catch_1db
move-exception v0
move-object/from16 v13, p1
goto :goto_216
:catch_1df
move-object/from16 v13, p1
goto/16 :goto_23a
:catch_1e3
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_24e
:catchall_1e8
move-exception v0
move-object/from16 v13, p1
goto :goto_1f3
:catchall_1ec
move-exception v0
move-object/from16 v13, p1
goto :goto_1f2
:catchall_1f0
move-exception v0
move-object v13, v15
:goto_1f2
move-object v11, v4
:goto_1f3
if-eqz v11, :cond_1f8
.line 68
:try_start_1f5
invoke-interface {v11}, Landroid/database/Cursor;->close()V
.line 69
:cond_1f8
throw v0
:try_end_1f9
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_1f5 .. :try_end_1f9} :catch_1fd
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_1f5 .. :try_end_1f9} :catch_209
.catch Landroid/database/sqlite/SQLiteException; {:try_start_1f5 .. :try_end_1f9} :catch_1fb
.catchall {:try_start_1f5 .. :try_end_1f9} :catchall_1f9
:catchall_1f9
move-exception v0
goto :goto_201
:catch_1fb
move-exception v0
goto :goto_206
:catch_1fd
move-exception v0
goto :goto_20d
:catchall_1ff
move-exception v0
move-object v13, v15
:goto_201
move-object v11, v4
goto/16 :goto_26a
:catch_204
move-exception v0
move-object v13, v15
:goto_206
move-object v11, v4
goto :goto_216
:catch_208
move-object v13, v15
:catch_209
:goto_209
move-object v11, v4
goto :goto_23a
:catch_20b
move-exception v0
move-object v13, v15
:goto_20d
move-object v11, v4
goto :goto_24e
:catchall_20f
move-exception v0
move-object v11, v4
move-object v13, v11
goto :goto_26a
:catch_213
move-exception v0
move-object v11, v4
move-object v13, v11
:goto_216
if-eqz v13, :cond_221
.line 70
:try_start_218
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
move-result v6
if-eqz v6, :cond_221
.line 71
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:cond_221
iget-object v6, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 72
invoke-virtual {v6}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v6
.line 73
invoke-virtual {v6}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v6
invoke-virtual {v6, v3, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
iput-boolean v10, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
:try_end_230
.catchall {:try_start_218 .. :try_end_230} :catchall_1cd
if-eqz v11, :cond_235
.line 74
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_235
if-eqz v13, :cond_265
goto :goto_247
:catch_238
move-object v11, v4
move-object v13, v11
:catch_23a
:goto_23a
int-to-long v14, v9
.line 75
:try_start_23b
invoke-static {v14, v15}, Landroid/os/SystemClock;->sleep(J)V
:try_end_23e
.catchall {:try_start_23b .. :try_end_23e} :catchall_1cd
add-int/lit8 v9, v9, 0x14
if-eqz v11, :cond_245
.line 76
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_245
if-eqz v13, :cond_265
.line 77
:goto_247
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->close()V
goto :goto_265
:catch_24b
move-exception v0
move-object v11, v4
move-object v13, v11
.line 78
:goto_24e
:try_start_24e
iget-object v6, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 79
invoke-virtual {v6}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v6
.line 80
invoke-virtual {v6}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v6
invoke-virtual {v6, v3, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
iput-boolean v10, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
:try_end_25d
.catchall {:try_start_24e .. :try_end_25d} :catchall_1cd
if-eqz v11, :cond_262
.line 81
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_262
if-eqz v13, :cond_265
goto :goto_247
:cond_265
:goto_265
add-int/lit8 v8, v8, 0x1
const/4 v6, 0x5
goto/16 :goto_1e
:goto_26a
if-eqz v11, :cond_26f
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_26f
if-eqz v13, :cond_274
.line 82
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->close()V
.line 83
:cond_274
throw v0
.line 84
:cond_275
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 85
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
.line 86
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzei;->zze()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v0
const-string v2, "Failed to read events from database in reasonable time"
invoke-virtual {v0, v2}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
return-object v4
:cond_285
return-object v5
.end method
.method public final zzm()Z
.registers 3
const/4 v0, 0x0
new-array v0, v0, [B
const/4 v1, 0x3
.line 1
invoke-direct {p0, v1, v0}, Lcom/google/android/gms/measurement/internal/zzec;->zzq(I[B)Z
move-result v0
return v0
.end method
.method public final zzn()Z
.registers 11
const-string v0, "Error deleting app launch break from local database"
.line 1
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zze;->zzg()V
iget-boolean v1, p0, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
const/4 v2, 0x0
if-eqz v1, :cond_b
return v2
.line 2
:cond_b
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzp()Z
move-result v1
if-eqz v1, :cond_97
const/4 v1, 0x5
const/4 v3, 0x0
const/4 v4, 0x5
:goto_14
if-ge v3, v1, :cond_88
const/4 v5, 0x0
const/4 v6, 0x1
.line 3
:try_start_18
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzo()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v5
if-nez v5, :cond_21
iput-boolean v6, p0, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
return v2
.line 4
:cond_21
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
new-array v7, v6, [Ljava/lang/String;
const/4 v8, 0x3
.line 5
invoke-static {v8}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v8
aput-object v8, v7, v2
const-string v8, "messages"
const-string v9, "type == ?"
.line 6
invoke-virtual {v5, v8, v9, v7}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
.line 7
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
.line 8
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:try_end_3a
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_18 .. :try_end_3a} :catch_42
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_18 .. :try_end_3a} :catch_61
.catch Landroid/database/sqlite/SQLiteException; {:try_start_18 .. :try_end_3a} :catch_40
.catchall {:try_start_18 .. :try_end_3a} :catchall_3e
.line 9
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->close()V
return v6
:catchall_3e
move-exception v0
goto :goto_82
:catch_40
move-exception v7
goto :goto_44
:catch_42
move-exception v7
goto :goto_6d
:goto_44
if-eqz v5, :cond_4f
.line 10
:try_start_46
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
move-result v8
if-eqz v8, :cond_4f
.line 11
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:cond_4f
iget-object v8, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 12
invoke-virtual {v8}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v8
.line 13
invoke-virtual {v8}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v8
invoke-virtual {v8, v0, v7}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
iput-boolean v6, p0, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
if-eqz v5, :cond_7f
goto :goto_69
:catch_61
int-to-long v6, v4
.line 14
invoke-static {v6, v7}, Landroid/os/SystemClock;->sleep(J)V
:try_end_65
.catchall {:try_start_46 .. :try_end_65} :catchall_3e
add-int/lit8 v4, v4, 0x14
if-eqz v5, :cond_7f
.line 15
:goto_69
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->close()V
goto :goto_7f
.line 16
:goto_6d
:try_start_6d
iget-object v8, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 17
invoke-virtual {v8}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v8
.line 18
invoke-virtual {v8}, Lcom/google/android/gms/measurement/internal/zzei;->zzb()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v8
invoke-virtual {v8, v0, v7}, Lcom/google/android/gms/measurement/internal/zzeg;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
iput-boolean v6, p0, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
:try_end_7c
.catchall {:try_start_6d .. :try_end_7c} :catchall_3e
if-eqz v5, :cond_7f
goto :goto_69
:cond_7f
:goto_7f
add-int/lit8 v3, v3, 0x1
goto :goto_14
:goto_82
if-eqz v5, :cond_87
.line 19
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->close()V
.line 20
:cond_87
throw v0
.line 21
:cond_88
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
.line 22
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
.line 23
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzei;->zze()Lcom/google/android/gms/measurement/internal/zzeg;
move-result-object v0
const-string v1, "Error deleting app launch break from local database in reasonable time"
.line 24
invoke-virtual {v0, v1}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
:cond_97
return v2
.end method
.method final zzo()Landroid/database/sqlite/SQLiteDatabase;
.registers 3
.annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/database/sqlite/SQLiteException;
}
.end annotation
iget-boolean v0, p0, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
const/4 v1, 0x0
if-eqz v0, :cond_6
return-object v1
:cond_