FlowableObserveOn$ObserveOnConditionalSubscriber.smali
.class final Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;
.super Lio/reactivex/internal/operators/flowable/FlowableObserveOn$BaseObserveOnSubscriber;
.source "FlowableObserveOn.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/flowable/FlowableObserveOn;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "ObserveOnConditionalSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/flowable/FlowableObserveOn$BaseObserveOnSubscriber<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x8f22a8b85feb275L
# instance fields
.field final actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/fuseable/ConditionalSubscriber<",
"-TT;>;"
}
.end annotation
.end field
.field consumed:J
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lio/reactivex/internal/fuseable/ConditionalSubscriber;Lio/reactivex/Scheduler$Worker;ZI)V
.registers 5
.param p2, "worker" # Lio/reactivex/Scheduler$Worker;
.param p3, "delayError" # Z
.param p4, "prefetch" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/fuseable/ConditionalSubscriber<",
"-TT;>;",
"Lio/reactivex/Scheduler$Worker;",
"ZI)V"
}
.end annotation
.line 493
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber<TT;>;"
.local p1, "actual":Lio/reactivex/internal/fuseable/ConditionalSubscriber;, "Lio/reactivex/internal/fuseable/ConditionalSubscriber<-TT;>;"
invoke-direct {p0, p2, p3, p4}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$BaseObserveOnSubscriber;-><init>(Lio/reactivex/Scheduler$Worker;ZI)V
.line 494
iput-object p1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
.line 495
return-void
.end method
# virtual methods
.method public onSubscribe(Lorg/reactivestreams/Subscription;)V
.registers 6
.param p1, "s" # Lorg/reactivestreams/Subscription;
.line 499
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->s:Lorg/reactivestreams/Subscription;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
move-result v0
if-eqz v0, :cond_4c
.line 500
iput-object p1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->s:Lorg/reactivestreams/Subscription;
.line 502
instance-of v0, p1, Lio/reactivex/internal/fuseable/QueueSubscription;
if-eqz v0, :cond_38
.line 504
move-object v0, p1
check-cast v0, Lio/reactivex/internal/fuseable/QueueSubscription;
.line 506
.local v0, "f":Lio/reactivex/internal/fuseable/QueueSubscription;, "Lio/reactivex/internal/fuseable/QueueSubscription<TT;>;"
const/4 v1, 0x7
invoke-interface {v0, v1}, Lio/reactivex/internal/fuseable/QueueSubscription;->requestFusion(I)I
move-result v1
.line 508
.local v1, "m":I
const/4 v2, 0x1
if-ne v1, v2, :cond_25
.line 509
iput v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->sourceMode:I
.line 510
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 511
iput-boolean v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->done:Z
.line 513
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
invoke-interface {v2, p0}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onSubscribe(Lorg/reactivestreams/Subscription;)V
.line 514
return-void
.line 516
:cond_25
const/4 v2, 0x2
if-ne v1, v2, :cond_38
.line 517
iput v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->sourceMode:I
.line 518
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 520
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
invoke-interface {v2, p0}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onSubscribe(Lorg/reactivestreams/Subscription;)V
.line 522
iget v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->prefetch:I
int-to-long v2, v2
invoke-interface {p1, v2, v3}, Lorg/reactivestreams/Subscription;->request(J)V
.line 524
return-void
.line 528
.end local v0 # "f":Lio/reactivex/internal/fuseable/QueueSubscription;, "Lio/reactivex/internal/fuseable/QueueSubscription<TT;>;"
.end local v1 # "m":I
:cond_38
new-instance v0, Lio/reactivex/internal/queue/SpscArrayQueue;
iget v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->prefetch:I
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/SpscArrayQueue;-><init>(I)V
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 530
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
invoke-interface {v0, p0}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onSubscribe(Lorg/reactivestreams/Subscription;)V
.line 532
iget v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->prefetch:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lorg/reactivestreams/Subscription;->request(J)V
.line 534
:cond_4c
return-void
.end method
.method public poll()Ljava/lang/Object;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 703
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
invoke-interface {v0}, Lio/reactivex/internal/fuseable/SimpleQueue;->poll()Ljava/lang/Object;
move-result-object v0
.line 704
.local v0, "v":Ljava/lang/Object;, "TT;"
if-eqz v0, :cond_25
iget v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->sourceMode:I
const/4 v2, 0x1
if-eq v1, v2, :cond_25
.line 705
iget-wide v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->consumed:J
const-wide/16 v3, 0x1
add-long/2addr v1, v3
.line 706
.local v1, "p":J
iget v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->limit:I
int-to-long v3, v3
cmp-long v5, v1, v3
if-nez v5, :cond_23
.line 707
const-wide/16 v3, 0x0
iput-wide v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->consumed:J
.line 708
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->s:Lorg/reactivestreams/Subscription;
invoke-interface {v3, v1, v2}, Lorg/reactivestreams/Subscription;->request(J)V
goto :goto_25
.line 710
:cond_23
iput-wide v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->consumed:J
.line 713
.end local v1 # "p":J
:cond_25
:goto_25
return-object v0
.end method
.method runAsync()V
.registers 16
.line 600
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber<TT;>;"
const/4 v0, 0x1
.line 602
.local v0, "missed":I
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
.line 603
.local v1, "a":Lio/reactivex/internal/fuseable/ConditionalSubscriber;, "Lio/reactivex/internal/fuseable/ConditionalSubscriber<-TT;>;"
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 605
.local v2, "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
iget-wide v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->produced:J
.line 606
.local v3, "emitted":J
iget-wide v5, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->consumed:J
.line 610
.local v5, "polled":J
:goto_9
iget-object v7, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v7
.line 612
.local v7, "r":J
:goto_f
cmp-long v9, v3, v7
if-eqz v9, :cond_57
.line 613
iget-boolean v9, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->done:Z
.line 616
.local v9, "d":Z
:try_start_15
invoke-interface {v2}, Lio/reactivex/internal/fuseable/SimpleQueue;->poll()Ljava/lang/Object;
move-result-object v10
:try_end_19
.catchall {:try_start_15 .. :try_end_19} :catchall_42
.line 626
.local v10, "v":Ljava/lang/Object;, "TT;"
nop
.line 627
if-nez v10, :cond_1e
const/4 v11, 0x1
goto :goto_1f
:cond_1e
const/4 v11, 0x0
.line 629
.local v11, "empty":Z
:goto_1f
invoke-virtual {p0, v9, v11, v1}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->checkTerminated(ZZLorg/reactivestreams/Subscriber;)Z
move-result v12
if-eqz v12, :cond_26
.line 630
return-void
.line 633
:cond_26
if-eqz v11, :cond_29
.line 634
goto :goto_57
.line 637
:cond_29
invoke-interface {v1, v10}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->tryOnNext(Ljava/lang/Object;)Z
move-result v12
const-wide/16 v13, 0x1
if-eqz v12, :cond_32
.line 638
add-long/2addr v3, v13
.line 641
:cond_32
add-long/2addr v5, v13
.line 643
iget v12, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->limit:I
int-to-long v12, v12
cmp-long v14, v5, v12
if-nez v14, :cond_41
.line 644
iget-object v12, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->s:Lorg/reactivestreams/Subscription;
invoke-interface {v12, v5, v6}, Lorg/reactivestreams/Subscription;->request(J)V
.line 645
const-wide/16 v5, 0x0
.line 647
.end local v9 # "d":Z
.end local v10 # "v":Ljava/lang/Object;, "TT;"
.end local v11 # "empty":Z
:cond_41
goto :goto_f
.line 617
.restart local v9 # "d":Z
:catchall_42
move-exception v10
.line 618
.local v10, "ex":Ljava/lang/Throwable;
invoke-static {v10}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 620
iget-object v11, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->s:Lorg/reactivestreams/Subscription;
invoke-interface {v11}, Lorg/reactivestreams/Subscription;->cancel()V
.line 621
invoke-interface {v2}, Lio/reactivex/internal/fuseable/SimpleQueue;->clear()V
.line 623
invoke-interface {v1, v10}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onError(Ljava/lang/Throwable;)V
.line 624
iget-object v11, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->worker:Lio/reactivex/Scheduler$Worker;
invoke-virtual {v11}, Lio/reactivex/Scheduler$Worker;->dispose()V
.line 625
return-void
.line 649
.end local v9 # "d":Z
.end local v10 # "ex":Ljava/lang/Throwable;
:cond_57
:goto_57
cmp-long v9, v3, v7
if-nez v9, :cond_68
iget-boolean v9, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->done:Z
invoke-interface {v2}, Lio/reactivex/internal/fuseable/SimpleQueue;->isEmpty()Z
move-result v10
invoke-virtual {p0, v9, v10, v1}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->checkTerminated(ZZLorg/reactivestreams/Subscriber;)Z
move-result v9
if-eqz v9, :cond_68
.line 650
return-void
.line 653
:cond_68
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->get()I
move-result v9
.line 654
.local v9, "w":I
if-ne v0, v9, :cond_7b
.line 655
iput-wide v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->produced:J
.line 656
iput-wide v5, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->consumed:J
.line 657
neg-int v10, v0
invoke-virtual {p0, v10}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->addAndGet(I)I
move-result v0
.line 658
if-nez v0, :cond_7c
.line 659
nop
.line 666
.end local v7 # "r":J
.end local v9 # "w":I
return-void
.line 662
.restart local v7 # "r":J
.restart local v9 # "w":I
:cond_7b
move v0, v9
.line 664
.end local v7 # "r":J
.end local v9 # "w":I
:cond_7c
goto :goto_9
.end method
.method runBackfused()V
.registers 5
.line 670
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber<TT;>;"
const/4 v0, 0x1
.line 674
.local v0, "missed":I
:goto_1
iget-boolean v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->cancelled:Z
if-eqz v1, :cond_6
.line 675
return-void
.line 678
:cond_6
iget-boolean v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->done:Z
.line 680
.local v1, "d":Z
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
const/4 v3, 0x0
invoke-interface {v2, v3}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onNext(Ljava/lang/Object;)V
.line 682
if-eqz v1, :cond_25
.line 683
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->error:Ljava/lang/Throwable;
.line 684
.local v2, "e":Ljava/lang/Throwable;
if-eqz v2, :cond_1a
.line 685
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
invoke-interface {v3, v2}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onError(Ljava/lang/Throwable;)V
goto :goto_1f
.line 687
:cond_1a
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
invoke-interface {v3}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onComplete()V
.line 689
:goto_1f
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->worker:Lio/reactivex/Scheduler$Worker;
invoke-virtual {v3}, Lio/reactivex/Scheduler$Worker;->dispose()V
.line 690
return-void
.line 693
.end local v2 # "e":Ljava/lang/Throwable;
:cond_25
neg-int v2, v0
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->addAndGet(I)I
move-result v0
.line 694
if-nez v0, :cond_2e
.line 695
nop
.line 698
.end local v1 # "d":Z
return-void
.line 697
:cond_2e
goto :goto_1
.end method
.method runSync()V
.registers 11
.line 538
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber<TT;>;"
const/4 v0, 0x1
.line 540
.local v0, "missed":I
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->actual:Lio/reactivex/internal/fuseable/ConditionalSubscriber;
.line 541
.local v1, "a":Lio/reactivex/internal/fuseable/ConditionalSubscriber;, "Lio/reactivex/internal/fuseable/ConditionalSubscriber<-TT;>;"
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 543
.local v2, "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
iget-wide v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->produced:J
.line 547
.local v3, "e":J
:goto_7
iget-object v5, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v5
.line 549
.local v5, "r":J
:goto_d
cmp-long v7, v3, v5
if-eqz v7, :cond_42
.line 552
:try_start_11
invoke-interface {v2}, Lio/reactivex/internal/fuseable/SimpleQueue;->poll()Ljava/lang/Object;
move-result-object v7
:try_end_15
.catchall {:try_start_11 .. :try_end_15} :catchall_30
.line 559
.local v7, "v":Ljava/lang/Object;, "TT;"
nop
.line 561
iget-boolean v8, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->cancelled:Z
if-eqz v8, :cond_1b
.line 562
return-void
.line 564
:cond_1b
if-nez v7, :cond_26
.line 565
invoke-interface {v1}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onComplete()V
.line 566
iget-object v8, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->worker:Lio/reactivex/Scheduler$Worker;
invoke-virtual {v8}, Lio/reactivex/Scheduler$Worker;->dispose()V
.line 567
return-void
.line 570
:cond_26
invoke-interface {v1, v7}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->tryOnNext(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_2f
.line 571
const-wide/16 v8, 0x1
add-long/2addr v3, v8
.line 573
.end local v7 # "v":Ljava/lang/Object;, "TT;"
:cond_2f
goto :goto_d
.line 553
:catchall_30
move-exception v7
.line 554
.local v7, "ex":Ljava/lang/Throwable;
invoke-static {v7}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 555
iget-object v8, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->s:Lorg/reactivestreams/Subscription;
invoke-interface {v8}, Lorg/reactivestreams/Subscription;->cancel()V
.line 556
invoke-interface {v1, v7}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onError(Ljava/lang/Throwable;)V
.line 557
iget-object v8, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->worker:Lio/reactivex/Scheduler$Worker;
invoke-virtual {v8}, Lio/reactivex/Scheduler$Worker;->dispose()V
.line 558
return-void
.line 575
.end local v7 # "ex":Ljava/lang/Throwable;
:cond_42
iget-boolean v7, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->cancelled:Z
if-eqz v7, :cond_47
.line 576
return-void
.line 579
:cond_47
invoke-interface {v2}, Lio/reactivex/internal/fuseable/SimpleQueue;->isEmpty()Z
move-result v7
if-eqz v7, :cond_56
.line 580
invoke-interface {v1}, Lio/reactivex/internal/fuseable/ConditionalSubscriber;->onComplete()V
.line 581
iget-object v7, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->worker:Lio/reactivex/Scheduler$Worker;
invoke-virtual {v7}, Lio/reactivex/Scheduler$Worker;->dispose()V
.line 582
return-void
.line 585
:cond_56
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->get()I
move-result v7
.line 586
.local v7, "w":I
if-ne v0, v7, :cond_67
.line 587
iput-wide v3, p0, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->produced:J
.line 588
neg-int v8, v0
invoke-virtual {p0, v8}, Lio/reactivex/internal/operators/flowable/FlowableObserveOn$ObserveOnConditionalSubscriber;->addAndGet(I)I
move-result v0
.line 589
if-nez v0, :cond_68
.line 590
nop
.line 596
.end local v5 # "r":J
.end local v7 # "w":I
return-void
.line 593
.restart local v5 # "r":J
.restart local v7 # "w":I
:cond_67
move v0, v7
.line 595
.end local v5 # "r":J
.end local v7 # "w":I
:cond_68
goto :goto_7
.end method