es.smali
.class final Lio/reactivex/internal/operators/observable/es;
.super Ljava/lang/Object;
.source "ObservableReplay.java"
# interfaces
.implements Lio/reactivex/p;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lio/reactivex/p",
"<TT;>;"
}
.end annotation
# instance fields
.field private final bQI:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver",
"<TT;>;>;"
}
.end annotation
.end field
.field private final bQV:Lio/reactivex/internal/operators/observable/em;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/observable/em",
"<TT;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/internal/operators/observable/em;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver",
"<TT;>;>;",
"Lio/reactivex/internal/operators/observable/em",
"<TT;>;)V"
}
.end annotation
.prologue
.line 963
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 964
iput-object p1, p0, Lio/reactivex/internal/operators/observable/es;->bQI:Ljava/util/concurrent/atomic/AtomicReference;
.line 965
iput-object p2, p0, Lio/reactivex/internal/operators/observable/es;->bQV:Lio/reactivex/internal/operators/observable/em;
.line 966
return-void
.end method
# virtual methods
.method public final subscribe(Lio/reactivex/r;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 974
:cond_0
iget-object v0, p0, Lio/reactivex/internal/operators/observable/es;->bQI:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;
.line 976
if-nez v0, :cond_1e
.line 978
iget-object v0, p0, Lio/reactivex/internal/operators/observable/es;->bQV:Lio/reactivex/internal/operators/observable/em;
invoke-interface {v0}, Lio/reactivex/internal/operators/observable/em;->PV()Lio/reactivex/internal/operators/observable/eq;
move-result-object v1
.line 980
new-instance v0, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;
invoke-direct {v0, v1}, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;-><init>(Lio/reactivex/internal/operators/observable/eq;)V
.line 982
iget-object v1, p0, Lio/reactivex/internal/operators/observable/es;->bQI:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v2, 0x0
invoke-virtual {v1, v2, v0}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
.line 992
:cond_1e
new-instance v1, Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;
invoke-direct {v1, v0, p1}, Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;-><init>(Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;Lio/reactivex/r;)V
.line 997
invoke-interface {p1, v1}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
.line 1001
invoke-virtual {v0, v1}, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->add(Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;)Z
.line 1003
invoke-virtual {v1}, Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;->isDisposed()Z
move-result v2
if-eqz v2, :cond_33
.line 1004
invoke-virtual {v0, v1}, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->remove(Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;)V
.line 1013
:goto_32
return-void
.line 1009
:cond_33
iget-object v0, v0, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->buffer:Lio/reactivex/internal/operators/observable/eq;
invoke-interface {v0, v1}, Lio/reactivex/internal/operators/observable/eq;->replay(Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;)V
goto :goto_32
.end method