k.smali
.class public Landroidx/room/k;
.super Le/u/a/c$a;
.source ""
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/room/k$a;
}
.end annotation
# instance fields
.field private b:Landroidx/room/a;
.field private final c:Landroidx/room/k$a;
.field private final d:Ljava/lang/String;
.field private final e:Ljava/lang/String;
# direct methods
.method public constructor <init>(Landroidx/room/a;Landroidx/room/k$a;Ljava/lang/String;Ljava/lang/String;)V
.registers 6
iget v0, p2, Landroidx/room/k$a;->a:I
invoke-direct {p0, v0}, Le/u/a/c$a;-><init>(I)V
iput-object p1, p0, Landroidx/room/k;->b:Landroidx/room/a;
iput-object p2, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
iput-object p3, p0, Landroidx/room/k;->d:Ljava/lang/String;
iput-object p4, p0, Landroidx/room/k;->e:Ljava/lang/String;
return-void
.end method
.method private h(Le/u/a/b;)V
.registers 5
invoke-static {p1}, Landroidx/room/k;->j(Le/u/a/b;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_27
new-instance v0, Le/u/a/a;
const-string v2, "SELECT identity_hash FROM room_master_table WHERE id = 42 LIMIT 1"
invoke-direct {v0, v2}, Le/u/a/a;-><init>(Ljava/lang/String;)V
invoke-interface {p1, v0}, Le/u/a/b;->P(Le/u/a/e;)Landroid/database/Cursor;
move-result-object p1
:try_start_12
invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
if-eqz v0, :cond_1e
const/4 v0, 0x0
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
:try_end_1d
.catchall {:try_start_12 .. :try_end_1d} :catchall_22
move-object v1, v0
:cond_1e
invoke-interface {p1}, Landroid/database/Cursor;->close()V
goto :goto_27
:catchall_22
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
throw v0
:cond_27
:goto_27
iget-object p1, p0, Landroidx/room/k;->d:Ljava/lang/String;
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_40
iget-object p1, p0, Landroidx/room/k;->e:Ljava/lang/String;
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_38
goto :goto_40
:cond_38
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Room cannot verify the data integrity. Looks like you\'ve changed schema but forgot to update the version number. You can simply fix this by increasing the version number."
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_40
:goto_40
return-void
.end method
.method private i(Le/u/a/b;)V
.registers 3
const-string v0, "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)"
invoke-interface {p1, v0}, Le/u/a/b;->i(Ljava/lang/String;)V
return-void
.end method
.method private static j(Le/u/a/b;)Z
.registers 3
const-string v0, "SELECT 1 FROM sqlite_master WHERE type = \'table\' AND name=\'room_master_table\'"
invoke-interface {p0, v0}, Le/u/a/b;->H(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p0
:try_start_6
invoke-interface {p0}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_14
invoke-interface {p0, v1}, Landroid/database/Cursor;->getInt(I)I
move-result v0
:try_end_11
.catchall {:try_start_6 .. :try_end_11} :catchall_18
if-eqz v0, :cond_14
const/4 v1, 0x1
:cond_14
invoke-interface {p0}, Landroid/database/Cursor;->close()V
return v1
:catchall_18
move-exception v0
invoke-interface {p0}, Landroid/database/Cursor;->close()V
throw v0
.end method
.method private k(Le/u/a/b;)V
.registers 3
invoke-direct {p0, p1}, Landroidx/room/k;->i(Le/u/a/b;)V
iget-object v0, p0, Landroidx/room/k;->d:Ljava/lang/String;
invoke-static {v0}, Landroidx/room/j;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-interface {p1, v0}, Le/u/a/b;->i(Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public b(Le/u/a/b;)V
.registers 2
invoke-super {p0, p1}, Le/u/a/c$a;->b(Le/u/a/b;)V
return-void
.end method
.method public d(Le/u/a/b;)V
.registers 3
invoke-direct {p0, p1}, Landroidx/room/k;->k(Le/u/a/b;)V
iget-object v0, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {v0, p1}, Landroidx/room/k$a;->a(Le/u/a/b;)V
iget-object v0, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {v0, p1}, Landroidx/room/k$a;->c(Le/u/a/b;)V
return-void
.end method
.method public e(Le/u/a/b;II)V
.registers 4
invoke-virtual {p0, p1, p2, p3}, Landroidx/room/k;->g(Le/u/a/b;II)V
return-void
.end method
.method public f(Le/u/a/b;)V
.registers 3
invoke-super {p0, p1}, Le/u/a/c$a;->f(Le/u/a/b;)V
invoke-direct {p0, p1}, Landroidx/room/k;->h(Le/u/a/b;)V
iget-object v0, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {v0, p1}, Landroidx/room/k$a;->d(Le/u/a/b;)V
const/4 p1, 0x0
iput-object p1, p0, Landroidx/room/k;->b:Landroidx/room/a;
return-void
.end method
.method public g(Le/u/a/b;II)V
.registers 6
iget-object v0, p0, Landroidx/room/k;->b:Landroidx/room/a;
if-eqz v0, :cond_34
iget-object v0, v0, Landroidx/room/a;->d:Landroidx/room/i$d;
invoke-virtual {v0, p2, p3}, Landroidx/room/i$d;->c(II)Ljava/util/List;
move-result-object v0
if-eqz v0, :cond_34
iget-object v1, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {v1, p1}, Landroidx/room/k$a;->f(Le/u/a/b;)V
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_15
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_25
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/room/o/a;
invoke-virtual {v1, p1}, Landroidx/room/o/a;->a(Le/u/a/b;)V
goto :goto_15
:cond_25
iget-object v0, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {v0, p1}, Landroidx/room/k$a;->g(Le/u/a/b;)V
iget-object v0, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {v0, p1}, Landroidx/room/k$a;->e(Le/u/a/b;)V
invoke-direct {p0, p1}, Landroidx/room/k;->k(Le/u/a/b;)V
const/4 v0, 0x1
goto :goto_35
:cond_34
const/4 v0, 0x0
:goto_35
if-nez v0, :cond_70
iget-object v0, p0, Landroidx/room/k;->b:Landroidx/room/a;
if-eqz v0, :cond_4c
invoke-virtual {v0, p2, p3}, Landroidx/room/a;->a(II)Z
move-result v0
if-nez v0, :cond_4c
iget-object p2, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {p2, p1}, Landroidx/room/k$a;->b(Le/u/a/b;)V
iget-object p2, p0, Landroidx/room/k;->c:Landroidx/room/k$a;
invoke-virtual {p2, p1}, Landroidx/room/k$a;->a(Le/u/a/b;)V
goto :goto_70
:cond_4c
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "A migration from "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " to "
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " was required but not found. Please provide the necessary Migration path via RoomDatabase.Builder.addMigration(Migration ...) or allow for destructive migrations via one of the RoomDatabase.Builder.fallbackToDestructiveMigration* methods."
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_70
:goto_70
return-void
.end method