.class public final Ll0/l/d/a; .super Ljava/util/concurrent/atomic/AtomicReference; .source "SequentialSubscription.java" # interfaces .implements Lrx/Subscription; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Lrx/Subscription;", ">;", "Lrx/Subscription;" } .end annotation # static fields .field public static final serialVersionUID:J = 0xdcfadb4b3205d9dL # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;->()V return-void .end method .method public constructor (Lrx/Subscription;)V .locals 0 invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;->()V invoke-virtual {p0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V return-void .end method # virtual methods .method public a()Lrx/Subscription; .locals 2 invoke-super {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lrx/Subscription; sget-object v1, Ll0/l/d/b;->d:Ll0/l/d/b; if-ne v0, v1, :cond_0 sget-object v0, Ll0/r/c;->a:Ll0/r/c$a; :cond_0 return-object v0 .end method .method public b(Lrx/Subscription;)Z .locals 2 :cond_0 invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lrx/Subscription; sget-object v1, Ll0/l/d/b;->d:Ll0/l/d/b; if-ne v0, v1, :cond_2 if-eqz p1, :cond_1 invoke-interface {p1}, Lrx/Subscription;->unsubscribe()V :cond_1 const/4 p1, 0x0 return p1 :cond_2 invoke-virtual {p0, v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 const/4 p1, 0x1 return p1 .end method .method public isUnsubscribed()Z .locals 2 invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 sget-object v1, Ll0/l/d/b;->d:Ll0/l/d/b; if-ne v0, v1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public unsubscribe()V .locals 2 sget-object v0, Ll0/l/d/b;->d:Ll0/l/d/b; invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Lrx/Subscription; if-eq v1, v0, :cond_0 invoke-virtual {p0, v0}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Lrx/Subscription; if-eqz v1, :cond_0 if-eq v1, v0, :cond_0 invoke-interface {v1}, Lrx/Subscription;->unsubscribe()V :cond_0 return-void .end method