Rabbit-R1/original r1/smali/smali_classes2/androidx/room/SharedSQLiteStatement.smali
2024-05-21 17:08:36 -04:00

222 lines
6.8 KiB
Smali

.class public abstract Landroidx/room/SharedSQLiteStatement;
.super Ljava/lang/Object;
.source "SharedSQLiteStatement.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u00006\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0006\n\u0002\u0010\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003\u0008\'\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004J\u0008\u0010\r\u001a\u00020\u0008H\u0016J\u0008\u0010\u000e\u001a\u00020\u000fH\u0014J\u0008\u0010\u0010\u001a\u00020\u0008H\u0002J\u0008\u0010\u0011\u001a\u00020\u0012H$J\u0010\u0010\t\u001a\u00020\u00082\u0006\u0010\u0013\u001a\u00020\u0014H\u0002J\u0010\u0010\u0015\u001a\u00020\u000f2\u0006\u0010\u0016\u001a\u00020\u0008H\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001b\u0010\u0007\u001a\u00020\u00088BX\u0082\u0084\u0002\u00a2\u0006\u000c\n\u0004\u0008\u000b\u0010\u000c\u001a\u0004\u0008\t\u0010\n\u00a8\u0006\u0017"
}
d2 = {
"Landroidx/room/SharedSQLiteStatement;",
"",
"database",
"Landroidx/room/RoomDatabase;",
"(Landroidx/room/RoomDatabase;)V",
"lock",
"Ljava/util/concurrent/atomic/AtomicBoolean;",
"stmt",
"Landroidx/sqlite/db/SupportSQLiteStatement;",
"getStmt",
"()Landroidx/sqlite/db/SupportSQLiteStatement;",
"stmt$delegate",
"Lkotlin/Lazy;",
"acquire",
"assertNotMainThread",
"",
"createNewStatement",
"createQuery",
"",
"canUseCached",
"",
"release",
"statement",
"room-runtime_release"
}
k = 0x1
mv = {
0x1,
0x7,
0x1
}
xi = 0x30
.end annotation
# instance fields
.field private final database:Landroidx/room/RoomDatabase;
.field private final lock:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private final stmt$delegate:Lkotlin/Lazy;
# direct methods
.method public constructor <init>(Landroidx/room/RoomDatabase;)V
.locals 1
const-string v0, "database"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 36
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/room/SharedSQLiteStatement;->database:Landroidx/room/RoomDatabase;
.line 38
new-instance p1, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v0, 0x0
invoke-direct {p1, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
iput-object p1, p0, Landroidx/room/SharedSQLiteStatement;->lock:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 40
new-instance p1, Landroidx/room/SharedSQLiteStatement$stmt$2;
invoke-direct {p1, p0}, Landroidx/room/SharedSQLiteStatement$stmt$2;-><init>(Landroidx/room/SharedSQLiteStatement;)V
check-cast p1, Lkotlin/jvm/functions/Function0;
invoke-static {p1}, Lkotlin/LazyKt;->lazy(Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy;
move-result-object p1
iput-object p1, p0, Landroidx/room/SharedSQLiteStatement;->stmt$delegate:Lkotlin/Lazy;
return-void
.end method
.method public static final synthetic access$createNewStatement(Landroidx/room/SharedSQLiteStatement;)Landroidx/sqlite/db/SupportSQLiteStatement;
.locals 0
.line 36
invoke-direct {p0}, Landroidx/room/SharedSQLiteStatement;->createNewStatement()Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object p0
return-object p0
.end method
.method private final createNewStatement()Landroidx/sqlite/db/SupportSQLiteStatement;
.locals 1
.line 56
invoke-virtual {p0}, Landroidx/room/SharedSQLiteStatement;->createQuery()Ljava/lang/String;
move-result-object v0
iget-object p0, p0, Landroidx/room/SharedSQLiteStatement;->database:Landroidx/room/RoomDatabase;
.line 57
invoke-virtual {p0, v0}, Landroidx/room/RoomDatabase;->compileStatement(Ljava/lang/String;)Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object p0
return-object p0
.end method
.method private final getStmt()Landroidx/sqlite/db/SupportSQLiteStatement;
.locals 0
iget-object p0, p0, Landroidx/room/SharedSQLiteStatement;->stmt$delegate:Lkotlin/Lazy;
.line 40
invoke-interface {p0}, Lkotlin/Lazy;->getValue()Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroidx/sqlite/db/SupportSQLiteStatement;
return-object p0
.end method
.method private final getStmt(Z)Landroidx/sqlite/db/SupportSQLiteStatement;
.locals 0
if-eqz p1, :cond_0
.line 62
invoke-direct {p0}, Landroidx/room/SharedSQLiteStatement;->getStmt()Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object p0
goto :goto_0
.line 65
:cond_0
invoke-direct {p0}, Landroidx/room/SharedSQLiteStatement;->createNewStatement()Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object p0
:goto_0
return-object p0
.end method
# virtual methods
.method public acquire()Landroidx/sqlite/db/SupportSQLiteStatement;
.locals 3
.line 74
invoke-virtual {p0}, Landroidx/room/SharedSQLiteStatement;->assertNotMainThread()V
iget-object v0, p0, Landroidx/room/SharedSQLiteStatement;->lock:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
.line 75
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
invoke-direct {p0, v0}, Landroidx/room/SharedSQLiteStatement;->getStmt(Z)Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object p0
return-object p0
.end method
.method protected assertNotMainThread()V
.locals 0
iget-object p0, p0, Landroidx/room/SharedSQLiteStatement;->database:Landroidx/room/RoomDatabase;
.line 52
invoke-virtual {p0}, Landroidx/room/RoomDatabase;->assertNotMainThread()V
return-void
.end method
.method protected abstract createQuery()Ljava/lang/String;
.end method
.method public release(Landroidx/sqlite/db/SupportSQLiteStatement;)V
.locals 1
const-string v0, "statement"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 84
invoke-direct {p0}, Landroidx/room/SharedSQLiteStatement;->getStmt()Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object v0
if-ne p1, v0, :cond_0
iget-object p0, p0, Landroidx/room/SharedSQLiteStatement;->lock:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 p1, 0x0
.line 85
invoke-virtual {p0, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
:cond_0
return-void
.end method