OperatorMerge.smali
.class public final Lrx/internal/operators/OperatorMerge;
.super Ljava/lang/Object;
.source "OperatorMerge.java"
# interfaces
.implements Lrx/Observable$Operator;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lrx/internal/operators/OperatorMerge$InnerSubscriber;,
Lrx/internal/operators/OperatorMerge$MergeSubscriber;,
Lrx/internal/operators/OperatorMerge$MergeProducer;,
Lrx/internal/operators/OperatorMerge$HolderDelayErrors;,
Lrx/internal/operators/OperatorMerge$HolderNoDelay;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrx/Observable$Operator<",
"TT;",
"Lrx/Observable<",
"+TT;>;>;"
}
.end annotation
# instance fields
.field final delayErrors:Z
.field final maxConcurrent:I
# direct methods
.method constructor <init>(ZI)V
.registers 3
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-boolean p1, p0, Lrx/internal/operators/OperatorMerge;->delayErrors:Z
.line 3
iput p2, p0, Lrx/internal/operators/OperatorMerge;->maxConcurrent:I
return-void
.end method
.method public static instance(Z)Lrx/internal/operators/OperatorMerge;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(Z)",
"Lrx/internal/operators/OperatorMerge<",
"TT;>;"
}
.end annotation
if-eqz p0, :cond_5
.line 1
sget-object p0, Lrx/internal/operators/OperatorMerge$HolderDelayErrors;->INSTANCE:Lrx/internal/operators/OperatorMerge;
return-object p0
.line 2
:cond_5
sget-object p0, Lrx/internal/operators/OperatorMerge$HolderNoDelay;->INSTANCE:Lrx/internal/operators/OperatorMerge;
return-object p0
.end method
.method public static instance(ZI)Lrx/internal/operators/OperatorMerge;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(ZI)",
"Lrx/internal/operators/OperatorMerge<",
"TT;>;"
}
.end annotation
if-lez p1, :cond_12
const v0, 0x7fffffff
if-ne p1, v0, :cond_c
.line 3
invoke-static {p0}, Lrx/internal/operators/OperatorMerge;->instance(Z)Lrx/internal/operators/OperatorMerge;
move-result-object p0
return-object p0
.line 4
:cond_c
new-instance v0, Lrx/internal/operators/OperatorMerge;
invoke-direct {v0, p0, p1}, Lrx/internal/operators/OperatorMerge;-><init>(ZI)V
return-object v0
.line 5
:cond_12
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "maxConcurrent > 0 required but it was "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.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/OperatorMerge;->call(Lrx/Subscriber;)Lrx/Subscriber;
move-result-object p1
return-object p1
.end method
.method public call(Lrx/Subscriber;)Lrx/Subscriber;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/Subscriber<",
"-TT;>;)",
"Lrx/Subscriber<",
"Lrx/Observable<",
"+TT;>;>;"
}
.end annotation
.line 2
new-instance v0, Lrx/internal/operators/OperatorMerge$MergeSubscriber;
iget-boolean v1, p0, Lrx/internal/operators/OperatorMerge;->delayErrors:Z
iget v2, p0, Lrx/internal/operators/OperatorMerge;->maxConcurrent:I
invoke-direct {v0, p1, v1, v2}, Lrx/internal/operators/OperatorMerge$MergeSubscriber;-><init>(Lrx/Subscriber;ZI)V
.line 3
new-instance v1, Lrx/internal/operators/OperatorMerge$MergeProducer;
invoke-direct {v1, v0}, Lrx/internal/operators/OperatorMerge$MergeProducer;-><init>(Lrx/internal/operators/OperatorMerge$MergeSubscriber;)V
.line 4
iput-object v1, v0, Lrx/internal/operators/OperatorMerge$MergeSubscriber;->producer:Lrx/internal/operators/OperatorMerge$MergeProducer;
.line 5
invoke-virtual {p1, v0}, Lrx/Subscriber;->add(Lrx/Subscription;)V
.line 6
invoke-virtual {p1, v1}, Lrx/Subscriber;->setProducer(Lrx/Producer;)V
return-object v0
.end method