d.smali
.class public final Lbolts/d;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Closeable;
# instance fields
.field private final a:Ljava/lang/Object;
.field private b:Lbolts/e;
.field private c:Ljava/lang/Runnable;
.field private d:Z
# direct methods
.method constructor <init>(Lbolts/e;Ljava/lang/Runnable;)V
.registers 4
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 21
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lbolts/d;->a:Ljava/lang/Object;
.line 27
iput-object p1, p0, Lbolts/d;->b:Lbolts/e;
.line 28
iput-object p2, p0, Lbolts/d;->c:Ljava/lang/Runnable;
return-void
.end method
# virtual methods
.method final a()V
.registers 4
.line 49
iget-object v0, p0, Lbolts/d;->a:Ljava/lang/Object;
monitor-enter v0
.line 2057
:try_start_3
iget-boolean v1, p0, Lbolts/d;->d:Z
if-nez v1, :cond_11
.line 51
iget-object v1, p0, Lbolts/d;->c:Ljava/lang/Runnable;
invoke-interface {v1}, Ljava/lang/Runnable;->run()V
.line 52
invoke-virtual {p0}, Lbolts/d;->close()V
.line 53
monitor-exit v0
return-void
.line 2058
:cond_11
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "Object already closed"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
:catchall_19
move-exception v1
.line 53
monitor-exit v0
:try_end_1b
.catchall {:try_start_3 .. :try_end_1b} :catchall_19
throw v1
.end method
.method public final close()V
.registers 4
.line 36
iget-object v0, p0, Lbolts/d;->a:Ljava/lang/Object;
monitor-enter v0
.line 37
:try_start_3
iget-boolean v1, p0, Lbolts/d;->d:Z
if-eqz v1, :cond_9
.line 38
monitor-exit v0
return-void
:cond_9
const/4 v1, 0x1
.line 41
iput-boolean v1, p0, Lbolts/d;->d:Z
.line 42
iget-object v1, p0, Lbolts/d;->b:Lbolts/e;
.line 1169
iget-object v2, v1, Lbolts/e;->a:Ljava/lang/Object;
monitor-enter v2
:try_end_11
.catchall {:try_start_3 .. :try_end_11} :catchall_24
.line 1170
:try_start_11
invoke-virtual {v1}, Lbolts/e;->d()V
.line 1171
iget-object v1, v1, Lbolts/e;->b:Ljava/util/List;
invoke-interface {v1, p0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
.line 1172
monitor-exit v2
:try_end_1a
.catchall {:try_start_11 .. :try_end_1a} :catchall_21
const/4 v1, 0x0
.line 43
:try_start_1b
iput-object v1, p0, Lbolts/d;->b:Lbolts/e;
.line 44
iput-object v1, p0, Lbolts/d;->c:Ljava/lang/Runnable;
.line 45
monitor-exit v0
:try_end_20
.catchall {:try_start_1b .. :try_end_20} :catchall_24
return-void
:catchall_21
move-exception v1
.line 1172
:try_start_22
monitor-exit v2
:try_end_23
.catchall {:try_start_22 .. :try_end_23} :catchall_21
:try_start_23
throw v1
:catchall_24
move-exception v1
.line 45
monitor-exit v0
:try_end_26
.catchall {:try_start_23 .. :try_end_26} :catchall_24
throw v1
.end method