OperatorDelayWithSelector.smali
.class public final Lrx/internal/operators/OperatorDelayWithSelector;
.super Ljava/lang/Object;
.source "OperatorDelayWithSelector.java"
# interfaces
.implements Lrx/Observable$Operator;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrx/Observable$Operator<",
"TT;TT;>;"
}
.end annotation
# instance fields
.field final itemDelay:Lrx/functions/Func1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/functions/Func1<",
"-TT;+",
"Lrx/Observable<",
"TV;>;>;"
}
.end annotation
.end field
.field final source:Lrx/Observable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/Observable<",
"+TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lrx/Observable;Lrx/functions/Func1;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/Observable<",
"+TT;>;",
"Lrx/functions/Func1<",
"-TT;+",
"Lrx/Observable<",
"TV;>;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lrx/internal/operators/OperatorDelayWithSelector;->source:Lrx/Observable;
.line 3
iput-object p2, p0, Lrx/internal/operators/OperatorDelayWithSelector;->itemDelay:Lrx/functions/Func1;
return-void
.end method
# virtual methods
.method public bridge synthetic call(Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.line 1
check-cast p1, Lrx/Subscriber;
invoke-virtual {p0, p1}, Lrx/internal/operators/OperatorDelayWithSelector;->call(Lrx/Subscriber;)Lrx/Subscriber;
move-result-object p1
return-object p1
.end method
.method public call(Lrx/Subscriber;)Lrx/Subscriber;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/Subscriber<",
"-TT;>;)",
"Lrx/Subscriber<",
"-TT;>;"
}
.end annotation
.line 2
new-instance v0, Lrx/observers/SerializedSubscriber;
invoke-direct {v0, p1}, Lrx/observers/SerializedSubscriber;-><init>(Lrx/Subscriber;)V
.line 3
invoke-static {}, Lrx/subjects/PublishSubject;->create()Lrx/subjects/PublishSubject;
move-result-object v1
.line 4
invoke-static {v1}, Lrx/Observable;->merge(Lrx/Observable;)Lrx/Observable;
move-result-object v2
invoke-static {v0}, Lrx/observers/Subscribers;->from(Lrx/Observer;)Lrx/Subscriber;
move-result-object v3
invoke-virtual {v2, v3}, Lrx/Observable;->unsafeSubscribe(Lrx/Subscriber;)Lrx/Subscription;
move-result-object v2
invoke-virtual {p1, v2}, Lrx/Subscriber;->add(Lrx/Subscription;)V
.line 5
new-instance v2, Lrx/internal/operators/OperatorDelayWithSelector$1;
invoke-direct {v2, p0, p1, v1, v0}, Lrx/internal/operators/OperatorDelayWithSelector$1;-><init>(Lrx/internal/operators/OperatorDelayWithSelector;Lrx/Subscriber;Lrx/subjects/PublishSubject;Lrx/observers/SerializedSubscriber;)V
return-object v2
.end method