ObservableConcatMap$ConcatMapDelayErrorObserver.smali
.class final Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "ObservableConcatMap.java"
# interfaces
.implements Lio/reactivex/disposables/b;
.implements Lio/reactivex/r;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;",
"Lio/reactivex/disposables/b;",
"Lio/reactivex/r",
"<TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x6077449f877ccfe7L
# instance fields
.field volatile active:Z
.field final actual:Lio/reactivex/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/r",
"<-TR;>;"
}
.end annotation
.end field
.field final bufferSize:I
.field volatile cancelled:Z
.field d:Lio/reactivex/disposables/b;
.field volatile done:Z
.field final error:Lio/reactivex/internal/util/AtomicThrowable;
.field final mapper:Lio/reactivex/b/h;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/b/h",
"<-TT;+",
"Lio/reactivex/p",
"<+TR;>;>;"
}
.end annotation
.end field
.field final observer:Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver",
"<TR;>;"
}
.end annotation
.end field
.field queue:Lio/reactivex/internal/a/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/a/g",
"<TT;>;"
}
.end annotation
.end field
.field sourceMode:I
.field final tillTheEnd:Z
# direct methods
.method constructor <init>(Lio/reactivex/r;Lio/reactivex/b/h;IZ)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TR;>;",
"Lio/reactivex/b/h",
"<-TT;+",
"Lio/reactivex/p",
"<+TR;>;>;IZ)V"
}
.end annotation
.prologue
.line 298
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 299
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->actual:Lio/reactivex/r;
.line 300
iput-object p2, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->mapper:Lio/reactivex/b/h;
.line 301
iput p3, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->bufferSize:I
.line 302
iput-boolean p4, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->tillTheEnd:Z
.line 303
new-instance v0, Lio/reactivex/internal/util/AtomicThrowable;
invoke-direct {v0}, Lio/reactivex/internal/util/AtomicThrowable;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->error:Lio/reactivex/internal/util/AtomicThrowable;
.line 304
new-instance v0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;
invoke-direct {v0, p1, p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;-><init>(Lio/reactivex/r;Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;)V
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->observer:Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;
.line 305
return-void
.end method
# virtual methods
.method public final dispose()V
.registers 2
.prologue
.line 374
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
.line 375
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->d:Lio/reactivex/disposables/b;
invoke-interface {v0}, Lio/reactivex/disposables/b;->dispose()V
.line 376
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->observer:Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;
invoke-virtual {v0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;->dispose()V
.line 377
return-void
.end method
.method final drain()V
.registers 8
.prologue
const/4 v1, 0x1
.line 381
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_8
.line 478
:goto_7
return-void
.line 385
:cond_8
iget-object v2, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->actual:Lio/reactivex/r;
.line 386
iget-object v3, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->queue:Lio/reactivex/internal/a/g;
.line 387
iget-object v4, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->error:Lio/reactivex/internal/util/AtomicThrowable;
.line 391
:cond_e
:goto_e
iget-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->active:Z
if-nez v0, :cond_b6
.line 393
iget-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
if-eqz v0, :cond_1a
.line 394
invoke-interface {v3}, Lio/reactivex/internal/a/g;->clear()V
goto :goto_7
.line 398
:cond_1a
iget-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->tillTheEnd:Z
if-nez v0, :cond_33
.line 399
invoke-virtual {v4}, Lio/reactivex/internal/util/AtomicThrowable;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Throwable;
.line 400
if-eqz v0, :cond_33
.line 401
invoke-interface {v3}, Lio/reactivex/internal/a/g;->clear()V
.line 402
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
.line 403
invoke-virtual {v4}, Lio/reactivex/internal/util/AtomicThrowable;->terminate()Ljava/lang/Throwable;
move-result-object v0
invoke-interface {v2, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
goto :goto_7
.line 408
:cond_33
iget-boolean v5, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->done:Z
.line 413
:try_start_35
invoke-interface {v3}, Lio/reactivex/internal/a/g;->poll()Ljava/lang/Object;
:try_end_38
.catch Ljava/lang/Throwable; {:try_start_35 .. :try_end_38} :catch_4c
move-result-object v6
.line 423
if-nez v6, :cond_62
move v0, v1
.line 425
:goto_3c
if-eqz v5, :cond_68
if-eqz v0, :cond_68
.line 426
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
.line 427
invoke-virtual {v4}, Lio/reactivex/internal/util/AtomicThrowable;->terminate()Ljava/lang/Throwable;
move-result-object v0
.line 428
if-eqz v0, :cond_64
.line 429
invoke-interface {v2, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
goto :goto_7
.line 414
:catch_4c
move-exception v0
.line 415
invoke-static {v0}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 416
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
.line 417
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->d:Lio/reactivex/disposables/b;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
.line 418
invoke-virtual {v4, v0}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
.line 419
invoke-virtual {v4}, Lio/reactivex/internal/util/AtomicThrowable;->terminate()Ljava/lang/Throwable;
move-result-object v0
invoke-interface {v2, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
goto :goto_7
.line 423
:cond_62
const/4 v0, 0x0
goto :goto_3c
.line 431
:cond_64
invoke-interface {v2}, Lio/reactivex/r;->onComplete()V
goto :goto_7
.line 436
:cond_68
if-nez v0, :cond_b6
.line 441
:try_start_6a
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->mapper:Lio/reactivex/b/h;
invoke-interface {v0, v6}, Lio/reactivex/b/h;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const-string v5, "The mapper returned a null ObservableSource"
invoke-static {v0, v5}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/p;
:try_end_78
.catch Ljava/lang/Throwable; {:try_start_6a .. :try_end_78} :catch_8c
.line 452
instance-of v5, v0, Ljava/util/concurrent/Callable;
if-eqz v5, :cond_af
.line 456
:try_start_7c
check-cast v0, Ljava/util/concurrent/Callable;
invoke-interface {v0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
:try_end_81
.catch Ljava/lang/Throwable; {:try_start_7c .. :try_end_81} :catch_a6
move-result-object v0
.line 463
if-eqz v0, :cond_e
iget-boolean v5, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
if-nez v5, :cond_e
.line 464
invoke-interface {v2, v0}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
goto :goto_e
.line 442
:catch_8c
move-exception v0
.line 443
invoke-static {v0}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 444
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
.line 445
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->d:Lio/reactivex/disposables/b;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
.line 446
invoke-interface {v3}, Lio/reactivex/internal/a/g;->clear()V
.line 447
invoke-virtual {v4, v0}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
.line 448
invoke-virtual {v4}, Lio/reactivex/internal/util/AtomicThrowable;->terminate()Ljava/lang/Throwable;
move-result-object v0
invoke-interface {v2, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
goto/16 :goto_7
.line 457
:catch_a6
move-exception v0
.line 458
invoke-static {v0}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 459
invoke-virtual {v4, v0}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
goto/16 :goto_e
.line 468
:cond_af
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->active:Z
.line 469
iget-object v5, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->observer:Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver;
invoke-interface {v0, v5}, Lio/reactivex/p;->subscribe(Lio/reactivex/r;)V
.line 474
:cond_b6
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->decrementAndGet()I
move-result v0
if-nez v0, :cond_e
goto/16 :goto_7
.end method
.method public final isDisposed()Z
.registers 2
.prologue
.line 369
iget-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->cancelled:Z
return v0
.end method
.method public final onComplete()V
.registers 2
.prologue
.line 363
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->done:Z
.line 364
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->drain()V
.line 365
return-void
.end method
.method public final onError(Ljava/lang/Throwable;)V
.registers 3
.prologue
.line 353
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->error:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v0, p1}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
move-result v0
if-eqz v0, :cond_f
.line 354
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->done:Z
.line 355
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->drain()V
.line 359
:goto_e
return-void
.line 357
:cond_f
invoke-static {p1}, Lio/reactivex/d/a;->onError(Ljava/lang/Throwable;)V
goto :goto_e
.end method
.method public final onNext(Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.prologue
.line 345
iget v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->sourceMode:I
if-nez v0, :cond_9
.line 346
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->queue:Lio/reactivex/internal/a/g;
invoke-interface {v0, p1}, Lio/reactivex/internal/a/g;->offer(Ljava/lang/Object;)Z
.line 348
:cond_9
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->drain()V
.line 349
return-void
.end method
.method public final onSubscribe(Lio/reactivex/disposables/b;)V
.registers 4
.prologue
const/4 v1, 0x1
.line 309
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->d:Lio/reactivex/disposables/b;
invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->validate(Lio/reactivex/disposables/b;Lio/reactivex/disposables/b;)Z
move-result v0
if-eqz v0, :cond_26
.line 310
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->d:Lio/reactivex/disposables/b;
.line 312
instance-of v0, p1, Lio/reactivex/internal/a/b;
if-eqz v0, :cond_34
.line 314
check-cast p1, Lio/reactivex/internal/a/b;
.line 316
const/4 v0, 0x3
invoke-interface {p1, v0}, Lio/reactivex/internal/a/b;->requestFusion(I)I
move-result v0
.line 317
if-ne v0, v1, :cond_27
.line 318
iput v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->sourceMode:I
.line 319
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->queue:Lio/reactivex/internal/a/g;
.line 320
iput-boolean v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->done:Z
.line 322
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->actual:Lio/reactivex/r;
invoke-interface {v0, p0}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
.line 324
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->drain()V
.line 341
:cond_26
:goto_26
return-void
.line 327
:cond_27
const/4 v1, 0x2
if-ne v0, v1, :cond_34
.line 328
iput v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->sourceMode:I
.line 329
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->queue:Lio/reactivex/internal/a/g;
.line 331
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->actual:Lio/reactivex/r;
invoke-interface {v0, p0}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
goto :goto_26
.line 337
:cond_34
new-instance v0, Lio/reactivex/internal/queue/a;
iget v1, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->bufferSize:I
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/a;-><init>(I)V
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->queue:Lio/reactivex/internal/a/g;
.line 339
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableConcatMap$ConcatMapDelayErrorObserver;->actual:Lio/reactivex/r;
invoke-interface {v0, p0}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
goto :goto_26
.end method