zzec.smali
.class public final Lcom/google/android/gms/measurement/internal/zzec;
.super Lcom/google/android/gms/measurement/internal/zzf;
.source ""
# 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
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;
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;
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"
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
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zzge;->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;
invoke-direct {v3}, Landroid/content/ContentValues;-><init>()V
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
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;
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
: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
:cond_35
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
const-string v0, "select count(1) from messages"
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
:try_start_42
invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
if-eqz v0, :cond_54
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;
invoke-virtual {v15}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v15
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;
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 ?)"
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;
invoke-virtual {v4}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v4
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"
invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
invoke-static {v11, v12}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
sub-long/2addr v13, v11
invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v11
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
:cond_9f
invoke-virtual {v9, v0, v8, v3}, Landroid/database/sqlite/SQLiteDatabase;->insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
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
invoke-interface {v10}, Landroid/database/Cursor;->close()V
: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
:try_start_c6
invoke-virtual {v8}, Landroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
move-result v2
if-eqz v2, :cond_cf
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;
invoke-virtual {v2}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v2
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
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
: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
invoke-interface {v8}, Landroid/database/Cursor;->close()V
:cond_f5
if-eqz v9, :cond_119
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->close()V
goto :goto_119
:catch_fb
move-exception v0
move-object v10, v8
:goto_fd
:try_start_fd
iget-object v2, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v2}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v2
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
invoke-interface {v10}, Landroid/database/Cursor;->close()V
:cond_114
if-eqz v8, :cond_119
: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
invoke-interface {v8}, Landroid/database/Cursor;->close()V
:cond_127
if-eqz v9, :cond_12c
invoke-virtual {v9}, Landroid/database/sqlite/SQLiteDatabase;->close()V
:cond_12c
throw v0
:cond_12d
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
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
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zzge;->zzg()V
: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
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;
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v1
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;
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v1
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
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
const/4 v1, 0x0
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
invoke-virtual {v0}, Landroid/os/Parcel;->marshall()[B
move-result-object p1
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
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;
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object p1
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"
invoke-virtual {p1, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
return v1
: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
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
const/4 v1, 0x0
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
invoke-virtual {v0}, Landroid/os/Parcel;->marshall()[B
move-result-object p1
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
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;
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object p1
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"
invoke-virtual {p1, v0}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
return v1
:cond_24
const/4 v0, 0x1
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;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzl()Lcom/google/android/gms/measurement/internal/zzkk;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/android/gms/measurement/internal/zzkk;->zzX(Landroid/os/Parcelable;)[B
move-result-object p1
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;
invoke-virtual {p1}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object p1
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"
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
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"
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zzge;->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;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/measurement/internal/zzec;->zzp()Z
move-result v0
if-eqz v0, :cond_27a
const/4 v6, 0x5
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x5
:goto_1e
if-ge v8, v6, :cond_26a
const/4 v10, 0x1
: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_23e
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_21 .. :try_end_25} :catch_22b
.catch Landroid/database/sqlite/SQLiteException; {:try_start_21 .. :try_end_25} :catch_206
.catchall {:try_start_21 .. :try_end_25} :catchall_203
if-nez v15, :cond_2a
:try_start_27
iput-boolean v10, v1, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
return-object v4
: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_1fe
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_27 .. :try_end_2f} :catch_1fa
.catch Landroid/database/sqlite/SQLiteException; {:try_start_27 .. :try_end_2f} :catch_1f5
.catchall {:try_start_27 .. :try_end_2f} :catchall_1f0
: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_1e1
move-object v0, v11
move-object v11, v15
move-object/from16 p1, v15
move-object v15, v0
: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_1dd
:try_start_4c
invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
const-wide/16 v20, -0x1
if-eqz v0, :cond_5e
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_1d9
if-eqz v11, :cond_79
: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_1f2
:catch_69
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_1f7
:catch_6e
move-object/from16 v13, p1
goto/16 :goto_1fb
:catch_72
move-exception v0
move-object/from16 v13, p1
goto/16 :goto_200
: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;
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
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
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
:cond_b9
:goto_b9
:try_start_b9
invoke-interface {v11}, Landroid/database/Cursor;->moveToNext()Z
move-result v12
if-eqz v12, :cond_18d
invoke-interface {v11, v7}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v20
invoke-interface {v11, v10}, Landroid/database/Cursor;->getInt(I)I
move-result v12
invoke-interface {v11, v6}, Landroid/database/Cursor;->getBlob(I)[B
move-result-object v13
if-nez v12, :cond_102
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_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_b9 .. :try_end_d1} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_b9 .. :try_end_d1} :catch_1ce
.catchall {:try_start_b9 .. :try_end_d1} :catchall_1c9
:try_start_d1
array-length v14, v13
invoke-virtual {v12, v13, v7, v14}, Landroid/os/Parcel;->unmarshall([BII)V
invoke-virtual {v12, v7}, Landroid/os/Parcel;->setDataPosition(I)V
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
:try_start_e0
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
if-eqz v13, :cond_b9
:goto_e5
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_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_e0 .. :try_end_e8} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_e0 .. :try_end_e8} :catch_1ce
.catchall {:try_start_e0 .. :try_end_e8} :catchall_1c9
goto :goto_b9
:catchall_e9
move-exception v0
goto :goto_fe
:catch_eb
:try_start_eb
iget-object v13, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v13
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
:try_start_fa
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
goto :goto_b9
:goto_fe
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
throw v0
:cond_102
if-ne v12, v10, :cond_137
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_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_fa .. :try_end_108} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_fa .. :try_end_108} :catch_1ce
.catchall {:try_start_fa .. :try_end_108} :catchall_1c9
:try_start_108
array-length v14, v13
invoke-virtual {v12, v13, v7, v14}, Landroid/os/Parcel;->unmarshall([BII)V
invoke-virtual {v12, v7}, Landroid/os/Parcel;->setDataPosition(I)V
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
: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_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_117 .. :try_end_11a} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_117 .. :try_end_11a} :catch_1ce
.catchall {:try_start_117 .. :try_end_11a} :catchall_1c9
goto :goto_130
:catchall_11b
move-exception v0
goto :goto_133
:catch_11d
:try_start_11d
iget-object v13, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v13
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
:try_start_12c
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
move-object v13, v4
:goto_130
if-eqz v13, :cond_b9
goto :goto_e5
:goto_133
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
throw v0
:cond_137
if-ne v12, v6, :cond_16d
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v12
:try_end_13d
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_12c .. :try_end_13d} :catch_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_12c .. :try_end_13d} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_12c .. :try_end_13d} :catch_1ce
.catchall {:try_start_12c .. :try_end_13d} :catchall_1c9
:try_start_13d
array-length v14, v13
invoke-virtual {v12, v13, v7, v14}, Landroid/os/Parcel;->unmarshall([BII)V
invoke-virtual {v12, v7}, Landroid/os/Parcel;->setDataPosition(I)V
sget-object v13, Lcom/google/android/gms/measurement/internal/zzaa;->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/zzaa;
:try_end_14c
.catch Lcom/google/android/gms/common/internal/safeparcel/SafeParcelReader$ParseException; {:try_start_13d .. :try_end_14c} :catch_152
.catchall {:try_start_13d .. :try_end_14c} :catchall_150
:try_start_14c
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
:try_end_14f
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_14c .. :try_end_14f} :catch_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_14c .. :try_end_14f} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_14c .. :try_end_14f} :catch_1ce
.catchall {:try_start_14c .. :try_end_14f} :catchall_1c9
goto :goto_165
:catchall_150
move-exception v0
goto :goto_169
:catch_152
:try_start_152
iget-object v13, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v13}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v13
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"
invoke-virtual {v13, v14}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
:try_end_161
.catchall {:try_start_152 .. :try_end_161} :catchall_150
:try_start_161
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
move-object v13, v4
:goto_165
if-eqz v13, :cond_b9
goto/16 :goto_e5
:goto_169
invoke-virtual {v12}, Landroid/os/Parcel;->recycle()V
throw v0
:cond_16d
if-ne v12, v0, :cond_180
iget-object v12, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v12}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v12
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"
:goto_17b
invoke-virtual {v12, v13}, Lcom/google/android/gms/measurement/internal/zzeg;->zza(Ljava/lang/String;)V
goto/16 :goto_b9
:cond_180
iget-object v12, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v12}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v12
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"
goto :goto_17b
:cond_18d
new-array v0, v10, [Ljava/lang/String;
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_199
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_161 .. :try_end_199} :catch_1d5
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_161 .. :try_end_199} :catch_1d2
.catch Landroid/database/sqlite/SQLiteException; {:try_start_161 .. :try_end_199} :catch_1ce
.catchall {:try_start_161 .. :try_end_199} :catchall_1c9
move-object/from16 v13, p1
:try_start_19b
invoke-virtual {v13, v6, v12, v0}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
move-result v0
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v6
if-ge v0, v6, :cond_1b4
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
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
:cond_1b4
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:try_end_1ba
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_19b .. :try_end_1ba} :catch_1c7
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_19b .. :try_end_1ba} :catch_1fc
.catch Landroid/database/sqlite/SQLiteException; {:try_start_19b .. :try_end_1ba} :catch_1c5
.catchall {:try_start_19b .. :try_end_1ba} :catchall_1c3
if-eqz v11, :cond_1bf
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_1bf
invoke-virtual {v13}, Landroid/database/sqlite/SQLiteDatabase;->close()V
return-object v5
:catchall_1c3
move-exception v0
goto :goto_1cc
:catch_1c5
move-exception v0
goto :goto_1f8
:catch_1c7
move-exception v0
goto :goto_201
:catchall_1c9
move-exception v0
move-object/from16 v13, p1
:goto_1cc
move-object v4, v11
goto :goto_1f2
:catch_1ce
move-exception v0
move-object/from16 v13, p1
goto :goto_1f8
:catch_1d2
move-object/from16 v13, p1
goto :goto_1fc
:catch_1d5
move-exception v0
move-object/from16 v13, p1
goto :goto_201
:catchall_1d9
move-exception v0
move-object/from16 v13, p1
goto :goto_1e4
:catchall_1dd
move-exception v0
move-object/from16 v13, p1
goto :goto_1e3
:catchall_1e1
move-exception v0
move-object v13, v15
:goto_1e3
move-object v11, v4
:goto_1e4
if-eqz v11, :cond_1e9
:try_start_1e6
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_1e9
throw v0
:try_end_1ea
.catch Landroid/database/sqlite/SQLiteFullException; {:try_start_1e6 .. :try_end_1ea} :catch_1ee
.catch Landroid/database/sqlite/SQLiteDatabaseLockedException; {:try_start_1e6 .. :try_end_1ea} :catch_1fb
.catch Landroid/database/sqlite/SQLiteException; {:try_start_1e6 .. :try_end_1ea} :catch_1ec
.catchall {:try_start_1e6 .. :try_end_1ea} :catchall_1ea
:catchall_1ea
move-exception v0
goto :goto_1f2
:catch_1ec
move-exception v0
goto :goto_1f7
:catch_1ee
move-exception v0
goto :goto_200
:catchall_1f0
move-exception v0
move-object v13, v15
:goto_1f2
move-object v15, v13
goto/16 :goto_25f
:catch_1f5
move-exception v0
move-object v13, v15
:goto_1f7
move-object v11, v4
:goto_1f8
move-object v15, v13
goto :goto_209
:catch_1fa
move-object v13, v15
:catch_1fb
:goto_1fb
move-object v11, v4
:catch_1fc
:goto_1fc
move-object v15, v13
goto :goto_22d
:catch_1fe
move-exception v0
move-object v13, v15
:goto_200
move-object v11, v4
:goto_201
move-object v15, v13
goto :goto_241
:catchall_203
move-exception v0
move-object v15, v4
goto :goto_25f
:catch_206
move-exception v0
move-object v11, v4
move-object v15, v11
:goto_209
if-eqz v15, :cond_214
:try_start_20b
invoke-virtual {v15}, Landroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
move-result v6
if-eqz v6, :cond_214
invoke-virtual {v15}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
:cond_214
iget-object v6, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v6}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v6
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_223
.catchall {:try_start_20b .. :try_end_223} :catchall_25d
if-eqz v11, :cond_228
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_228
if-eqz v15, :cond_258
goto :goto_23a
:catch_22b
move-object v11, v4
move-object v15, v11
:goto_22d
int-to-long v12, v9
:try_start_22e
invoke-static {v12, v13}, Landroid/os/SystemClock;->sleep(J)V
:try_end_231
.catchall {:try_start_22e .. :try_end_231} :catchall_25d
add-int/lit8 v9, v9, 0x14
if-eqz v11, :cond_238
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_238
if-eqz v15, :cond_258
:goto_23a
invoke-virtual {v15}, Landroid/database/sqlite/SQLiteDatabase;->close()V
goto :goto_258
:catch_23e
move-exception v0
move-object v11, v4
move-object v15, v11
:goto_241
:try_start_241
iget-object v6, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v6}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v6
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_250
.catchall {:try_start_241 .. :try_end_250} :catchall_25d
if-eqz v11, :cond_255
invoke-interface {v11}, Landroid/database/Cursor;->close()V
:cond_255
if-eqz v15, :cond_258
goto :goto_23a
:cond_258
:goto_258
add-int/lit8 v8, v8, 0x1
const/4 v6, 0x5
goto/16 :goto_1e
:catchall_25d
move-exception v0
move-object v4, v11
:goto_25f
if-eqz v4, :cond_264
invoke-interface {v4}, Landroid/database/Cursor;->close()V
:cond_264
if-eqz v15, :cond_269
invoke-virtual {v15}, Landroid/database/sqlite/SQLiteDatabase;->close()V
:cond_269
throw v0
:cond_26a
iget-object v0, v1, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
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_27a
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
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"
invoke-virtual {p0}, Lcom/google/android/gms/measurement/internal/zzge;->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
: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
: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
:cond_21
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
new-array v7, v6, [Ljava/lang/String;
const/4 v8, 0x3
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 == ?"
invoke-virtual {v5, v8, v9, v7}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
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
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
:try_start_46
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
move-result v8
if-eqz v8, :cond_4f
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;
invoke-virtual {v8}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v8
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
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
:goto_69
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->close()V
goto :goto_7f
:goto_6d
:try_start_6d
iget-object v8, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v8}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v8
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
invoke-virtual {v5}, Landroid/database/sqlite/SQLiteDatabase;->close()V
:cond_87
throw v0
:cond_88
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzfl;->zzat()Lcom/google/android/gms/measurement/internal/zzei;
move-result-object v0
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"
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
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_6
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzec;->zza:Lcom/google/android/gms/measurement/internal/zzeb;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzeb;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
if-nez v0, :cond_12
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/gms/measurement/internal/zzec;->zzb:Z
return-object v1
:cond_12
return-object v0
.end method
.method final zzp()Z
.registers 3
.annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
.end annotation
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzge;->zzx:Lcom/google/android/gms/measurement/internal/zzfl;
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;
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"
invoke-virtual {v0, v1}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
return v0
.end method