Files
rr3-apk/smali/androidx/room/util/TableInfoKt.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

1043 lines
26 KiB
Smali

.class public final Landroidx/room/util/TableInfoKt;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Lkotlin/jvm/internal/SourceDebugExtension;
value = {
"SMAP\nTableInfo.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfoKt\n+ 2 CursorUtil.kt\nandroidx/room/util/CursorUtil\n+ 3 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,646:1\n145#2,2:647\n148#2,2:654\n151#2:660\n145#2,7:661\n145#2,7:668\n145#2,7:675\n766#3:649\n857#3,2:650\n1855#3,2:652\n857#3,2:656\n1855#3,2:658\n*S KotlinDebug\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfoKt\n*L\n477#1:647,2\n477#1:654,2\n477#1:660\n542#1:661,7\n580#1:668,7\n613#1:675,7\n497#1:649\n497#1:650,2\n499#1:652,2\n497#1:656,2\n499#1:658,2\n*E\n"
}
.end annotation
# direct methods
.method private static final readColumns(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Map;
.locals 18
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/sqlite/db/SupportSQLiteDatabase;",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroidx/room/util/TableInfo$Column;",
">;"
}
.end annotation
const-string v0, "type"
const-string v1, "name"
.line 542
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "PRAGMA table_info(`"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-object/from16 v3, p1
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "`)"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
move-object/from16 v3, p0
invoke-interface {v3, v2}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v2
.line 543
:try_start_0
invoke-interface {v2}, Landroid/database/Cursor;->getColumnCount()I
move-result v3
const/4 v4, 0x0
if-gtz v3, :cond_0
.line 544
invoke-static {}, Lkotlin/collections/MapsKt;->emptyMap()Ljava/util/Map;
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {v2, v4}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object v0
:catchall_0
move-exception v0
move-object v1, v0
goto :goto_3
.line 547
:cond_0
:try_start_1
invoke-interface {v2, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
.line 548
invoke-interface {v2, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v5
const-string v6, "notnull"
.line 549
invoke-interface {v2, v6}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v6
const-string v7, "pk"
.line 550
invoke-interface {v2, v7}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v7
const-string v8, "dflt_value"
.line 551
invoke-interface {v2, v8}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v8
.line 553
invoke-static {}, Lkotlin/collections/MapsKt;->createMapBuilder()Ljava/util/Map;
move-result-object v9
.line 554
:goto_0
invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
move-result v10
if-eqz v10, :cond_2
.line 555
invoke-interface {v2, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v10
.line 556
invoke-interface {v2, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v13
.line 557
invoke-interface {v2, v6}, Landroid/database/Cursor;->getInt(I)I
move-result v11
if-eqz v11, :cond_1
const/4 v11, 0x1
:goto_1
move v14, v11
goto :goto_2
:cond_1
const/4 v11, 0x0
goto :goto_1
.line 558
:goto_2
invoke-interface {v2, v7}, Landroid/database/Cursor;->getInt(I)I
move-result v15
.line 559
invoke-interface {v2, v8}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v16
.line 561
invoke-static {v10, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 562
new-instance v12, Landroidx/room/util/TableInfo$Column;
.line 564
invoke-static {v13, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
const/16 v17, 0x2
move-object v11, v12
move-object v4, v12
move-object v12, v10
.line 562
invoke-direct/range {v11 .. v17}, Landroidx/room/util/TableInfo$Column;-><init>(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;I)V
.line 560
invoke-interface {v9, v10, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const/4 v4, 0x0
goto :goto_0
.line 553
:cond_2
invoke-static {v9}, Lkotlin/collections/MapsKt;->build(Ljava/util/Map;)Ljava/util/Map;
move-result-object v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
const/4 v1, 0x0
invoke-static {v2, v1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object v0
:goto_3
:try_start_2
throw v1
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
:catchall_1
move-exception v0
move-object v3, v0
invoke-static {v2, v1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
throw v3
.end method
.method private static final readForeignKeyFieldMappings(Landroid/database/Cursor;)Ljava/util/List;
.locals 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/database/Cursor;",
")",
"Ljava/util/List<",
"Landroidx/room/util/TableInfo$ForeignKeyWithSequence;",
">;"
}
.end annotation
const-string v0, "id"
.line 519
invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const-string v1, "seq"
.line 520
invoke-interface {p0, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v1
const-string v2, "from"
.line 521
invoke-interface {p0, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
const-string v3, "to"
.line 522
invoke-interface {p0, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
.line 524
invoke-static {}, Lkotlin/collections/CollectionsKt;->createListBuilder()Ljava/util/List;
move-result-object v4
.line 525
:goto_0
invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z
move-result v5
if-eqz v5, :cond_0
.line 527
new-instance v5, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;
.line 528
invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I
move-result v6
.line 529
invoke-interface {p0, v1}, Landroid/database/Cursor;->getInt(I)I
move-result v7
.line 530
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v8
const-string v9, "cursor.getString(fromColumnIndex)"
invoke-static {v8, v9}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 531
invoke-interface {p0, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v9
const-string v10, "cursor.getString(toColumnIndex)"
invoke-static {v9, v10}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 527
invoke-direct {v5, v6, v7, v8, v9}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;-><init>(IILjava/lang/String;Ljava/lang/String;)V
.line 526
invoke-interface {v4, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 524
:cond_0
invoke-static {v4}, Lkotlin/collections/CollectionsKt;->build(Ljava/util/List;)Ljava/util/List;
move-result-object p0
check-cast p0, Ljava/lang/Iterable;
.line 535
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->sorted(Ljava/lang/Iterable;)Ljava/util/List;
move-result-object p0
return-object p0
.end method
.method private static final readForeignKeys(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set;
.locals 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/sqlite/db/SupportSQLiteDatabase;",
"Ljava/lang/String;",
")",
"Ljava/util/Set<",
"Landroidx/room/util/TableInfo$ForeignKey;",
">;"
}
.end annotation
.line 477
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "PRAGMA foreign_key_list(`"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "`)"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-interface {p0, p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p0
:try_start_0
const-string p1, "id"
.line 478
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result p1
const-string v0, "seq"
.line 479
invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const-string v1, "table"
.line 480
invoke-interface {p0, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v1
const-string v2, "on_delete"
.line 481
invoke-interface {p0, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
const-string v3, "on_update"
.line 482
invoke-interface {p0, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
.line 483
invoke-static {p0}, Landroidx/room/util/TableInfoKt;->readForeignKeyFieldMappings(Landroid/database/Cursor;)Ljava/util/List;
move-result-object v4
const/4 v5, -0x1
.line 486
invoke-interface {p0, v5}, Landroid/database/Cursor;->moveToPosition(I)Z
.line 487
invoke-static {}, Lkotlin/collections/SetsKt;->createSetBuilder()Ljava/util/Set;
move-result-object v5
.line 488
:goto_0
invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z
move-result v6
if-eqz v6, :cond_4
.line 489
invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I
move-result v6
if-eqz v6, :cond_0
goto :goto_0
.line 493
:cond_0
invoke-interface {p0, p1}, Landroid/database/Cursor;->getInt(I)I
move-result v6
.line 494
new-instance v11, Ljava/util/ArrayList;
invoke-direct {v11}, Ljava/util/ArrayList;-><init>()V
.line 495
new-instance v12, Ljava/util/ArrayList;
invoke-direct {v12}, Ljava/util/ArrayList;-><init>()V
.line 497
move-object v7, v4
check-cast v7, Ljava/lang/Iterable;
.line 766
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
.line 857
invoke-interface {v7}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v7
:cond_1
:goto_1
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v9
if-eqz v9, :cond_2
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v9
move-object v10, v9
check-cast v10, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;
.line 498
invoke-virtual {v10}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->getId()I
move-result v10
if-ne v10, v6, :cond_1
.line 857
invoke-interface {v8, v9}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :goto_1
:catchall_0
move-exception p1
goto :goto_3
.line 1855
:cond_2
invoke-interface {v8}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v6
:goto_2
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_3
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;
.line 500
invoke-virtual {v7}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->getFrom()Ljava/lang/String;
move-result-object v8
invoke-interface {v11, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 501
invoke-virtual {v7}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->getTo()Ljava/lang/String;
move-result-object v7
invoke-interface {v12, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_2
.line 505
:cond_3
new-instance v6, Landroidx/room/util/TableInfo$ForeignKey;
.line 506
invoke-interface {p0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v8
const-string v7, "cursor.getString(tableColumnIndex)"
invoke-static {v8, v7}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 507
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v9
const-string v7, "cursor.getString(onDeleteColumnIndex)"
invoke-static {v9, v7}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 508
invoke-interface {p0, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v10
const-string v7, "cursor.getString(onUpdateColumnIndex)"
invoke-static {v10, v7}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
move-object v7, v6
.line 505
invoke-direct/range {v7 .. v12}, Landroidx/room/util/TableInfo$ForeignKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
.line 504
invoke-interface {v5, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
goto/16 :goto_0
.line 487
:cond_4
invoke-static {v5}, Lkotlin/collections/SetsKt;->build(Ljava/util/Set;)Ljava/util/Set;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
const/4 v0, 0x0
invoke-static {p0, v0}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object p1
:goto_3
:try_start_1
throw p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
:catchall_1
move-exception v0
invoke-static {p0, p1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
throw v0
.end method
.method private static final readIndex(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;Z)Landroidx/room/util/TableInfo$Index;
.locals 12
.line 613
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "PRAGMA index_xinfo(`"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "`)"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {p0, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p0
:try_start_0
const-string v0, "seqno"
.line 614
invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const-string v1, "cid"
.line 615
invoke-interface {p0, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v1
const-string v2, "name"
.line 616
invoke-interface {p0, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
const-string v3, "desc"
.line 617
invoke-interface {p0, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
const/4 v4, 0x0
const/4 v5, -0x1
if-eq v0, v5, :cond_4
if-eq v1, v5, :cond_4
if-eq v2, v5, :cond_4
if-ne v3, v5, :cond_0
goto :goto_2
.line 627
:cond_0
new-instance v5, Ljava/util/TreeMap;
invoke-direct {v5}, Ljava/util/TreeMap;-><init>()V
.line 628
new-instance v6, Ljava/util/TreeMap;
invoke-direct {v6}, Ljava/util/TreeMap;-><init>()V
.line 629
:goto_0
invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z
move-result v7
if-eqz v7, :cond_3
.line 630
invoke-interface {p0, v1}, Landroid/database/Cursor;->getInt(I)I
move-result v7
if-gez v7, :cond_1
goto :goto_0
.line 635
:cond_1
invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I
move-result v7
.line 636
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v8
.line 637
invoke-interface {p0, v3}, Landroid/database/Cursor;->getInt(I)I
move-result v9
if-lez v9, :cond_2
const-string v9, "DESC"
goto :goto_1
:catchall_0
move-exception p1
goto :goto_3
:cond_2
const-string v9, "ASC"
:goto_1
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
const-string v11, "columnName"
.line 638
invoke-static {v8, v11}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-interface {v5, v10, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
.line 639
invoke-interface {v6, v7, v9}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 641
:cond_3
invoke-virtual {v5}, Ljava/util/TreeMap;->values()Ljava/util/Collection;
move-result-object v0
const-string v1, "columnsMap.values"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
check-cast v0, Ljava/lang/Iterable;
invoke-static {v0}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List;
move-result-object v0
.line 642
invoke-virtual {v6}, Ljava/util/TreeMap;->values()Ljava/util/Collection;
move-result-object v1
const-string v2, "ordersMap.values"
invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
check-cast v1, Ljava/lang/Iterable;
invoke-static {v1}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List;
move-result-object v1
.line 643
new-instance v2, Landroidx/room/util/TableInfo$Index;
invoke-direct {v2, p1, p2, v0, v1}, Landroidx/room/util/TableInfo$Index;-><init>(Ljava/lang/String;ZLjava/util/List;Ljava/util/List;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 146
invoke-static {p0, v4}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object v2
.line 625
:cond_4
:goto_2
invoke-static {p0, v4}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object v4
.line 146
:goto_3
:try_start_1
throw p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
:catchall_1
move-exception p2
invoke-static {p0, p1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
throw p2
.end method
.method private static final readIndices(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set;
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/sqlite/db/SupportSQLiteDatabase;",
"Ljava/lang/String;",
")",
"Ljava/util/Set<",
"Landroidx/room/util/TableInfo$Index;",
">;"
}
.end annotation
const-string v0, "name"
.line 580
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "PRAGMA index_list(`"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "`)"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-interface {p0, p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p1
.line 581
:try_start_0
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v1
const-string v2, "origin"
.line 582
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
const-string v3, "unique"
.line 583
invoke-interface {p1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
const/4 v4, -0x1
const/4 v5, 0x0
if-eq v1, v4, :cond_5
if-eq v2, v4, :cond_5
if-ne v3, v4, :cond_0
goto :goto_2
.line 588
:cond_0
invoke-static {}, Lkotlin/collections/SetsKt;->createSetBuilder()Ljava/util/Set;
move-result-object v4
.line 589
:goto_0
invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z
move-result v6
if-eqz v6, :cond_4
.line 590
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v6
const-string v7, "c"
.line 591
invoke-static {v7, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_1
goto :goto_0
.line 595
:cond_1
invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v6
.line 596
invoke-interface {p1, v3}, Landroid/database/Cursor;->getInt(I)I
move-result v7
const/4 v8, 0x1
if-ne v7, v8, :cond_2
goto :goto_1
:cond_2
const/4 v8, 0x0
.line 598
:goto_1
invoke-static {v6, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p0, v6, v8}, Landroidx/room/util/TableInfoKt;->readIndex(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;Z)Landroidx/room/util/TableInfo$Index;
move-result-object v6
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v6, :cond_3
invoke-static {p1, v5}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object v5
.line 599
:cond_3
:try_start_1
invoke-interface {v4, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
goto :goto_0
:catchall_0
move-exception p0
goto :goto_3
.line 588
:cond_4
invoke-static {v4}, Lkotlin/collections/SetsKt;->build(Ljava/util/Set;)Ljava/util/Set;
move-result-object p0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
invoke-static {p1, v5}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object p0
.line 586
:cond_5
:goto_2
invoke-static {p1, v5}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
return-object v5
.line 588
:goto_3
:try_start_2
throw p0
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
:catchall_1
move-exception v0
invoke-static {p1, p0}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
throw v0
.end method
.method public static final readTableInfo(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Landroidx/room/util/TableInfo;
.locals 3
const-string v0, "database"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "tableName"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 466
invoke-static {p0, p1}, Landroidx/room/util/TableInfoKt;->readColumns(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Map;
move-result-object v0
.line 467
invoke-static {p0, p1}, Landroidx/room/util/TableInfoKt;->readForeignKeys(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set;
move-result-object v1
.line 468
invoke-static {p0, p1}, Landroidx/room/util/TableInfoKt;->readIndices(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set;
move-result-object p0
.line 469
new-instance v2, Landroidx/room/util/TableInfo;
invoke-direct {v2, p1, v0, v1, p0}, Landroidx/room/util/TableInfo;-><init>(Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;Ljava/util/Set;)V
return-object v2
.end method