ObservableZip.smali
.class public final Lio/reactivex/internal/operators/observable/ObservableZip;
.super Lio/reactivex/k;
.source "ObservableZip.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/k",
"<TR;>;"
}
.end annotation
# instance fields
.field private bPi:[Lio/reactivex/p;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lio/reactivex/p",
"<+TT;>;"
}
.end annotation
.end field
.field private bPj:Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Iterable",
"<+",
"Lio/reactivex/p",
"<+TT;>;>;"
}
.end annotation
.end field
.field private bufferSize:I
.field private delayError:Z
.field private zipper:Lio/reactivex/b/h;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/b/h",
"<-[",
"Ljava/lang/Object;",
"+TR;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>([Lio/reactivex/p;Ljava/lang/Iterable;Lio/reactivex/b/h;IZ)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lio/reactivex/p",
"<+TT;>;",
"Ljava/lang/Iterable",
"<+",
"Lio/reactivex/p",
"<+TT;>;>;",
"Lio/reactivex/b/h",
"<-[",
"Ljava/lang/Object;",
"+TR;>;IZ)V"
}
.end annotation
.prologue
.line 39
invoke-direct {p0}, Lio/reactivex/k;-><init>()V
.line 40
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->bPi:[Lio/reactivex/p;
.line 41
iput-object p2, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->bPj:Ljava/lang/Iterable;
.line 42
iput-object p3, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->zipper:Lio/reactivex/b/h;
.line 43
iput p4, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->bufferSize:I
.line 44
iput-boolean p5, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->delayError:Z
.line 45
return-void
.end method
# virtual methods
.method public final subscribeActual(Lio/reactivex/r;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TR;>;)V"
}
.end annotation
.prologue
const/4 v4, 0x0
.line 50
iget-object v2, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->bPi:[Lio/reactivex/p;
.line 52
if-nez v2, :cond_2e
.line 53
const/16 v0, 0x8
new-array v2, v0, [Lio/reactivex/k;
.line 54
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->bPj:Ljava/lang/Iterable;
invoke-interface {v0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v5
move v3, v4
:goto_10
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2f
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/p;
.line 55
array-length v1, v2
if-ne v3, v1, :cond_44
.line 56
shr-int/lit8 v1, v3, 0x2
add-int/2addr v1, v3
new-array v1, v1, [Lio/reactivex/p;
.line 57
invoke-static {v2, v4, v1, v4, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 60
:goto_27
add-int/lit8 v2, v3, 0x1
aput-object v0, v1, v3
move v3, v2
move-object v2, v1
.line 61
goto :goto_10
.line 63
:cond_2e
array-length v3, v2
.line 66
:cond_2f
if-nez v3, :cond_35
.line 67
invoke-static {p1}, Lio/reactivex/internal/disposables/EmptyDisposable;->complete(Lio/reactivex/r;)V
.line 73
:goto_34
return-void
.line 71
:cond_35
new-instance v0, Lio/reactivex/internal/operators/observable/ObservableZip$ZipCoordinator;
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->zipper:Lio/reactivex/b/h;
iget-boolean v4, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->delayError:Z
invoke-direct {v0, p1, v1, v3, v4}, Lio/reactivex/internal/operators/observable/ObservableZip$ZipCoordinator;-><init>(Lio/reactivex/r;Lio/reactivex/b/h;IZ)V
.line 72
iget v1, p0, Lio/reactivex/internal/operators/observable/ObservableZip;->bufferSize:I
invoke-virtual {v0, v2, v1}, Lio/reactivex/internal/operators/observable/ObservableZip$ZipCoordinator;->subscribe([Lio/reactivex/p;I)V
goto :goto_34
:cond_44
move-object v1, v2
goto :goto_27
.end method