TestObserver.smali
.class public final Lio/reactivex/observers/TestObserver;
.super Lio/reactivex/observers/a;
.source "TestObserver.java"
# interfaces
.implements Lio/reactivex/b;
.implements Lio/reactivex/disposables/b;
.implements Lio/reactivex/h;
.implements Lio/reactivex/r;
.implements Lio/reactivex/z;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/observers/a",
"<TT;",
"Lio/reactivex/observers/TestObserver",
"<TT;>;>;",
"Lio/reactivex/b;",
"Lio/reactivex/disposables/b;",
"Lio/reactivex/h",
"<TT;>;",
"Lio/reactivex/r",
"<TT;>;",
"Lio/reactivex/z",
"<TT;>;"
}
.end annotation
# instance fields
.field private final actual:Lio/reactivex/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/r",
"<-TT;>;"
}
.end annotation
.end field
.field private final subscription:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Lio/reactivex/disposables/b;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 68
sget-object v0, Lio/reactivex/observers/TestObserver$EmptyObserver;->INSTANCE:Lio/reactivex/observers/TestObserver$EmptyObserver;
invoke-direct {p0, v0}, Lio/reactivex/observers/TestObserver;-><init>(Lio/reactivex/r;)V
.line 69
return-void
.end method
.method private constructor <init>(Lio/reactivex/r;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 75
invoke-direct {p0}, Lio/reactivex/observers/a;-><init>()V
.line 41
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
.line 76
iput-object p1, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/r;
.line 77
return-void
.end method
# virtual methods
.method public final dispose()V
.registers 2
.prologue
.line 220
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 221
return-void
.end method
.method public final isDisposed()Z
.registers 2
.prologue
.line 225
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription: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;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->isDisposed(Lio/reactivex/disposables/b;)Z
move-result v0
return v0
.end method
.method public final onComplete()V
.registers 5
.prologue
.line 184
iget-boolean v0, p0, Lio/reactivex/observers/TestObserver;->bTj:Z
if-nez v0, :cond_1b
.line 185
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/observers/TestObserver;->bTj:Z
.line 186
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_1b
.line 187
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "onSubscribe not called in proper order"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 192
:cond_1b
:try_start_1b
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
.line 193
iget-wide v0, p0, Lio/reactivex/observers/TestObserver;->bTi:J
const-wide/16 v2, 0x1
add-long/2addr v0, v2
iput-wide v0, p0, Lio/reactivex/observers/TestObserver;->bTi:J
.line 195
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/r;
invoke-interface {v0}, Lio/reactivex/r;->onComplete()V
:try_end_2a
.catchall {:try_start_1b .. :try_end_2a} :catchall_30
.line 197
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->bTh:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 198
return-void
.line 197
:catchall_30
move-exception v0
iget-object v1, p0, Lio/reactivex/observers/TestObserver;->bTh:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
throw v0
.end method
.method public final onError(Ljava/lang/Throwable;)V
.registers 5
.prologue
.line 161
iget-boolean v0, p0, Lio/reactivex/observers/TestObserver;->bTj:Z
if-nez v0, :cond_1b
.line 162
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/observers/TestObserver;->bTj:Z
.line 163
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_1b
.line 164
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "onSubscribe not called in proper order"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 169
:cond_1b
:try_start_1b
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
.line 170
if-nez p1, :cond_37
.line 171
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "onError received a null Throwable"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 176
:goto_2c
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/r;
invoke-interface {v0, p1}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
:try_end_31
.catchall {:try_start_1b .. :try_end_31} :catchall_3d
.line 178
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->bTh:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 179
return-void
.line 173
:cond_37
:try_start_37
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_3c
.catchall {:try_start_37 .. :try_end_3c} :catchall_3d
goto :goto_2c
.line 178
:catchall_3d
move-exception v0
iget-object v1, p0, Lio/reactivex/observers/TestObserver;->bTh:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
throw v0
.end method
.method public final onNext(Ljava/lang/Object;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.prologue
.line 128
iget-boolean v0, p0, Lio/reactivex/observers/TestObserver;->bTj:Z
if-nez v0, :cond_1b
.line 129
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/observers/TestObserver;->bTj:Z
.line 130
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_1b
.line 131
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "onSubscribe not called in proper order"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 135
:cond_1b
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
.line 150
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->values:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 152
if-nez p1, :cond_31
.line 153
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "onNext received a null value"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 156
:cond_31
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/r;
invoke-interface {v0, p1}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
.line 157
return-void
.end method
.method public final onSubscribe(Lio/reactivex/disposables/b;)V
.registers 6
.prologue
.line 82
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
.line 84
if-nez p1, :cond_12
.line 85
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "onSubscribe received a null Subscription"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 124
:cond_11
:goto_11
return-void
.line 88
:cond_12
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_42
.line 89
invoke-interface {p1}, Lio/reactivex/disposables/b;->dispose()V
.line 90
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->subscription:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-eq v0, v1, :cond_11
.line 91
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->errors:Ljava/util/List;
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "onSubscribe received multiple subscriptions: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_11
.line 123
:cond_42
iget-object v0, p0, Lio/reactivex/observers/TestObserver;->actual:Lio/reactivex/r;
invoke-interface {v0, p1}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
goto :goto_11
.end method
.method public final onSuccess(Ljava/lang/Object;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.prologue
.line 347
invoke-virtual {p0, p1}, Lio/reactivex/observers/TestObserver;->onNext(Ljava/lang/Object;)V
.line 348
invoke-virtual {p0}, Lio/reactivex/observers/TestObserver;->onComplete()V
.line 349
return-void
.end method