CancellationTokenRegistration.smali
.class public final Lcom/facebook/bolts/CancellationTokenRegistration;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Closeable;
# instance fields
.field private action:Ljava/lang/Runnable;
.field private closed:Z
.field private tokenSource:Lcom/facebook/bolts/CancellationTokenSource;
# direct methods
.method public constructor <init>(Lcom/facebook/bolts/CancellationTokenSource;Ljava/lang/Runnable;)V
.registers 4
const-string v0, "tokenSource"
invoke-static {p1, v0}, Lcom/shopee/sz/loadtask/datasource/a;->y(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p2, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->action:Ljava/lang/Runnable;
.line 3
iput-object p1, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->tokenSource:Lcom/facebook/bolts/CancellationTokenSource;
return-void
.end method
.method private final throwIfClosed()V
.registers 3
iget-boolean v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->closed:Z
xor-int/lit8 v0, v0, 0x1
if-eqz v0, :cond_7
return-void
:cond_7
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Object already closed"
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public close()V
.registers 2
.line 1
monitor-enter p0
.line 2
:try_start_1
iget-boolean v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->closed:Z
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_19
if-eqz v0, :cond_7
.line 3
monitor-exit p0
return-void
:cond_7
const/4 v0, 0x1
.line 4
:try_start_8
iput-boolean v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->closed:Z
.line 5
iget-object v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->tokenSource:Lcom/facebook/bolts/CancellationTokenSource;
if-nez v0, :cond_f
goto :goto_12
:cond_f
invoke-virtual {v0, p0}, Lcom/facebook/bolts/CancellationTokenSource;->unregister$facebook_bolts_release(Lcom/facebook/bolts/CancellationTokenRegistration;)V
:goto_12
const/4 v0, 0x0
.line 6
iput-object v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->tokenSource:Lcom/facebook/bolts/CancellationTokenSource;
.line 7
iput-object v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->action:Ljava/lang/Runnable;
:try_end_17
.catchall {:try_start_8 .. :try_end_17} :catchall_19
.line 8
monitor-exit p0
return-void
:catchall_19
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final runAction$facebook_bolts_release()V
.registers 2
.line 1
monitor-enter p0
.line 2
:try_start_1
invoke-direct {p0}, Lcom/facebook/bolts/CancellationTokenRegistration;->throwIfClosed()V
.line 3
iget-object v0, p0, Lcom/facebook/bolts/CancellationTokenRegistration;->action:Ljava/lang/Runnable;
if-nez v0, :cond_9
goto :goto_c
:cond_9
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
.line 4
:goto_c
invoke-virtual {p0}, Lcom/facebook/bolts/CancellationTokenRegistration;->close()V
:try_end_f
.catchall {:try_start_1 .. :try_end_f} :catchall_11
.line 5
monitor-exit p0
return-void
:catchall_11
move-exception v0
monitor-exit p0
throw v0
.end method