FlowableDoOnEach$DoOnEachSubscriber.smali
.class final Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;
.super Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;
.source "FlowableDoOnEach.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/flowable/FlowableDoOnEach;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "DoOnEachSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/subscribers/BasicFuseableSubscriber<",
"TT;TT;>;"
}
.end annotation
# instance fields
.field final onAfterTerminate:Lio/reactivex/functions/Action;
.field final onComplete:Lio/reactivex/functions/Action;
.field final onError:Lio/reactivex/functions/Consumer;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/functions/Consumer<",
"-",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.end field
.field final onNext:Lio/reactivex/functions/Consumer;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/functions/Consumer<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Action;Lio/reactivex/functions/Action;)V
.registers 6
.param p4, "onComplete" # Lio/reactivex/functions/Action;
.param p5, "onAfterTerminate" # Lio/reactivex/functions/Action;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/reactivestreams/Subscriber<",
"-TT;>;",
"Lio/reactivex/functions/Consumer<",
"-TT;>;",
"Lio/reactivex/functions/Consumer<",
"-",
"Ljava/lang/Throwable;",
">;",
"Lio/reactivex/functions/Action;",
"Lio/reactivex/functions/Action;",
")V"
}
.end annotation
.line 67
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber<TT;>;"
.local p1, "actual":Lorg/reactivestreams/Subscriber;, "Lorg/reactivestreams/Subscriber<-TT;>;"
.local p2, "onNext":Lio/reactivex/functions/Consumer;, "Lio/reactivex/functions/Consumer<-TT;>;"
.local p3, "onError":Lio/reactivex/functions/Consumer;, "Lio/reactivex/functions/Consumer<-Ljava/lang/Throwable;>;"
invoke-direct {p0, p1}, Lio/reactivex/internal/subscribers/BasicFuseableSubscriber;-><init>(Lorg/reactivestreams/Subscriber;)V
.line 68
iput-object p2, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onNext:Lio/reactivex/functions/Consumer;
.line 69
iput-object p3, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onError:Lio/reactivex/functions/Consumer;
.line 70
iput-object p4, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onComplete:Lio/reactivex/functions/Action;
.line 71
iput-object p5, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onAfterTerminate:Lio/reactivex/functions/Action;
.line 72
return-void
.end method
# virtual methods
.method public onComplete()V
.registers 2
.line 124
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber<TT;>;"
iget-boolean v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->done:Z
if-eqz v0, :cond_5
.line 125
return-void
.line 128
:cond_5
:try_start_5
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onComplete:Lio/reactivex/functions/Action;
invoke-interface {v0}, Lio/reactivex/functions/Action;->run()V
:try_end_a
.catchall {:try_start_5 .. :try_end_a} :catchall_21
.line 132
nop
.line 134
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->done:Z
.line 135
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->actual:Lorg/reactivestreams/Subscriber;
invoke-interface {v0}, Lorg/reactivestreams/Subscriber;->onComplete()V
.line 138
:try_start_13
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onAfterTerminate:Lio/reactivex/functions/Action;
invoke-interface {v0}, Lio/reactivex/functions/Action;->run()V
:try_end_18
.catchall {:try_start_13 .. :try_end_18} :catchall_19
.line 142
goto :goto_20
.line 139
:catchall_19
move-exception v0
.line 140
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 141
invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 143
.end local v0 # "e":Ljava/lang/Throwable;
:goto_20
return-void
.line 129
:catchall_21
move-exception v0
.line 130
.restart local v0 # "e":Ljava/lang/Throwable;
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->fail(Ljava/lang/Throwable;)V
.line 131
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 9
.param p1, "t" # Ljava/lang/Throwable;
.line 97
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber<TT;>;"
iget-boolean v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->done:Z
if-eqz v0, :cond_8
.line 98
invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 99
return-void
.line 101
:cond_8
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->done:Z
.line 102
const/4 v1, 0x1
.line 104
.local v1, "relay":Z
:try_start_c
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onError:Lio/reactivex/functions/Consumer;
invoke-interface {v2, p1}, Lio/reactivex/functions/Consumer;->accept(Ljava/lang/Object;)V
:try_end_11
.catchall {:try_start_c .. :try_end_11} :catchall_12
.line 109
goto :goto_29
.line 105
:catchall_12
move-exception v2
.line 106
.local v2, "e":Ljava/lang/Throwable;
invoke-static {v2}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 107
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->actual:Lorg/reactivestreams/Subscriber;
new-instance v4, Lio/reactivex/exceptions/CompositeException;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Throwable;
const/4 v6, 0x0
aput-object p1, v5, v6
aput-object v2, v5, v0
invoke-direct {v4, v5}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-interface {v3, v4}, Lorg/reactivestreams/Subscriber;->onError(Ljava/lang/Throwable;)V
.line 108
const/4 v1, 0x0
.line 110
.end local v2 # "e":Ljava/lang/Throwable;
:goto_29
if-eqz v1, :cond_30
.line 111
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->actual:Lorg/reactivestreams/Subscriber;
invoke-interface {v0, p1}, Lorg/reactivestreams/Subscriber;->onError(Ljava/lang/Throwable;)V
.line 115
:cond_30
:try_start_30
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onAfterTerminate:Lio/reactivex/functions/Action;
invoke-interface {v0}, Lio/reactivex/functions/Action;->run()V
:try_end_35
.catchall {:try_start_30 .. :try_end_35} :catchall_36
.line 119
goto :goto_3d
.line 116
:catchall_36
move-exception v0
.line 117
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 118
invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 120
.end local v0 # "e":Ljava/lang/Throwable;
:goto_3d
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 76
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber<TT;>;"
.local p1, "t":Ljava/lang/Object;, "TT;"
iget-boolean v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->done:Z
if-eqz v0, :cond_5
.line 77
return-void
.line 80
:cond_5
iget v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->sourceMode:I
if-eqz v0, :cond_10
.line 81
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->actual:Lorg/reactivestreams/Subscriber;
const/4 v1, 0x0
invoke-interface {v0, v1}, Lorg/reactivestreams/Subscriber;->onNext(Ljava/lang/Object;)V
.line 82
return-void
.line 86
:cond_10
:try_start_10
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onNext:Lio/reactivex/functions/Consumer;
invoke-interface {v0, p1}, Lio/reactivex/functions/Consumer;->accept(Ljava/lang/Object;)V
:try_end_15
.catchall {:try_start_10 .. :try_end_15} :catchall_1c
.line 90
nop
.line 92
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->actual:Lorg/reactivestreams/Subscriber;
invoke-interface {v0, p1}, Lorg/reactivestreams/Subscriber;->onNext(Ljava/lang/Object;)V
.line 93
return-void
.line 87
:catchall_1c
move-exception v0
.line 88
.local v0, "e":Ljava/lang/Throwable;
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->fail(Ljava/lang/Throwable;)V
.line 89
return-void
.end method
.method public poll()Ljava/lang/Object;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 156
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber<TT;>;"
const/4 v0, 0x0
const/4 v1, 0x2
const/4 v2, 0x1
:try_start_3
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->qs:Lio/reactivex/internal/fuseable/QueueSubscription;
invoke-interface {v3}, Lio/reactivex/internal/fuseable/QueueSubscription;->poll()Ljava/lang/Object;
move-result-object v3
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_4b
.line 165
.local v3, "v":Ljava/lang/Object;, "TT;"
nop
.line 167
if-eqz v3, :cond_3c
.line 170
:try_start_c
iget-object v4, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onNext:Lio/reactivex/functions/Consumer;
invoke-interface {v4, v3}, Lio/reactivex/functions/Consumer;->accept(Ljava/lang/Object;)V
:try_end_11
.catchall {:try_start_c .. :try_end_11} :catchall_19
.line 179
nop
.line 181
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onAfterTerminate:Lio/reactivex/functions/Action;
invoke-interface {v0}, Lio/reactivex/functions/Action;->run()V
.line 182
nop
.line 181
goto :goto_4a
.line 171
:catchall_19
move-exception v4
.line 172
.local v4, "ex":Ljava/lang/Throwable;
:try_start_1a
invoke-static {v4}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
:try_end_1d
.catchall {:try_start_1a .. :try_end_1d} :catchall_35
.line 174
:try_start_1d
iget-object v5, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onError:Lio/reactivex/functions/Consumer;
invoke-interface {v5, v4}, Lio/reactivex/functions/Consumer;->accept(Ljava/lang/Object;)V
:try_end_22
.catchall {:try_start_1d .. :try_end_22} :catchall_28
.line 177
nop
.line 178
:try_start_23
invoke-static {v4}, Lio/reactivex/internal/util/ExceptionHelper;->throwIfThrowable(Ljava/lang/Throwable;)Ljava/lang/Exception;
move-result-object v0
.end local v3 # "v":Ljava/lang/Object;, "TT;"
throw v0
.line 175
.restart local v3 # "v":Ljava/lang/Object;, "TT;"
:catchall_28
move-exception v5
.line 176
.local v5, "exc":Ljava/lang/Throwable;
new-instance v6, Lio/reactivex/exceptions/CompositeException;
new-array v1, v1, [Ljava/lang/Throwable;
aput-object v4, v1, v0
aput-object v5, v1, v2
invoke-direct {v6, v1}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
.end local v3 # "v":Ljava/lang/Object;, "TT;"
throw v6
:try_end_35
.catchall {:try_start_23 .. :try_end_35} :catchall_35
.line 181
.end local v4 # "ex":Ljava/lang/Throwable;
.end local v5 # "exc":Ljava/lang/Throwable;
.restart local v3 # "v":Ljava/lang/Object;, "TT;"
:catchall_35
move-exception v0
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onAfterTerminate:Lio/reactivex/functions/Action;
invoke-interface {v1}, Lio/reactivex/functions/Action;->run()V
throw v0
.line 184
:cond_3c
iget v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->sourceMode:I
if-ne v0, v2, :cond_4a
.line 185
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onComplete:Lio/reactivex/functions/Action;
invoke-interface {v0}, Lio/reactivex/functions/Action;->run()V
.line 187
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onAfterTerminate:Lio/reactivex/functions/Action;
invoke-interface {v0}, Lio/reactivex/functions/Action;->run()V
.line 190
:cond_4a
:goto_4a
return-object v3
.line 157
.end local v3 # "v":Ljava/lang/Object;, "TT;"
:catchall_4b
move-exception v3
.line 158
.local v3, "ex":Ljava/lang/Throwable;
invoke-static {v3}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 160
:try_start_4f
iget-object v4, p0, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->onError:Lio/reactivex/functions/Consumer;
invoke-interface {v4, v3}, Lio/reactivex/functions/Consumer;->accept(Ljava/lang/Object;)V
:try_end_54
.catchall {:try_start_4f .. :try_end_54} :catchall_5a
.line 163
nop
.line 164
invoke-static {v3}, Lio/reactivex/internal/util/ExceptionHelper;->throwIfThrowable(Ljava/lang/Throwable;)Ljava/lang/Exception;
move-result-object v0
throw v0
.line 161
:catchall_5a
move-exception v4
.line 162
.local v4, "exc":Ljava/lang/Throwable;
new-instance v5, Lio/reactivex/exceptions/CompositeException;
new-array v1, v1, [Ljava/lang/Throwable;
aput-object v3, v1, v0
aput-object v4, v1, v2
invoke-direct {v5, v1}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
throw v5
.end method
.method public requestFusion(I)I
.registers 3
.param p1, "mode" # I
.line 147
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber<TT;>;"
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/flowable/FlowableDoOnEach$DoOnEachSubscriber;->transitiveBoundaryFusion(I)I
move-result v0
return v0
.end method