- 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
1043 lines
26 KiB
Smali
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
|