l$a.smali
.class public final Landroidx/room/l$a;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/room/l;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic a:Landroidx/room/l;
# direct methods
.method public constructor <init>(Landroidx/room/l;)V
.registers 2
iput-object p1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a()Ljava/util/Set;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 2
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v1, v1, Landroidx/room/l;->d:Landroidx/room/c0;
new-instance v2, Lorg/greenrobot/eventbus/h;
const/4 v3, 0x0
const-string v4, "SELECT * FROM room_table_modification_log WHERE invalidated = 1;"
.line 3
invoke-direct {v2, v4, v3}, Lorg/greenrobot/eventbus/h;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
.line 4
invoke-virtual {v1, v2}, Landroidx/room/c0;->query(Landroidx/sqlite/db/d;)Landroid/database/Cursor;
move-result-object v1
.line 5
:goto_15
:try_start_15
invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
move-result v2
if-eqz v2, :cond_28
const/4 v2, 0x0
.line 6
invoke-interface {v1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v2
.line 7
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
:try_end_27
.catchall {:try_start_15 .. :try_end_27} :catchall_39
goto :goto_15
.line 8
:cond_28
invoke-interface {v1}, Landroid/database/Cursor;->close()V
.line 9
invoke-virtual {v0}, Ljava/util/HashSet;->isEmpty()Z
move-result v1
if-nez v1, :cond_38
.line 10
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v1, v1, Landroidx/room/l;->g:Landroidx/sqlite/db/e;
invoke-interface {v1}, Landroidx/sqlite/db/e;->e()I
:cond_38
return-object v0
:catchall_39
move-exception v0
.line 11
invoke-interface {v1}, Landroid/database/Cursor;->close()V
.line 12
throw v0
.end method
.method public final run()V
.registers 13
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x1
if-ne v0, v1, :cond_e
const/4 v0, 0x1
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
if-eqz v0, :cond_1a
const-string v1, "run"
const-string v4, "androidx/room/InvalidationTracker$1"
const-string v5, "runnable"
invoke-static {v1, v4, v5}, Lcom/shopee/monitor/trace/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 1
:cond_1a
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v1, v1, Landroidx/room/l;->d:Landroidx/room/c0;
invoke-virtual {v1}, Landroidx/room/c0;->getCloseLock()Ljava/util/concurrent/locks/Lock;
move-result-object v1
.line 2
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
const/4 v4, 0x0
.line 3
:try_start_26
iget-object v5, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-virtual {v5}, Landroidx/room/l;->b()Z
move-result v5
:try_end_2c
.catch Ljava/lang/IllegalStateException; {:try_start_26 .. :try_end_2c} :catch_c8
.catch Landroid/database/sqlite/SQLiteException; {:try_start_26 .. :try_end_2c} :catch_c8
.catchall {:try_start_26 .. :try_end_2c} :catchall_b3
if-nez v5, :cond_42
.line 4
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 5
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
if-eqz v0, :cond_41
const-string v0, "run"
const-string v1, "androidx/room/InvalidationTracker$1"
const-string v2, "runnable"
.line 6
invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_41
return-void
.line 7
:cond_42
:try_start_42
iget-object v5, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v5, v5, Landroidx/room/l;->e:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v5, v3, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v5
:try_end_4a
.catch Ljava/lang/IllegalStateException; {:try_start_42 .. :try_end_4a} :catch_c8
.catch Landroid/database/sqlite/SQLiteException; {:try_start_42 .. :try_end_4a} :catch_c8
.catchall {:try_start_42 .. :try_end_4a} :catchall_b3
if-nez v5, :cond_60
.line 8
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 9
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
if-eqz v0, :cond_5f
const-string v0, "run"
const-string v1, "androidx/room/InvalidationTracker$1"
const-string v2, "runnable"
.line 10
invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_5f
return-void
.line 11
:cond_60
:try_start_60
iget-object v5, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v5, v5, Landroidx/room/l;->d:Landroidx/room/c0;
invoke-virtual {v5}, Landroidx/room/c0;->inTransaction()Z
move-result v5
:try_end_68
.catch Ljava/lang/IllegalStateException; {:try_start_60 .. :try_end_68} :catch_c8
.catch Landroid/database/sqlite/SQLiteException; {:try_start_60 .. :try_end_68} :catch_c8
.catchall {:try_start_60 .. :try_end_68} :catchall_b3
if-eqz v5, :cond_7e
.line 12
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 13
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
if-eqz v0, :cond_7d
const-string v0, "run"
const-string v1, "androidx/room/InvalidationTracker$1"
const-string v2, "runnable"
.line 14
invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_7d
return-void
.line 15
:cond_7e
:try_start_7e
iget-object v5, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v5, v5, Landroidx/room/l;->d:Landroidx/room/c0;
invoke-virtual {v5}, Landroidx/room/c0;->getOpenHelper()Landroidx/sqlite/db/b;
move-result-object v5
invoke-interface {v5}, Landroidx/sqlite/db/b;->getWritableDatabase()Landroidx/sqlite/db/a;
move-result-object v5
.line 16
invoke-interface {v5}, Landroidx/sqlite/db/a;->m()V
:try_end_8d
.catch Ljava/lang/IllegalStateException; {:try_start_7e .. :try_end_8d} :catch_c8
.catch Landroid/database/sqlite/SQLiteException; {:try_start_7e .. :try_end_8d} :catch_c8
.catchall {:try_start_7e .. :try_end_8d} :catchall_b3
.line 17
:try_start_8d
invoke-virtual {p0}, Landroidx/room/l$a;->a()Ljava/util/Set;
move-result-object v6
:try_end_91
.catchall {:try_start_8d .. :try_end_91} :catchall_a2
.line 18
:try_start_91
invoke-interface {v5}, Landroidx/sqlite/db/a;->k0()V
:try_end_94
.catchall {:try_start_91 .. :try_end_94} :catchall_a0
.line 19
:try_start_94
invoke-interface {v5}, Landroidx/sqlite/db/a;->o0()V
:try_end_97
.catch Ljava/lang/IllegalStateException; {:try_start_94 .. :try_end_97} :catch_97
.catch Landroid/database/sqlite/SQLiteException; {:try_start_94 .. :try_end_97} :catch_97
.catchall {:try_start_94 .. :try_end_97} :catchall_b3
.line 20
:catch_97
:goto_97
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 21
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_ca
:catchall_a0
move-exception v7
goto :goto_a4
:catchall_a2
move-exception v7
move-object v6, v4
.line 22
:goto_a4
:try_start_a4
invoke-interface {v5}, Landroidx/sqlite/db/a;->o0()V
if-eqz v0, :cond_b2
const-string v5, "run"
const-string v8, "androidx/room/InvalidationTracker$1"
const-string v9, "runnable"
.line 23
invoke-static {v5, v8, v9}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_b2
throw v7
:try_end_b3
.catch Ljava/lang/IllegalStateException; {:try_start_a4 .. :try_end_b3} :catch_97
.catch Landroid/database/sqlite/SQLiteException; {:try_start_a4 .. :try_end_b3} :catch_97
.catchall {:try_start_a4 .. :try_end_b3} :catchall_b3
:catchall_b3
move-exception v2
.line 24
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 25
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
if-eqz v0, :cond_c7
const-string v0, "run"
const-string v1, "androidx/room/InvalidationTracker$1"
const-string v3, "runnable"
.line 26
invoke-static {v0, v1, v3}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_c7
throw v2
:catch_c8
move-object v6, v4
goto :goto_97
:goto_ca
if-eqz v6, :cond_137
.line 27
invoke-interface {v6}, Ljava/util/Set;->isEmpty()Z
move-result v1
if-nez v1, :cond_137
.line 28
iget-object v1, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v1, v1, Landroidx/room/l;->i:Landroidx/arch/core/internal/b;
monitor-enter v1
.line 29
:try_start_d7
iget-object v5, p0, Landroidx/room/l$a;->a:Landroidx/room/l;
iget-object v5, v5, Landroidx/room/l;->i:Landroidx/arch/core/internal/b;
invoke-virtual {v5}, Landroidx/arch/core/internal/b;->iterator()Ljava/util/Iterator;
move-result-object v5
:cond_df
:goto_df
move-object v7, v5
check-cast v7, Landroidx/arch/core/internal/b$e;
invoke-virtual {v7}, Landroidx/arch/core/internal/b$e;->hasNext()Z
move-result v8
if-eqz v8, :cond_127
invoke-virtual {v7}, Landroidx/arch/core/internal/b$e;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/util/Map$Entry;
.line 30
invoke-interface {v7}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v7
check-cast v7, Landroidx/room/l$d;
.line 31
iget-object v8, v7, Landroidx/room/l$d;->a:[I
array-length v8, v8
move-object v10, v4
const/4 v9, 0x0
:goto_f9
if-ge v9, v8, :cond_11f
.line 32
iget-object v11, v7, Landroidx/room/l$d;->a:[I
aget v11, v11, v9
.line 33
invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v11
invoke-interface {v6, v11}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_11c
if-ne v8, v3, :cond_10e
.line 34
iget-object v10, v7, Landroidx/room/l$d;->d:Ljava/util/Set;
goto :goto_11c
:cond_10e
if-nez v10, :cond_115
.line 35
new-instance v10, Ljava/util/HashSet;
invoke-direct {v10, v8}, Ljava/util/HashSet;-><init>(I)V
.line 36
:cond_115
iget-object v11, v7, Landroidx/room/l$d;->b:[Ljava/lang/String;
aget-object v11, v11, v9
invoke-interface {v10, v11}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_11c
:goto_11c
add-int/lit8 v9, v9, 0x1
goto :goto_f9
:cond_11f
if-eqz v10, :cond_df
.line 37
iget-object v7, v7, Landroidx/room/l$d;->c:Landroidx/room/l$c;
invoke-virtual {v7, v10}, Landroidx/room/l$c;->a(Ljava/util/Set;)V
goto :goto_df
.line 38
:cond_127
monitor-exit v1
goto :goto_137
:catchall_129
move-exception v2
monitor-exit v1
:try_end_12b
.catchall {:try_start_d7 .. :try_end_12b} :catchall_129
if-eqz v0, :cond_136
const-string v0, "run"
const-string v1, "androidx/room/InvalidationTracker$1"
const-string v3, "runnable"
invoke-static {v0, v1, v3}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_136
throw v2
:cond_137
:goto_137
if-eqz v0, :cond_142
const-string v0, "run"
const-string v1, "androidx/room/InvalidationTracker$1"
const-string v2, "runnable"
.line 39
invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_142
return-void
.end method