apkfuckery/com.discord/smali/rx/internal/operators/CompletableOnSubscribeMerge.smali
2019-02-04 21:05:16 +01:00

172 lines
4.5 KiB
Smali

.class public final Lrx/internal/operators/CompletableOnSubscribeMerge;
.super Ljava/lang/Object;
.source "CompletableOnSubscribeMerge.java"
# interfaces
.implements Lrx/Completable$CompletableOnSubscribe;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lrx/internal/operators/CompletableOnSubscribeMerge$CompletableMergeSubscriber;
}
.end annotation
# instance fields
.field final delayErrors:Z
.field final maxConcurrency:I
.field final source:Lrx/Observable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/Observable",
"<",
"Lrx/Completable;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lrx/Observable;IZ)V
.locals 0
.param p2, "maxConcurrency" # I
.param p3, "delayErrors" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/Observable",
"<+",
"Lrx/Completable;",
">;IZ)V"
}
.end annotation
.prologue
.local p1, "source":Lrx/Observable;, "Lrx/Observable<+Lrx/Completable;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lrx/internal/operators/CompletableOnSubscribeMerge;->source:Lrx/Observable;
iput p2, p0, Lrx/internal/operators/CompletableOnSubscribeMerge;->maxConcurrency:I
iput-boolean p3, p0, Lrx/internal/operators/CompletableOnSubscribeMerge;->delayErrors:Z
return-void
.end method
.method public static collectErrors(Ljava/util/Queue;)Ljava/lang/Throwable;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Queue",
"<",
"Ljava/lang/Throwable;",
">;)",
"Ljava/lang/Throwable;"
}
.end annotation
.prologue
.local p0, "q":Ljava/util/Queue;, "Ljava/util/Queue<Ljava/lang/Throwable;>;"
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.local v0, "list":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Throwable;>;"
:goto_0
invoke-interface {p0}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Throwable;
.local v1, "t":Ljava/lang/Throwable;
if-eqz v1, :cond_0
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v2
if-eqz v2, :cond_1
const/4 v2, 0x0
:goto_1
return-object v2
:cond_1
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
const/4 v3, 0x1
if-ne v2, v3, :cond_2
const/4 v2, 0x0
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Throwable;
goto :goto_1
:cond_2
new-instance v2, Lrx/exceptions/CompositeException;
invoke-direct {v2, v0}, Lrx/exceptions/CompositeException;-><init>(Ljava/util/Collection;)V
goto :goto_1
.end method
# virtual methods
.method public bridge synthetic call(Ljava/lang/Object;)V
.locals 0
.param p1, "x0" # Ljava/lang/Object;
.prologue
check-cast p1, Lrx/Completable$CompletableSubscriber;
.end local p1 # "x0":Ljava/lang/Object;
invoke-virtual {p0, p1}, Lrx/internal/operators/CompletableOnSubscribeMerge;->call(Lrx/Completable$CompletableSubscriber;)V
return-void
.end method
.method public call(Lrx/Completable$CompletableSubscriber;)V
.locals 3
.param p1, "s" # Lrx/Completable$CompletableSubscriber;
.prologue
new-instance v0, Lrx/internal/operators/CompletableOnSubscribeMerge$CompletableMergeSubscriber;
iget v1, p0, Lrx/internal/operators/CompletableOnSubscribeMerge;->maxConcurrency:I
iget-boolean v2, p0, Lrx/internal/operators/CompletableOnSubscribeMerge;->delayErrors:Z
invoke-direct {v0, p1, v1, v2}, Lrx/internal/operators/CompletableOnSubscribeMerge$CompletableMergeSubscriber;-><init>(Lrx/Completable$CompletableSubscriber;IZ)V
.local v0, "parent":Lrx/internal/operators/CompletableOnSubscribeMerge$CompletableMergeSubscriber;
invoke-interface {p1, v0}, Lrx/Completable$CompletableSubscriber;->onSubscribe(Lrx/Subscription;)V
iget-object v1, p0, Lrx/internal/operators/CompletableOnSubscribeMerge;->source:Lrx/Observable;
invoke-virtual {v1, v0}, Lrx/Observable;->subscribe(Lrx/Subscriber;)Lrx/Subscription;
return-void
.end method