FlowableFlattenIterable.smali
.class public final Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;
.super Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream;
.source "FlowableFlattenIterable.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable$FlattenIterableSubscriber;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream<",
"TT;TR;>;"
}
.end annotation
# instance fields
.field final mapper:Lio/reactivex/functions/Function;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/functions/Function<",
"-TT;+",
"Ljava/lang/Iterable<",
"+TR;>;>;"
}
.end annotation
.end field
.field final prefetch:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lio/reactivex/Flowable;Lio/reactivex/functions/Function;I)V
.registers 4
.param p3, "prefetch" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/Flowable<",
"TT;>;",
"Lio/reactivex/functions/Function<",
"-TT;+",
"Ljava/lang/Iterable<",
"+TR;>;>;I)V"
}
.end annotation
.line 41
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;, "Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable<TT;TR;>;"
.local p1, "source":Lio/reactivex/Flowable;, "Lio/reactivex/Flowable<TT;>;"
.local p2, "mapper":Lio/reactivex/functions/Function;, "Lio/reactivex/functions/Function<-TT;+Ljava/lang/Iterable<+TR;>;>;"
invoke-direct {p0, p1}, Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream;-><init>(Lio/reactivex/Flowable;)V
.line 42
iput-object p2, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->mapper:Lio/reactivex/functions/Function;
.line 43
iput p3, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->prefetch:I
.line 44
return-void
.end method
# virtual methods
.method public subscribeActual(Lorg/reactivestreams/Subscriber;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/reactivestreams/Subscriber<",
"-TR;>;)V"
}
.end annotation
.line 49
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;, "Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable<TT;TR;>;"
.local p1, "s":Lorg/reactivestreams/Subscriber;, "Lorg/reactivestreams/Subscriber<-TR;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->source:Lio/reactivex/Flowable;
instance-of v0, v0, Ljava/util/concurrent/Callable;
if-eqz v0, :cond_37
.line 53
:try_start_6
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->source:Lio/reactivex/Flowable;
check-cast v0, Ljava/util/concurrent/Callable;
invoke-interface {v0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v0
:try_end_e
.catchall {:try_start_6 .. :try_end_e} :catchall_2f
.line 58
.local v0, "v":Ljava/lang/Object;, "TT;"
nop
.line 60
if-nez v0, :cond_15
.line 61
invoke-static {p1}, Lio/reactivex/internal/subscriptions/EmptySubscription;->complete(Lorg/reactivestreams/Subscriber;)V
.line 62
return-void
.line 68
:cond_15
:try_start_15
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->mapper:Lio/reactivex/functions/Function;
invoke-interface {v1, v0}, Lio/reactivex/functions/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Iterable;
.line 70
.local v1, "iterable":Ljava/lang/Iterable;, "Ljava/lang/Iterable<+TR;>;"
invoke-interface {v1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v2
:try_end_21
.catchall {:try_start_15 .. :try_end_21} :catchall_27
move-object v1, v2
.line 75
.local v1, "it":Ljava/util/Iterator;, "Ljava/util/Iterator<+TR;>;"
nop
.line 77
invoke-static {p1, v1}, Lio/reactivex/internal/operators/flowable/FlowableFromIterable;->subscribe(Lorg/reactivestreams/Subscriber;Ljava/util/Iterator;)V
.line 79
return-void
.line 71
.end local v1 # "it":Ljava/util/Iterator;, "Ljava/util/Iterator<+TR;>;"
:catchall_27
move-exception v1
.line 72
.local v1, "ex":Ljava/lang/Throwable;
invoke-static {v1}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 73
invoke-static {v1, p1}, Lio/reactivex/internal/subscriptions/EmptySubscription;->error(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;)V
.line 74
return-void
.line 54
.end local v0 # "v":Ljava/lang/Object;, "TT;"
.end local v1 # "ex":Ljava/lang/Throwable;
:catchall_2f
move-exception v0
.line 55
.local v0, "ex":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 56
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/EmptySubscription;->error(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;)V
.line 57
return-void
.line 81
.end local v0 # "ex":Ljava/lang/Throwable;
:cond_37
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->source:Lio/reactivex/Flowable;
new-instance v1, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable$FlattenIterableSubscriber;
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->mapper:Lio/reactivex/functions/Function;
iget v3, p0, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable;->prefetch:I
invoke-direct {v1, p1, v2, v3}, Lio/reactivex/internal/operators/flowable/FlowableFlattenIterable$FlattenIterableSubscriber;-><init>(Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;I)V
invoke-virtual {v0, v1}, Lio/reactivex/Flowable;->subscribe(Lio/reactivex/FlowableSubscriber;)V
.line 82
return-void
.end method