ObservableWindow.smali
.class public final Lio/reactivex/internal/operators/observable/ObservableWindow;
.super Lio/reactivex/internal/operators/observable/AbstractObservableWithUpstream;
.source "ObservableWindow.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/observable/ObservableWindow$WindowSkipObserver;,
Lio/reactivex/internal/operators/observable/ObservableWindow$WindowExactObserver;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/observable/AbstractObservableWithUpstream<",
"TT;",
"Lio/reactivex/Observable<",
"TT;>;>;"
}
.end annotation
# instance fields
.field final capacityHint:I
.field final count:J
.field final skip:J
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lio/reactivex/ObservableSource;JJI)V
.registers 7
.param p2, "count" # J
.param p4, "skip" # J
.param p6, "capacityHint" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/ObservableSource<",
"TT;>;JJI)V"
}
.end annotation
.line 30
.local p0, "this":Lio/reactivex/internal/operators/observable/ObservableWindow;, "Lio/reactivex/internal/operators/observable/ObservableWindow<TT;>;"
.local p1, "source":Lio/reactivex/ObservableSource;, "Lio/reactivex/ObservableSource<TT;>;"
invoke-direct {p0, p1}, Lio/reactivex/internal/operators/observable/AbstractObservableWithUpstream;-><init>(Lio/reactivex/ObservableSource;)V
.line 31
iput-wide p2, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->count:J
.line 32
iput-wide p4, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->skip:J
.line 33
iput p6, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->capacityHint:I
.line 34
return-void
.end method
# virtual methods
.method public subscribeActual(Lio/reactivex/Observer;)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/Observer<",
"-",
"Lio/reactivex/Observable<",
"TT;>;>;)V"
}
.end annotation
.line 38
.local p0, "this":Lio/reactivex/internal/operators/observable/ObservableWindow;, "Lio/reactivex/internal/operators/observable/ObservableWindow<TT;>;"
.local p1, "t":Lio/reactivex/Observer;, "Lio/reactivex/Observer<-Lio/reactivex/Observable<TT;>;>;"
iget-wide v0, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->count:J
iget-wide v2, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->skip:J
cmp-long v4, v0, v2
if-nez v4, :cond_17
.line 39
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->source:Lio/reactivex/ObservableSource;
new-instance v1, Lio/reactivex/internal/operators/observable/ObservableWindow$WindowExactObserver;
iget-wide v2, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->count:J
iget v4, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->capacityHint:I
invoke-direct {v1, p1, v2, v3, v4}, Lio/reactivex/internal/operators/observable/ObservableWindow$WindowExactObserver;-><init>(Lio/reactivex/Observer;JI)V
invoke-interface {v0, v1}, Lio/reactivex/ObservableSource;->subscribe(Lio/reactivex/Observer;)V
goto :goto_29
.line 41
:cond_17
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->source:Lio/reactivex/ObservableSource;
new-instance v8, Lio/reactivex/internal/operators/observable/ObservableWindow$WindowSkipObserver;
iget-wide v3, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->count:J
iget-wide v5, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->skip:J
iget v7, p0, Lio/reactivex/internal/operators/observable/ObservableWindow;->capacityHint:I
move-object v1, v8
move-object v2, p1
invoke-direct/range {v1 .. v7}, Lio/reactivex/internal/operators/observable/ObservableWindow$WindowSkipObserver;-><init>(Lio/reactivex/Observer;JJI)V
invoke-interface {v0, v8}, Lio/reactivex/ObservableSource;->subscribe(Lio/reactivex/Observer;)V
.line 43
:goto_29
return-void
.end method