FlowableGroupJoin.smali
.class public final Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;
.super Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream;
.source "FlowableGroupJoin.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;,
Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;,
Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription;,
Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T",
"Left:Ljava/lang/Object;",
"TRight:",
"Ljava/lang/Object;",
"T",
"LeftEnd:Ljava/lang/Object;",
"TRightEnd:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream<",
"TT",
"Left;",
"TR;>;"
}
.end annotation
# instance fields
.field final leftEnd:Lio/reactivex/functions/Function;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/functions/Function<",
"-TT",
"Left;",
"+",
"Lorg/reactivestreams/Publisher<",
"TT",
"LeftEnd;",
">;>;"
}
.end annotation
.end field
.field final other:Lorg/reactivestreams/Publisher;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lorg/reactivestreams/Publisher<",
"+TTRight;>;"
}
.end annotation
.end field
.field final resultSelector:Lio/reactivex/functions/BiFunction;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/functions/BiFunction<",
"-TT",
"Left;",
"-",
"Lio/reactivex/Flowable<",
"TTRight;>;+TR;>;"
}
.end annotation
.end field
.field final rightEnd:Lio/reactivex/functions/Function;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/functions/Function<",
"-TTRight;+",
"Lorg/reactivestreams/Publisher<",
"TTRightEnd;>;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lio/reactivex/Flowable;Lorg/reactivestreams/Publisher;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;Lio/reactivex/functions/BiFunction;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/Flowable<",
"TT",
"Left;",
">;",
"Lorg/reactivestreams/Publisher<",
"+TTRight;>;",
"Lio/reactivex/functions/Function<",
"-TT",
"Left;",
"+",
"Lorg/reactivestreams/Publisher<",
"TT",
"LeftEnd;",
">;>;",
"Lio/reactivex/functions/Function<",
"-TTRight;+",
"Lorg/reactivestreams/Publisher<",
"TTRightEnd;>;>;",
"Lio/reactivex/functions/BiFunction<",
"-TT",
"Left;",
"-",
"Lio/reactivex/Flowable<",
"TTRight;>;+TR;>;)V"
}
.end annotation
.line 52
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;, "Lio/reactivex/internal/operators/flowable/FlowableGroupJoin<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;"
.local p1, "source":Lio/reactivex/Flowable;, "Lio/reactivex/Flowable<TTLeft;>;"
.local p2, "other":Lorg/reactivestreams/Publisher;, "Lorg/reactivestreams/Publisher<+TTRight;>;"
.local p3, "leftEnd":Lio/reactivex/functions/Function;, "Lio/reactivex/functions/Function<-TTLeft;+Lorg/reactivestreams/Publisher<TTLeftEnd;>;>;"
.local p4, "rightEnd":Lio/reactivex/functions/Function;, "Lio/reactivex/functions/Function<-TTRight;+Lorg/reactivestreams/Publisher<TTRightEnd;>;>;"
.local p5, "resultSelector":Lio/reactivex/functions/BiFunction;, "Lio/reactivex/functions/BiFunction<-TTLeft;-Lio/reactivex/Flowable<TTRight;>;+TR;>;"
invoke-direct {p0, p1}, Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream;-><init>(Lio/reactivex/Flowable;)V
.line 53
iput-object p2, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->other:Lorg/reactivestreams/Publisher;
.line 54
iput-object p3, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->leftEnd:Lio/reactivex/functions/Function;
.line 55
iput-object p4, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->rightEnd:Lio/reactivex/functions/Function;
.line 56
iput-object p5, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->resultSelector:Lio/reactivex/functions/BiFunction;
.line 57
return-void
.end method
# virtual methods
.method protected subscribeActual(Lorg/reactivestreams/Subscriber;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/reactivestreams/Subscriber<",
"-TR;>;)V"
}
.end annotation
.line 62
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;, "Lio/reactivex/internal/operators/flowable/FlowableGroupJoin<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;"
.local p1, "s":Lorg/reactivestreams/Subscriber;, "Lorg/reactivestreams/Subscriber<-TR;>;"
new-instance v0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription;
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->leftEnd:Lio/reactivex/functions/Function;
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->rightEnd:Lio/reactivex/functions/Function;
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->resultSelector:Lio/reactivex/functions/BiFunction;
invoke-direct {v0, p1, v1, v2, v3}, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription;-><init>(Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;Lio/reactivex/functions/BiFunction;)V
.line 65
.local v0, "parent":Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription;, "Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;"
invoke-interface {p1, v0}, Lorg/reactivestreams/Subscriber;->onSubscribe(Lorg/reactivestreams/Subscription;)V
.line 67
new-instance v1, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
const/4 v2, 0x1
invoke-direct {v1, v0, v2}, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;-><init>(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;Z)V
.line 68
.local v1, "left":Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
iget-object v2, v0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription;->disposables:Lio/reactivex/disposables/CompositeDisposable;
invoke-virtual {v2, v1}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
.line 69
new-instance v2, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
const/4 v3, 0x0
invoke-direct {v2, v0, v3}, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;-><init>(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;Z)V
.line 70
.local v2, "right":Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
iget-object v3, v0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription;->disposables:Lio/reactivex/disposables/CompositeDisposable;
invoke-virtual {v3, v2}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
.line 72
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->source:Lio/reactivex/Flowable;
invoke-virtual {v3, v1}, Lio/reactivex/Flowable;->subscribe(Lio/reactivex/FlowableSubscriber;)V
.line 73
iget-object v3, p0, Lio/reactivex/internal/operators/flowable/FlowableGroupJoin;->other:Lorg/reactivestreams/Publisher;
invoke-interface {v3, v2}, Lorg/reactivestreams/Publisher;->subscribe(Lorg/reactivestreams/Subscriber;)V
.line 74
return-void
.end method