ObservableReplay.smali
.class public final Lio/reactivex/internal/operators/observable/ObservableReplay;
.super Lio/reactivex/c/a;
.source "ObservableReplay.java"
# interfaces
.implements Lio/reactivex/disposables/b;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/c/a",
"<TT;>;",
"Lio/reactivex/disposables/b;"
}
.end annotation
# static fields
.field private static bQW:Lio/reactivex/internal/operators/observable/em;
# instance fields
.field private bQF:Lio/reactivex/p;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/p",
"<TT;>;"
}
.end annotation
.end field
.field private bQV:Lio/reactivex/internal/operators/observable/em;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/observable/em",
"<TT;>;"
}
.end annotation
.end field
.field private current: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 source:Lio/reactivex/p;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/p",
"<TT;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 49
new-instance v0, Lio/reactivex/internal/operators/observable/eu;
invoke-direct {v0}, Lio/reactivex/internal/operators/observable/eu;-><init>()V
sput-object v0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQW:Lio/reactivex/internal/operators/observable/em;
return-void
.end method
.method private constructor <init>(Lio/reactivex/p;Lio/reactivex/p;Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/internal/operators/observable/em;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/p",
"<TT;>;",
"Lio/reactivex/p",
"<TT;>;",
"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 150
invoke-direct {p0}, Lio/reactivex/c/a;-><init>()V
.line 151
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQF:Lio/reactivex/p;
.line 152
iput-object p2, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->source:Lio/reactivex/p;
.line 153
iput-object p3, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->current:Ljava/util/concurrent/atomic/AtomicReference;
.line 154
iput-object p4, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQV:Lio/reactivex/internal/operators/observable/em;
.line 155
return-void
.end method
.method public static a(Lio/reactivex/c/a;Lio/reactivex/s;)Lio/reactivex/c/a;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/c/a",
"<TT;>;",
"Lio/reactivex/s;",
")",
"Lio/reactivex/c/a",
"<TT;>;"
}
.end annotation
.prologue
.line 75
invoke-virtual {p0, p1}, Lio/reactivex/c/a;->observeOn(Lio/reactivex/s;)Lio/reactivex/k;
move-result-object v0
.line 76
new-instance v1, Lio/reactivex/internal/operators/observable/ep;
invoke-direct {v1, p0, v0}, Lio/reactivex/internal/operators/observable/ep;-><init>(Lio/reactivex/c/a;Lio/reactivex/k;)V
.line 2067
sget-object v0, Lio/reactivex/d/a;->bTx:Lio/reactivex/b/h;
.line 76
return-object v1
.end method
.method public static a(Lio/reactivex/p;)Lio/reactivex/c/a;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<+TT;>;)",
"Lio/reactivex/c/a",
"<TT;>;"
}
.end annotation
.prologue
.line 87
sget-object v0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQW:Lio/reactivex/internal/operators/observable/em;
invoke-static {p0, v0}, Lio/reactivex/internal/operators/observable/ObservableReplay;->a(Lio/reactivex/p;Lio/reactivex/internal/operators/observable/em;)Lio/reactivex/c/a;
move-result-object v0
return-object v0
.end method
.method public static a(Lio/reactivex/p;I)Lio/reactivex/c/a;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<TT;>;I)",
"Lio/reactivex/c/a",
"<TT;>;"
}
.end annotation
.prologue
.line 99
const v0, 0x7fffffff
if-ne p1, v0, :cond_c
.line 2087
sget-object v0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQW:Lio/reactivex/internal/operators/observable/em;
invoke-static {p0, v0}, Lio/reactivex/internal/operators/observable/ObservableReplay;->a(Lio/reactivex/p;Lio/reactivex/internal/operators/observable/em;)Lio/reactivex/c/a;
move-result-object v0
.line 102
:goto_b
return-object v0
:cond_c
new-instance v0, Lio/reactivex/internal/operators/observable/er;
invoke-direct {v0, p1}, Lio/reactivex/internal/operators/observable/er;-><init>(I)V
invoke-static {p0, v0}, Lio/reactivex/internal/operators/observable/ObservableReplay;->a(Lio/reactivex/p;Lio/reactivex/internal/operators/observable/em;)Lio/reactivex/c/a;
move-result-object v0
goto :goto_b
.end method
.method public static a(Lio/reactivex/p;JLjava/util/concurrent/TimeUnit;Lio/reactivex/s;)Lio/reactivex/c/a;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<TT;>;J",
"Ljava/util/concurrent/TimeUnit;",
"Lio/reactivex/s;",
")",
"Lio/reactivex/c/a",
"<TT;>;"
}
.end annotation
.prologue
.line 116
const v6, 0x7fffffff
move-object v1, p0
move-wide v2, p1
move-object v4, p3
move-object v5, p4
invoke-static/range {v1 .. v6}, Lio/reactivex/internal/operators/observable/ObservableReplay;->a(Lio/reactivex/p;JLjava/util/concurrent/TimeUnit;Lio/reactivex/s;I)Lio/reactivex/c/a;
move-result-object v0
return-object v0
.end method
.method public static a(Lio/reactivex/p;JLjava/util/concurrent/TimeUnit;Lio/reactivex/s;I)Lio/reactivex/c/a;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<TT;>;J",
"Ljava/util/concurrent/TimeUnit;",
"Lio/reactivex/s;",
"I)",
"Lio/reactivex/c/a",
"<TT;>;"
}
.end annotation
.prologue
.line 131
new-instance v0, Lio/reactivex/internal/operators/observable/et;
move v1, p5
move-wide v2, p1
move-object v4, p3
move-object v5, p4
invoke-direct/range {v0 .. v5}, Lio/reactivex/internal/operators/observable/et;-><init>(IJLjava/util/concurrent/TimeUnit;Lio/reactivex/s;)V
invoke-static {p0, v0}, Lio/reactivex/internal/operators/observable/ObservableReplay;->a(Lio/reactivex/p;Lio/reactivex/internal/operators/observable/em;)Lio/reactivex/c/a;
move-result-object v0
return-object v0
.end method
.method private static a(Lio/reactivex/p;Lio/reactivex/internal/operators/observable/em;)Lio/reactivex/c/a;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<TT;>;",
"Lio/reactivex/internal/operators/observable/em",
"<TT;>;)",
"Lio/reactivex/c/a",
"<TT;>;"
}
.end annotation
.prologue
.line 143
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
.line 144
new-instance v1, Lio/reactivex/internal/operators/observable/es;
invoke-direct {v1, v0, p1}, Lio/reactivex/internal/operators/observable/es;-><init>(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/internal/operators/observable/em;)V
.line 145
new-instance v2, Lio/reactivex/internal/operators/observable/ObservableReplay;
invoke-direct {v2, v1, p0, v0, p1}, Lio/reactivex/internal/operators/observable/ObservableReplay;-><init>(Lio/reactivex/p;Lio/reactivex/p;Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/internal/operators/observable/em;)V
.line 3067
sget-object v0, Lio/reactivex/d/a;->bTx:Lio/reactivex/b/h;
.line 145
return-object v2
.end method
.method public static a(Ljava/util/concurrent/Callable;Lio/reactivex/b/h;)Lio/reactivex/k;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<U:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable",
"<+",
"Lio/reactivex/c/a",
"<TU;>;>;",
"Lio/reactivex/b/h",
"<-",
"Lio/reactivex/k",
"<TU;>;+",
"Lio/reactivex/p",
"<TR;>;>;)",
"Lio/reactivex/k",
"<TR;>;"
}
.end annotation
.prologue
.line 63
new-instance v0, Lio/reactivex/internal/operators/observable/eo;
invoke-direct {v0, p0, p1}, Lio/reactivex/internal/operators/observable/eo;-><init>(Ljava/util/concurrent/Callable;Lio/reactivex/b/h;)V
.line 2051
sget-object v1, Lio/reactivex/d/a;->bTw:Lio/reactivex/b/h;
.line 63
return-object v0
.end method
# virtual methods
.method public final d(Lio/reactivex/b/g;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/b/g",
"<-",
"Lio/reactivex/disposables/b;",
">;)V"
}
.end annotation
.prologue
const/4 v2, 0x1
const/4 v3, 0x0
.line 185
:cond_2
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->current: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 187
if-eqz v0, :cond_12
invoke-virtual {v0}, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->isDisposed()Z
move-result v1
if-eqz v1, :cond_26
.line 189
:cond_12
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQV:Lio/reactivex/internal/operators/observable/em;
invoke-interface {v1}, Lio/reactivex/internal/operators/observable/em;->PV()Lio/reactivex/internal/operators/observable/eq;
move-result-object v4
.line 191
new-instance v1, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;
invoke-direct {v1, v4}, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;-><init>(Lio/reactivex/internal/operators/observable/eq;)V
.line 193
iget-object v4, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v4, v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
move-object v0, v1
.line 202
:cond_26
iget-object v1, v0, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->shouldConnect:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v1
if-nez v1, :cond_42
iget-object v1, v0, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->shouldConnect:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1, v3, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v1
if-eqz v1, :cond_42
move v1, v2
.line 220
:goto_37
:try_start_37
invoke-interface {p1, v0}, Lio/reactivex/b/g;->accept(Ljava/lang/Object;)V
:try_end_3a
.catch Ljava/lang/Throwable; {:try_start_37 .. :try_end_3a} :catch_44
.line 228
if-eqz v1, :cond_41
.line 229
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->source:Lio/reactivex/p;
invoke-interface {v1, v0}, Lio/reactivex/p;->subscribe(Lio/reactivex/r;)V
.line 231
:cond_41
return-void
:cond_42
move v1, v3
.line 202
goto :goto_37
.line 221
:catch_44
move-exception v4
.line 222
if-eqz v1, :cond_4c
.line 223
iget-object v0, v0, Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayObserver;->shouldConnect:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
.line 225
:cond_4c
invoke-static {v4}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 226
invoke-static {v4}, Lio/reactivex/internal/util/ExceptionHelper;->l(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object v0
throw v0
.end method
.method public final dispose()V
.registers 3
.prologue
.line 164
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->current:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 165
return-void
.end method
.method public final isDisposed()Z
.registers 2
.prologue
.line 169
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->current: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/disposables/b;
.line 170
if-eqz v0, :cond_10
invoke-interface {v0}, Lio/reactivex/disposables/b;->isDisposed()Z
move-result v0
if-eqz v0, :cond_12
:cond_10
const/4 v0, 0x1
:goto_11
return v0
:cond_12
const/4 v0, 0x0
goto :goto_11
.end method
.method protected final subscribeActual(Lio/reactivex/r;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 175
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableReplay;->bQF:Lio/reactivex/p;
invoke-interface {v0, p1}, Lio/reactivex/p;->subscribe(Lio/reactivex/r;)V
.line 176
return-void
.end method