OnSubscribeUsing$DisposeAction.smali
.class final Lrx/internal/operators/OnSubscribeUsing$DisposeAction;
.super Ljava/util/concurrent/atomic/AtomicBoolean;
.source "OnSubscribeUsing.java"
# interfaces
.implements Lrx/functions/Action0;
.implements Lrx/Subscription;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lrx/internal/operators/OnSubscribeUsing;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "DisposeAction"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<Resource:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicBoolean;",
"Lrx/functions/Action0;",
"Lrx/Subscription;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x3b28c647329bb8ccL
# instance fields
.field private dispose:Lrx/functions/Action1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/functions/Action1<",
"-TResource;>;"
}
.end annotation
.end field
.field private resource:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TResource;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Lrx/functions/Action1;Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/functions/Action1<",
"-TResource;>;TResource;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
.line 2
iput-object p1, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->dispose:Lrx/functions/Action1;
.line 3
iput-object p2, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->resource:Ljava/lang/Object;
const/4 p1, 0x0
.line 4
invoke-virtual {p0, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->lazySet(Z)V
return-void
.end method
# virtual methods
.method public call()V
.registers 4
const/4 v0, 0x0
const/4 v1, 0x1
.line 1
invoke-virtual {p0, v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_1b
const/4 v0, 0x0
.line 2
:try_start_9
iget-object v1, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->dispose:Lrx/functions/Action1;
iget-object v2, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->resource:Ljava/lang/Object;
invoke-interface {v1, v2}, Lrx/functions/Action1;->call(Ljava/lang/Object;)V
:try_end_10
.catchall {:try_start_9 .. :try_end_10} :catchall_15
.line 3
iput-object v0, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->resource:Ljava/lang/Object;
.line 4
iput-object v0, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->dispose:Lrx/functions/Action1;
goto :goto_1b
:catchall_15
move-exception v1
.line 5
iput-object v0, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->resource:Ljava/lang/Object;
.line 6
iput-object v0, p0, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->dispose:Lrx/functions/Action1;
throw v1
:cond_1b
:goto_1b
return-void
.end method
.method public isUnsubscribed()Z
.registers 2
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
return v0
.end method
.method public unsubscribe()V
.registers 1
.line 1
invoke-virtual {p0}, Lrx/internal/operators/OnSubscribeUsing$DisposeAction;->call()V
return-void
.end method