CompletableOnSubscribeMergeDelayErrorIterable.smali
.class public final Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable;
.super Ljava/lang/Object;
.source "CompletableOnSubscribeMergeDelayErrorIterable.java"
# interfaces
.implements Lrx/Completable$OnSubscribe;
# instance fields
.field final sources:Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Iterable<",
"+",
"Lrx/Completable;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Iterable;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"+",
"Lrx/Completable;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable;->sources:Ljava/lang/Iterable;
return-void
.end method
# virtual methods
.method public bridge synthetic call(Ljava/lang/Object;)V
.registers 2
.line 1
check-cast p1, Lrx/CompletableSubscriber;
invoke-virtual {p0, p1}, Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable;->call(Lrx/CompletableSubscriber;)V
return-void
.end method
.method public call(Lrx/CompletableSubscriber;)V
.registers 14
.line 2
new-instance v6, Lrx/subscriptions/CompositeSubscription;
invoke-direct {v6}, Lrx/subscriptions/CompositeSubscription;-><init>()V
.line 3
invoke-interface {p1, v6}, Lrx/CompletableSubscriber;->onSubscribe(Lrx/Subscription;)V
.line 4
:try_start_8
iget-object v0, p0, Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable;->sources:Ljava/lang/Iterable;
invoke-interface {v0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v7
:try_end_e
.catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_e} :catch_db
if-nez v7, :cond_1b
.line 5
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "The source iterator returned is null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
invoke-interface {p1, v0}, Lrx/CompletableSubscriber;->onError(Ljava/lang/Throwable;)V
return-void
.line 6
:cond_1b
new-instance v8, Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v0, 0x1
invoke-direct {v8, v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
.line 7
invoke-static {}, Lrx/internal/util/unsafe/UnsafeAccess;->isUnsafeAvailable()Z
move-result v0
if-eqz v0, :cond_2d
.line 8
new-instance v0, Lrx/internal/util/unsafe/MpscLinkedQueue;
invoke-direct {v0}, Lrx/internal/util/unsafe/MpscLinkedQueue;-><init>()V
goto :goto_32
.line 9
:cond_2d
new-instance v0, Lrx/internal/util/atomic/MpscLinkedAtomicQueue;
invoke-direct {v0}, Lrx/internal/util/atomic/MpscLinkedAtomicQueue;-><init>()V
:goto_32
move-object v9, v0
.line 10
:goto_33
invoke-virtual {v6}, Lrx/subscriptions/CompositeSubscription;->isUnsubscribed()Z
move-result v0
if-eqz v0, :cond_3a
return-void
.line 11
:cond_3a
:try_start_3a
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
:try_end_3e
.catch Ljava/lang/Throwable; {:try_start_3a .. :try_end_3e} :catch_bf
if-nez v0, :cond_58
.line 12
invoke-virtual {v8}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_57
.line 13
invoke-interface {v9}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-eqz v0, :cond_50
.line 14
invoke-interface {p1}, Lrx/CompletableSubscriber;->onCompleted()V
goto :goto_57
.line 15
:cond_50
invoke-static {v9}, Lrx/internal/operators/CompletableOnSubscribeMerge;->collectErrors(Ljava/util/Queue;)Ljava/lang/Throwable;
move-result-object v0
invoke-interface {p1, v0}, Lrx/CompletableSubscriber;->onError(Ljava/lang/Throwable;)V
:cond_57
:goto_57
return-void
.line 16
:cond_58
invoke-virtual {v6}, Lrx/subscriptions/CompositeSubscription;->isUnsubscribed()Z
move-result v0
if-eqz v0, :cond_5f
return-void
.line 17
:cond_5f
:try_start_5f
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v10, v0
check-cast v10, Lrx/Completable;
:try_end_66
.catch Ljava/lang/Throwable; {:try_start_5f .. :try_end_66} :catch_a3
.line 18
invoke-virtual {v6}, Lrx/subscriptions/CompositeSubscription;->isUnsubscribed()Z
move-result v0
if-eqz v0, :cond_6d
return-void
:cond_6d
if-nez v10, :cond_91
.line 19
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "A completable source is null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
.line 20
invoke-interface {v9, v0}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 21
invoke-virtual {v8}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_90
.line 22
invoke-interface {v9}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-eqz v0, :cond_89
.line 23
invoke-interface {p1}, Lrx/CompletableSubscriber;->onCompleted()V
goto :goto_90
.line 24
:cond_89
invoke-static {v9}, Lrx/internal/operators/CompletableOnSubscribeMerge;->collectErrors(Ljava/util/Queue;)Ljava/lang/Throwable;
move-result-object v0
invoke-interface {p1, v0}, Lrx/CompletableSubscriber;->onError(Ljava/lang/Throwable;)V
:cond_90
:goto_90
return-void
.line 25
:cond_91
invoke-virtual {v8}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
.line 26
new-instance v11, Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable$1;
move-object v0, v11
move-object v1, p0
move-object v2, v6
move-object v3, v9
move-object v4, v8
move-object v5, p1
invoke-direct/range {v0 .. v5}, Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable$1;-><init>(Lrx/internal/operators/CompletableOnSubscribeMergeDelayErrorIterable;Lrx/subscriptions/CompositeSubscription;Ljava/util/Queue;Ljava/util/concurrent/atomic/AtomicInteger;Lrx/CompletableSubscriber;)V
invoke-virtual {v10, v11}, Lrx/Completable;->unsafeSubscribe(Lrx/CompletableSubscriber;)V
goto :goto_33
:catch_a3
move-exception v0
.line 27
invoke-interface {v9, v0}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 28
invoke-virtual {v8}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_be
.line 29
invoke-interface {v9}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-eqz v0, :cond_b7
.line 30
invoke-interface {p1}, Lrx/CompletableSubscriber;->onCompleted()V
goto :goto_be
.line 31
:cond_b7
invoke-static {v9}, Lrx/internal/operators/CompletableOnSubscribeMerge;->collectErrors(Ljava/util/Queue;)Ljava/lang/Throwable;
move-result-object v0
invoke-interface {p1, v0}, Lrx/CompletableSubscriber;->onError(Ljava/lang/Throwable;)V
:cond_be
:goto_be
return-void
:catch_bf
move-exception v0
.line 32
invoke-interface {v9, v0}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 33
invoke-virtual {v8}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_da
.line 34
invoke-interface {v9}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-eqz v0, :cond_d3
.line 35
invoke-interface {p1}, Lrx/CompletableSubscriber;->onCompleted()V
goto :goto_da
.line 36
:cond_d3
invoke-static {v9}, Lrx/internal/operators/CompletableOnSubscribeMerge;->collectErrors(Ljava/util/Queue;)Ljava/lang/Throwable;
move-result-object v0
invoke-interface {p1, v0}, Lrx/CompletableSubscriber;->onError(Ljava/lang/Throwable;)V
:cond_da
:goto_da
return-void
:catch_db
move-exception v0
.line 37
invoke-interface {p1, v0}, Lrx/CompletableSubscriber;->onError(Ljava/lang/Throwable;)V
return-void
.end method