s.smali
.class public final Lio/reactivex/internal/operators/observable/s;
.super Ljava/lang/Object;
.source "ObservableBlockingSubscribe.java"
# direct methods
.method public static a(Lio/reactivex/p;Lio/reactivex/b/g;Lio/reactivex/b/g;Lio/reactivex/b/a;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<+TT;>;",
"Lio/reactivex/b/g",
"<-TT;>;",
"Lio/reactivex/b/g",
"<-",
"Ljava/lang/Throwable;",
">;",
"Lio/reactivex/b/a;",
")V"
}
.end annotation
.prologue
.line 100
const-string v0, "onNext is null"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 101
const-string v0, "onError is null"
invoke-static {p2, v0}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 102
const-string v0, "onComplete is null"
invoke-static {p3, v0}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 103
new-instance v0, Lio/reactivex/internal/observers/LambdaObserver;
invoke-static {}, Lio/reactivex/internal/functions/Functions;->PH()Lio/reactivex/b/g;
move-result-object v1
invoke-direct {v0, p1, p2, p3, v1}, Lio/reactivex/internal/observers/LambdaObserver;-><init>(Lio/reactivex/b/g;Lio/reactivex/b/g;Lio/reactivex/b/a;Lio/reactivex/b/g;)V
invoke-static {p0, v0}, Lio/reactivex/internal/operators/observable/s;->a(Lio/reactivex/p;Lio/reactivex/r;)V
.line 104
return-void
.end method
.method public static a(Lio/reactivex/p;Lio/reactivex/r;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/reactivex/p",
"<+TT;>;",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 43
new-instance v1, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v1}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
.line 45
new-instance v2, Lio/reactivex/internal/observers/BlockingObserver;
invoke-direct {v2, v1}, Lio/reactivex/internal/observers/BlockingObserver;-><init>(Ljava/util/Queue;)V
.line 46
invoke-interface {p1, v2}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
.line 48
invoke-interface {p0, v2}, Lio/reactivex/p;->subscribe(Lio/reactivex/r;)V
.line 50
:cond_10
invoke-virtual {v2}, Lio/reactivex/internal/observers/BlockingObserver;->isDisposed()Z
move-result v0
if-nez v0, :cond_30
.line 53
invoke-interface {v1}, Ljava/util/concurrent/BlockingQueue;->poll()Ljava/lang/Object;
move-result-object v0
.line 54
if-nez v0, :cond_20
.line 56
:try_start_1c
invoke-interface {v1}, Ljava/util/concurrent/BlockingQueue;->take()Ljava/lang/Object;
:try_end_1f
.catch Ljava/lang/InterruptedException; {:try_start_1c .. :try_end_1f} :catch_31
move-result-object v0
.line 63
:cond_20
invoke-virtual {v2}, Lio/reactivex/internal/observers/BlockingObserver;->isDisposed()Z
move-result v3
if-nez v3, :cond_30
sget-object v3, Lio/reactivex/internal/observers/BlockingObserver;->TERMINATED:Ljava/lang/Object;
if-eq p0, v3, :cond_30
.line 65
invoke-static {v0, p1}, Lio/reactivex/internal/util/NotificationLite;->acceptFull(Ljava/lang/Object;Lio/reactivex/r;)Z
move-result v0
if-eqz v0, :cond_10
.line 69
:cond_30
:goto_30
return-void
.line 57
:catch_31
move-exception v0
.line 58
invoke-virtual {v2}, Lio/reactivex/internal/observers/BlockingObserver;->dispose()V
.line 59
invoke-interface {p1, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
goto :goto_30
.end method