This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,228 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;
.super Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;
.source "ParallelCollect.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelCollect;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ParallelCollectSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"C:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/subscribers/DeferredScalarSubscriber<",
"TT;TC;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x42292ea02dae7f04L
# instance fields
.field public collection:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TC;"
}
.end annotation
.end field
.field public final collector:Lph/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/b<",
"-TC;-TT;>;"
}
.end annotation
.end field
.field public done:Z
# direct methods
.method public constructor <init>(Lok/d;Ljava/lang/Object;Lph/b;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TC;>;TC;",
"Lph/b<",
"-TC;-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1}, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;-><init>(Lok/d;)V
.line 2
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collection:Ljava/lang/Object;
.line 3
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collector:Lph/b;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
invoke-super {p0}, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->cancel()V
.line 2
iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->upstream:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 2
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->done:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->done:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collection:Ljava/lang/Object;
const/4 v1, 0x0
.line 4
iput-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collection:Ljava/lang/Object;
.line 5
invoke-virtual {p0, v0}, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->complete(Ljava/lang/Object;)V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->done:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->done:Z
const/4 v0, 0x0
.line 4
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collection:Ljava/lang/Object;
.line 5
iget-object v0, p0, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->downstream:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->done:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collector:Lph/b;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->collection:Ljava/lang/Object;
invoke-interface {v0, v1, p1}, Lph/b;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception p1
.line 3
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 4
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->cancel()V
.line 5
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;->onError(Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->upstream:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->upstream:Lok/e;
.line 3
iget-object v0, p0, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->downstream:Lok/d;
invoke-interface {v0, p0}, Lok/d;->onSubscribe(Lok/e;)V
const-wide v0, 0x7fffffffffffffffL
.line 4
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
@@ -0,0 +1,213 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelCollect;
.super Lvh/a;
.source "ParallelCollect.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"C:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TC;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"+TT;>;"
}
.end annotation
.end field
.field public final b:Ljava/util/concurrent/Callable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/Callable<",
"+TC;>;"
}
.end annotation
.end field
.field public final c:Lph/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/b<",
"-TC;-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Ljava/util/concurrent/Callable;Lph/b;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"+TT;>;",
"Ljava/util/concurrent/Callable<",
"+TC;>;",
"Lph/b<",
"-TC;-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->b:Ljava/util/concurrent/Callable;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->c:Lph/b;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TC;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 4
:try_start_0
iget-object v3, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->b:Ljava/util/concurrent/Callable;
invoke-interface {v3}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v3
const-string v4, "The initialSupplier returned a null value"
invoke-static {v3, v4}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
new-instance v4, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;
aget-object v5, p1, v2
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->c:Lph/b;
invoke-direct {v4, v5, v3, v6}, Lio/reactivex/internal/operators/parallel/ParallelCollect$ParallelCollectSubscriber;-><init>(Lok/d;Ljava/lang/Object;Lph/b;)V
aput-object v4, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:catchall_0
move-exception v0
.line 6
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 7
invoke-virtual {p0, p1, v0}, Lio/reactivex/internal/operators/parallel/ParallelCollect;->V([Lok/d;Ljava/lang/Throwable;)V
return-void
.line 8
:cond_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelCollect;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
.method public V([Lok/d;Ljava/lang/Throwable;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"*>;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
.line 1
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
aget-object v2, p1, v1
.line 2
invoke-static {p2, v2}, Lio/reactivex/internal/subscriptions/EmptySubscription;->error(Ljava/lang/Throwable;Lok/d;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
@@ -0,0 +1,153 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;
.super Ljava/lang/Object;
.source "ParallelFromPublisher.java"
# interfaces
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "a"
.end annotation
# instance fields
.field public final a:I
.field public final b:I
.field public final synthetic c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
# direct methods
.method public constructor <init>(Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;II)V
.locals 0
.line 1
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->a:I
.line 3
iput p3, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->b:I
return-void
.end method
# virtual methods
.method public cancel()V
.locals 7
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->requests:Ljava/util/concurrent/atomic/AtomicLongArray;
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->b:I
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->a:I
add-int/2addr v2, v0
const-wide/16 v3, 0x0
const-wide/16 v5, 0x1
invoke-virtual/range {v1 .. v6}, Ljava/util/concurrent/atomic/AtomicLongArray;->compareAndSet(IJJ)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
iget v1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->b:I
add-int/2addr v1, v1
invoke-virtual {v0, v1}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->cancel(I)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 7
.line 1
invoke-static {p1, p2}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(J)Z
move-result v0
if-eqz v0, :cond_2
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->requests:Ljava/util/concurrent/atomic/AtomicLongArray;
.line 3
:cond_0
iget v1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->a:I
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v3
const-wide v1, 0x7fffffffffffffffL
cmp-long v1, v3, v1
if-nez v1, :cond_1
return-void
.line 4
:cond_1
invoke-static {v3, v4, p1, p2}, Lio/reactivex/internal/util/b;->c(JJ)J
move-result-wide v5
.line 5
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->a:I
move-object v1, v0
invoke-virtual/range {v1 .. v6}, Ljava/util/concurrent/atomic/AtomicLongArray;->compareAndSet(IJJ)Z
move-result v1
if-eqz v1, :cond_0
.line 6
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
iget-object p1, p1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscriberCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result p1
iget p2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->b:I
if-ne p1, p2, :cond_2
.line 7
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;->c:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drain()V
:cond_2
return-void
.end method
@@ -0,0 +1,915 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "ParallelFromPublisher.java"
# interfaces
.implements Lkh/o;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ParallelDispatcher"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;",
"Lkh/o<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x3e0ae1f3a0d08e59L
# instance fields
.field public volatile cancelled:Z
.field public volatile done:Z
.field public final emissions:[J
.field public error:Ljava/lang/Throwable;
.field public index:I
.field public final limit:I
.field public final prefetch:I
.field public produced:I
.field public queue:Lrh/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/o<",
"TT;>;"
}
.end annotation
.end field
.field public final requests:Ljava/util/concurrent/atomic/AtomicLongArray;
.field public sourceMode:I
.field public final subscriberCount:Ljava/util/concurrent/atomic/AtomicInteger;
.field public final subscribers:[Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
.field public upstream:Lok/e;
# direct methods
.method public constructor <init>([Lok/d;I)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;I)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscriberCount:Ljava/util/concurrent/atomic/AtomicInteger;
.line 3
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscribers:[Lok/d;
.line 4
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->prefetch:I
shr-int/lit8 v0, p2, 0x2
sub-int/2addr p2, v0
.line 5
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->limit:I
.line 6
array-length p1, p1
.line 7
new-instance p2, Ljava/util/concurrent/atomic/AtomicLongArray;
add-int v0, p1, p1
add-int/lit8 v1, v0, 0x1
invoke-direct {p2, v1}, Ljava/util/concurrent/atomic/AtomicLongArray;-><init>(I)V
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->requests:Ljava/util/concurrent/atomic/AtomicLongArray;
int-to-long v1, p1
.line 8
invoke-virtual {p2, v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLongArray;->lazySet(IJ)V
.line 9
new-array p1, p1, [J
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->emissions:[J
return-void
.end method
# virtual methods
.method public cancel(I)V
.locals 4
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->requests:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicLongArray;->decrementAndGet(I)J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long p1, v0, v2
if-nez p1, :cond_0
const/4 p1, 0x1
.line 2
iput-boolean p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->cancelled:Z
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
invoke-interface {p1}, Lok/e;->cancel()V
.line 4
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result p1
if-nez p1, :cond_0
.line 5
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
invoke-interface {p1}, Lrh/o;->clear()V
:cond_0
return-void
.end method
.method public drain()V
.locals 2
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->sourceMode:I
const/4 v1, 0x1
if-ne v0, v1, :cond_1
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drainSync()V
goto :goto_0
.line 4
:cond_1
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drainAsync()V
:goto_0
return-void
.end method
.method public drainAsync()V
.locals 18
move-object/from16 v1, p0
.line 1
iget-object v0, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
.line 2
iget-object v2, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscribers:[Lok/d;
.line 3
iget-object v3, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->requests:Ljava/util/concurrent/atomic/AtomicLongArray;
.line 4
iget-object v4, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->emissions:[J
.line 5
array-length v5, v4
.line 6
iget v6, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->index:I
.line 7
iget v7, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->produced:I
const/4 v8, 0x1
move v9, v8
:cond_0
:goto_0
const/4 v10, 0x0
move v11, v10
.line 8
:cond_1
iget-boolean v12, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->cancelled:Z
if-eqz v12, :cond_2
.line 9
invoke-interface {v0}, Lrh/o;->clear()V
return-void
.line 10
:cond_2
iget-boolean v12, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->done:Z
if-eqz v12, :cond_4
.line 11
iget-object v13, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->error:Ljava/lang/Throwable;
if-eqz v13, :cond_4
.line 12
invoke-interface {v0}, Lrh/o;->clear()V
.line 13
array-length v0, v2
:goto_1
if-ge v10, v0, :cond_3
aget-object v3, v2, v10
.line 14
invoke-interface {v3, v13}, Lok/d;->onError(Ljava/lang/Throwable;)V
add-int/lit8 v10, v10, 0x1
goto :goto_1
:cond_3
return-void
.line 15
:cond_4
invoke-interface {v0}, Lrh/o;->isEmpty()Z
move-result v13
if-eqz v12, :cond_6
if-eqz v13, :cond_6
.line 16
array-length v0, v2
:goto_2
if-ge v10, v0, :cond_5
aget-object v3, v2, v10
.line 17
invoke-interface {v3}, Lok/d;->onComplete()V
add-int/lit8 v10, v10, 0x1
goto :goto_2
:cond_5
return-void
:cond_6
if-eqz v13, :cond_7
goto :goto_5
.line 18
:cond_7
invoke-virtual {v3, v6}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v12
.line 19
aget-wide v14, v4, v6
cmp-long v12, v12, v14
if-eqz v12, :cond_b
add-int v12, v5, v6
.line 20
invoke-virtual {v3, v12}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v12
const-wide/16 v16, 0x0
cmp-long v12, v12, v16
if-nez v12, :cond_b
.line 21
:try_start_0
invoke-interface {v0}, Lrh/o;->poll()Ljava/lang/Object;
move-result-object v11
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v11, :cond_8
goto :goto_5
.line 22
:cond_8
aget-object v12, v2, v6
invoke-interface {v12, v11}, Lok/d;->onNext(Ljava/lang/Object;)V
const-wide/16 v11, 0x1
add-long/2addr v14, v11
.line 23
aput-wide v14, v4, v6
add-int/lit8 v7, v7, 0x1
.line 24
iget v11, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->limit:I
if-ne v7, v11, :cond_9
.line 25
iget-object v11, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
int-to-long v12, v7
invoke-interface {v11, v12, v13}, Lok/e;->request(J)V
move v7, v10
:cond_9
move v11, v10
goto :goto_4
:catchall_0
move-exception v0
move-object v3, v0
.line 26
invoke-static {v3}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 27
iget-object v0, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
.line 28
array-length v0, v2
:goto_3
if-ge v10, v0, :cond_a
aget-object v4, v2, v10
.line 29
invoke-interface {v4, v3}, Lok/d;->onError(Ljava/lang/Throwable;)V
add-int/lit8 v10, v10, 0x1
goto :goto_3
:cond_a
return-void
:cond_b
add-int/2addr v11, v8
:goto_4
add-int/lit8 v6, v6, 0x1
if-ne v6, v5, :cond_c
move v6, v10
:cond_c
if-ne v11, v5, :cond_1
.line 30
:goto_5
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v10
if-ne v10, v9, :cond_d
.line 31
iput v6, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->index:I
.line 32
iput v7, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->produced:I
neg-int v9, v9
.line 33
invoke-virtual {v1, v9}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v9
if-nez v9, :cond_0
return-void
:cond_d
move v9, v10
goto/16 :goto_0
.end method
.method public drainSync()V
.locals 17
move-object/from16 v1, p0
.line 1
iget-object v0, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
.line 2
iget-object v2, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscribers:[Lok/d;
.line 3
iget-object v3, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->requests:Ljava/util/concurrent/atomic/AtomicLongArray;
.line 4
iget-object v4, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->emissions:[J
.line 5
array-length v5, v4
.line 6
iget v6, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->index:I
const/4 v7, 0x1
move v8, v7
:cond_0
:goto_0
const/4 v9, 0x0
move v10, v9
.line 7
:cond_1
iget-boolean v11, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->cancelled:Z
if-eqz v11, :cond_2
.line 8
invoke-interface {v0}, Lrh/o;->clear()V
return-void
.line 9
:cond_2
invoke-interface {v0}, Lrh/o;->isEmpty()Z
move-result v11
if-eqz v11, :cond_4
.line 10
array-length v0, v2
:goto_1
if-ge v9, v0, :cond_3
aget-object v3, v2, v9
.line 11
invoke-interface {v3}, Lok/d;->onComplete()V
add-int/lit8 v9, v9, 0x1
goto :goto_1
:cond_3
return-void
.line 12
:cond_4
invoke-virtual {v3, v6}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v11
.line 13
aget-wide v13, v4, v6
cmp-long v11, v11, v13
if-eqz v11, :cond_8
add-int v11, v5, v6
.line 14
invoke-virtual {v3, v11}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v11
const-wide/16 v15, 0x0
cmp-long v11, v11, v15
if-nez v11, :cond_8
.line 15
:try_start_0
invoke-interface {v0}, Lrh/o;->poll()Ljava/lang/Object;
move-result-object v10
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v10, :cond_6
.line 16
array-length v0, v2
:goto_2
if-ge v9, v0, :cond_5
aget-object v3, v2, v9
.line 17
invoke-interface {v3}, Lok/d;->onComplete()V
add-int/lit8 v9, v9, 0x1
goto :goto_2
:cond_5
return-void
.line 18
:cond_6
aget-object v11, v2, v6
invoke-interface {v11, v10}, Lok/d;->onNext(Ljava/lang/Object;)V
const-wide/16 v10, 0x1
add-long/2addr v13, v10
.line 19
aput-wide v13, v4, v6
move v10, v9
goto :goto_4
:catchall_0
move-exception v0
move-object v3, v0
.line 20
invoke-static {v3}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 21
iget-object v0, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
.line 22
array-length v0, v2
:goto_3
if-ge v9, v0, :cond_7
aget-object v4, v2, v9
.line 23
invoke-interface {v4, v3}, Lok/d;->onError(Ljava/lang/Throwable;)V
add-int/lit8 v9, v9, 0x1
goto :goto_3
:cond_7
return-void
:cond_8
add-int/2addr v10, v7
:goto_4
add-int/lit8 v6, v6, 0x1
if-ne v6, v5, :cond_9
move v6, v9
:cond_9
if-ne v10, v5, :cond_1
.line 24
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v9
if-ne v9, v8, :cond_a
.line 25
iput v6, v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->index:I
neg-int v8, v8
.line 26
invoke-virtual {v1, v8}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v8
if-nez v8, :cond_0
return-void
:cond_a
move v8, v9
goto :goto_0
.end method
.method public onComplete()V
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->done:Z
.line 2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drain()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 0
.line 1
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->error:Ljava/lang/Throwable;
const/4 p1, 0x1
.line 2
iput-boolean p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->done:Z
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drain()V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->sourceMode:I
if-nez v0, :cond_0
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
invoke-interface {v0, p1}, Lrh/o;->offer(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
invoke-interface {p1}, Lok/e;->cancel()V
.line 4
new-instance p1, Lio/reactivex/exceptions/MissingBackpressureException;
const-string v0, "Queue is full?"
invoke-direct {p1, v0}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->onError(Ljava/lang/Throwable;)V
return-void
.line 5
:cond_0
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drain()V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 3
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_2
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->upstream:Lok/e;
.line 3
instance-of v0, p1, Lrh/l;
if-eqz v0, :cond_1
.line 4
move-object v0, p1
check-cast v0, Lrh/l;
const/4 v1, 0x7
.line 5
invoke-interface {v0, v1}, Lrh/k;->requestFusion(I)I
move-result v1
const/4 v2, 0x1
if-ne v1, v2, :cond_0
.line 6
iput v1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->sourceMode:I
.line 7
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
.line 8
iput-boolean v2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->done:Z
.line 9
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->setupSubscribers()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->drain()V
return-void
:cond_0
const/4 v2, 0x2
if-ne v1, v2, :cond_1
.line 11
iput v1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->sourceMode:I
.line 12
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
.line 13
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->setupSubscribers()V
.line 14
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->prefetch:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
return-void
.line 15
:cond_1
new-instance v0, Lio/reactivex/internal/queue/SpscArrayQueue;
iget v1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->prefetch:I
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/SpscArrayQueue;-><init>(I)V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->queue:Lrh/o;
.line 16
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->setupSubscribers()V
.line 17
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->prefetch:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_2
return-void
.end method
.method public setupSubscribers()V
.locals 6
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscribers:[Lok/d;
.line 2
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_1
.line 3
iget-boolean v3, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->cancelled:Z
if-eqz v3, :cond_0
return-void
.line 4
:cond_0
iget-object v3, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;->subscriberCount:Ljava/util/concurrent/atomic/AtomicInteger;
add-int/lit8 v4, v2, 0x1
invoke-virtual {v3, v4}, Ljava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
.line 5
aget-object v3, v0, v2
new-instance v5, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;
invoke-direct {v5, p0, v2, v1}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$a;-><init>(Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;II)V
invoke-interface {v3, v5}, Lok/d;->onSubscribe(Lok/e;)V
move v2, v4
goto :goto_0
:cond_1
return-void
.end method
@@ -0,0 +1,108 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;
.super Lvh/a;
.source "ParallelFromPublisher.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lok/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/c<",
"+TT;>;"
}
.end annotation
.end field
.field public final b:I
.field public final c:I
# direct methods
.method public constructor <init>(Lok/c;II)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/c<",
"+TT;>;II)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;->a:Lok/c;
.line 3
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;->b:I
.line 4
iput p3, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;->c:I
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;->b:I
return v0
.end method
.method public Q([Lok/d;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;->a:Lok/c;
new-instance v1, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher;->c:I
invoke-direct {v1, p1, v2}, Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;-><init>([Lok/d;I)V
invoke-interface {v0, v1}, Lok/c;->subscribe(Lok/d;)V
return-void
.end method
@@ -0,0 +1,268 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
.super Ljava/util/concurrent/atomic/AtomicReference;
.source "ParallelJoin.java"
# interfaces
.implements Lkh/o;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelJoin;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "JoinInnerSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lok/e;",
">;",
"Lkh/o<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x74b67204a49678c3L
# instance fields
.field public final limit:I
.field public final parent:Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase<",
"TT;>;"
}
.end annotation
.end field
.field public final prefetch:I
.field public produced:J
.field public volatile queue:Lrh/n;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/n<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase<",
"TT;>;I)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
.line 3
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->prefetch:I
shr-int/lit8 p1, p2, 0x2
sub-int/2addr p2, p1
.line 4
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->limit:I
return-void
.end method
# virtual methods
.method public cancel()Z
.locals 1
.line 1
invoke-static {p0}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->cancel(Ljava/util/concurrent/atomic/AtomicReference;)Z
move-result v0
return v0
.end method
.method public getQueue()Lrh/n;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lrh/n<",
"TT;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
if-nez v0, :cond_0
.line 2
new-instance v0, Lio/reactivex/internal/queue/SpscArrayQueue;
iget v1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->prefetch:I
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/SpscArrayQueue;-><init>(I)V
.line 3
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
:cond_0
return-object v0
.end method
.method public onComplete()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
invoke-virtual {v0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
invoke-virtual {v0, p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
invoke-virtual {v0, p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->onNext(Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;Ljava/lang/Object;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 2
.line 1
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->prefetch:I
int-to-long v0, v0
invoke-static {p0, p1, v0, v1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->setOnce(Ljava/util/concurrent/atomic/AtomicReference;Lok/e;J)Z
return-void
.end method
.method public request(J)V
.locals 2
.line 1
iget-wide v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->produced:J
add-long/2addr v0, p1
.line 2
iget p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->limit:I
int-to-long p1, p1
cmp-long p1, v0, p1
if-ltz p1, :cond_0
const-wide/16 p1, 0x0
.line 3
iput-wide p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->produced:J
.line 4
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lok/e;
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
goto :goto_0
.line 5
:cond_0
iput-wide v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->produced:J
:goto_0
return-void
.end method
.method public requestOne()V
.locals 4
.line 1
iget-wide v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->produced:J
const-wide/16 v2, 0x1
add-long/2addr v0, v2
.line 2
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->limit:I
int-to-long v2, v2
cmp-long v2, v0, v2
if-nez v2, :cond_0
const-wide/16 v2, 0x0
.line 3
iput-wide v2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->produced:J
.line 4
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lok/e;
invoke-interface {v2, v0, v1}, Lok/e;->request(J)V
goto :goto_0
.line 5
:cond_0
iput-wide v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->produced:J
:goto_0
return-void
.end method
@@ -0,0 +1,575 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;
.super Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
.source "ParallelJoin.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelJoin;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "JoinSubscription"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x579a0f4f7e6bd483L
# direct methods
.method public constructor <init>(Lok/d;II)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;II)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2, p3}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;-><init>(Lok/d;II)V
return-void
.end method
# virtual methods
.method public drain()V
.locals 1
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;->drainLoop()V
return-void
.end method
.method public drainLoop()V
.locals 18
move-object/from16 v0, p0
.line 1
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
.line 2
array-length v2, v1
.line 3
iget-object v3, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->downstream:Lok/d;
const/4 v5, 0x1
.line 4
:goto_0
iget-object v6, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v6
const-wide/16 v8, 0x0
move-wide v10, v8
:cond_0
cmp-long v12, v10, v6
if-eqz v12, :cond_8
.line 5
iget-boolean v12, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelled:Z
if-eqz v12, :cond_1
.line 6
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
return-void
.line 7
:cond_1
iget-object v12, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v12
check-cast v12, Ljava/lang/Throwable;
if-eqz v12, :cond_2
.line 8
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
.line 9
invoke-interface {v3, v12}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.line 10
:cond_2
iget-object v12, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v12
if-nez v12, :cond_3
const/4 v12, 0x1
goto :goto_1
:cond_3
const/4 v12, 0x0
:goto_1
const/4 v14, 0x0
const/4 v15, 0x1
.line 11
:goto_2
array-length v4, v1
if-ge v14, v4, :cond_6
.line 12
aget-object v4, v1, v14
.line 13
iget-object v13, v4, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
if-eqz v13, :cond_5
.line 14
invoke-interface {v13}, Lrh/n;->poll()Ljava/lang/Object;
move-result-object v13
if-eqz v13, :cond_5
.line 15
invoke-interface {v3, v13}, Lok/d;->onNext(Ljava/lang/Object;)V
.line 16
invoke-virtual {v4}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->requestOne()V
const-wide/16 v16, 0x1
add-long v10, v10, v16
cmp-long v4, v10, v6
if-nez v4, :cond_4
goto :goto_3
:cond_4
const/4 v15, 0x0
:cond_5
add-int/lit8 v14, v14, 0x1
goto :goto_2
:cond_6
if-eqz v12, :cond_7
if-eqz v15, :cond_7
.line 17
invoke-interface {v3}, Lok/d;->onComplete()V
return-void
:cond_7
if-eqz v15, :cond_0
:cond_8
:goto_3
cmp-long v4, v10, v6
if-nez v4, :cond_e
.line 18
iget-boolean v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelled:Z
if-eqz v4, :cond_9
.line 19
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
return-void
.line 20
:cond_9
iget-object v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Throwable;
if-eqz v4, :cond_a
.line 21
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
.line 22
invoke-interface {v3, v4}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.line 23
:cond_a
iget-object v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v4
if-nez v4, :cond_b
const/4 v4, 0x1
goto :goto_4
:cond_b
const/4 v4, 0x0
:goto_4
const/4 v12, 0x0
:goto_5
if-ge v12, v2, :cond_d
.line 24
aget-object v13, v1, v12
.line 25
iget-object v13, v13, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
if-eqz v13, :cond_c
.line 26
invoke-interface {v13}, Lrh/o;->isEmpty()Z
move-result v13
if-nez v13, :cond_c
const/4 v13, 0x0
goto :goto_6
:cond_c
add-int/lit8 v12, v12, 0x1
goto :goto_5
:cond_d
const/4 v13, 0x1
:goto_6
if-eqz v4, :cond_e
if-eqz v13, :cond_e
.line 27
invoke-interface {v3}, Lok/d;->onComplete()V
return-void
:cond_e
cmp-long v4, v10, v8
if-eqz v4, :cond_f
const-wide v8, 0x7fffffffffffffffL
cmp-long v4, v6, v8
if-eqz v4, :cond_f
.line 28
iget-object v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
neg-long v6, v10
invoke-virtual {v4, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 29
:cond_f
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v4
if-ne v4, v5, :cond_10
neg-int v4, v5
.line 30
invoke-virtual {v0, v4}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v4
if-nez v4, :cond_10
return-void
:cond_10
move v5, v4
goto/16 :goto_0
.end method
.method public onComplete()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
.line 2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;->drain()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
const/4 v1, 0x0
invoke-virtual {v0, v1, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelAll()V
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;->drain()V
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
if-eq p1, v0, :cond_1
.line 5
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-void
.end method
.method public onNext(Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;Ljava/lang/Object;)V
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<",
"TT;>;TT;)V"
}
.end annotation
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
const-string v1, "Queue full?!"
if-nez v0, :cond_4
const/4 v0, 0x0
const/4 v2, 0x1
invoke-virtual {p0, v0, v2}, Ljava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
move-result v0
if-eqz v0, :cond_4
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v2
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-eqz v0, :cond_1
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->downstream:Lok/d;
invoke-interface {v0, p2}, Lok/d;->onNext(Ljava/lang/Object;)V
.line 4
iget-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {p2}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
const-wide v2, 0x7fffffffffffffffL
cmp-long p2, v0, v2
if-eqz p2, :cond_0
.line 5
iget-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {p2}, Ljava/util/concurrent/atomic/AtomicLong;->decrementAndGet()J
:cond_0
const-wide/16 v0, 0x1
.line 6
invoke-virtual {p1, v0, v1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->request(J)V
goto :goto_1
.line 7
:cond_1
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->getQueue()Lrh/n;
move-result-object p1
.line 8
invoke-interface {p1, p2}, Lrh/o;->offer(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_3
.line 9
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelAll()V
.line 10
new-instance p1, Lio/reactivex/exceptions/MissingBackpressureException;
invoke-direct {p1, v1}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
.line 11
iget-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
const/4 v0, 0x0
invoke-virtual {p2, v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_2
.line 12
iget-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->downstream:Lok/d;
invoke-interface {p2, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
goto :goto_0
.line 13
:cond_2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
:goto_0
return-void
.line 14
:cond_3
:goto_1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result p1
if-nez p1, :cond_6
return-void
.line 15
:cond_4
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->getQueue()Lrh/n;
move-result-object p1
.line 16
invoke-interface {p1, p2}, Lrh/o;->offer(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5
.line 17
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelAll()V
.line 18
new-instance p1, Lio/reactivex/exceptions/MissingBackpressureException;
invoke-direct {p1, v1}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;->onError(Ljava/lang/Throwable;)V
return-void
.line 19
:cond_5
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result p1
if-eqz p1, :cond_6
return-void
.line 20
:cond_6
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;->drainLoop()V
return-void
.end method
@@ -0,0 +1,257 @@
.class abstract Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "ParallelJoin.java"
# interfaces
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelJoin;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "JoinSubscriptionBase"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;",
"Lok/e;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x2b063c9630832783L
# instance fields
.field public volatile cancelled:Z
.field public final done:Ljava/util/concurrent/atomic/AtomicInteger;
.field public final downstream:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
.field public final errors:Lio/reactivex/internal/util/AtomicThrowable;
.field public final requested:Ljava/util/concurrent/atomic/AtomicLong;
.field public final subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;II)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;II)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 2
new-instance v0, Lio/reactivex/internal/util/AtomicThrowable;
invoke-direct {v0}, Lio/reactivex/internal/util/AtomicThrowable;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
.line 3
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicLong;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
.line 4
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
.line 5
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->downstream:Lok/d;
.line 6
new-array p1, p2, [Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
const/4 v0, 0x0
:goto_0
if-ge v0, p2, :cond_0
.line 7
new-instance v1, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
invoke-direct {v1, p0, p3}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;-><init>(Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;I)V
aput-object v1, p1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 8
:cond_0
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
.line 9
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelled:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelled:Z
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelAll()V
.line 4
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-nez v0, :cond_0
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
:cond_0
return-void
.end method
.method public cancelAll()V
.locals 4
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, v0, v2
.line 2
invoke-virtual {v3}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->cancel()Z
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public cleanup()V
.locals 5
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, v0, v2
const/4 v4, 0x0
.line 2
iput-object v4, v3, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public abstract drain()V
.end method
.method public abstract onComplete()V
.end method
.method public abstract onError(Ljava/lang/Throwable;)V
.end method
.method public abstract onNext(Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;Ljava/lang/Object;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<",
"TT;>;TT;)V"
}
.end annotation
.end method
.method public request(J)V
.locals 1
.line 1
invoke-static {p1, p2}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(J)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-static {v0, p1, p2}, Lio/reactivex/internal/util/b;->a(Ljava/util/concurrent/atomic/AtomicLong;J)J
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->drain()V
:cond_0
return-void
.end method
@@ -0,0 +1,557 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;
.super Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
.source "ParallelJoin.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelJoin;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "JoinSubscriptionDelayError"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x4fa158f1d44428dbL
# direct methods
.method public constructor <init>(Lok/d;II)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;II)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2, p3}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;-><init>(Lok/d;II)V
return-void
.end method
# virtual methods
.method public drain()V
.locals 1
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;->drainLoop()V
return-void
.end method
.method public drainLoop()V
.locals 18
move-object/from16 v0, p0
.line 1
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
.line 2
array-length v2, v1
.line 3
iget-object v3, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->downstream:Lok/d;
const/4 v5, 0x1
.line 4
:goto_0
iget-object v6, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v6
const-wide/16 v8, 0x0
move-wide v10, v8
:cond_0
cmp-long v12, v10, v6
if-eqz v12, :cond_8
.line 5
iget-boolean v12, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelled:Z
if-eqz v12, :cond_1
.line 6
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
return-void
.line 7
:cond_1
iget-object v12, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v12
if-nez v12, :cond_2
const/4 v12, 0x1
goto :goto_1
:cond_2
const/4 v12, 0x0
:goto_1
const/4 v14, 0x0
const/4 v15, 0x1
:goto_2
if-ge v14, v2, :cond_5
.line 8
aget-object v4, v1, v14
.line 9
iget-object v13, v4, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
if-eqz v13, :cond_4
.line 10
invoke-interface {v13}, Lrh/n;->poll()Ljava/lang/Object;
move-result-object v13
if-eqz v13, :cond_4
.line 11
invoke-interface {v3, v13}, Lok/d;->onNext(Ljava/lang/Object;)V
.line 12
invoke-virtual {v4}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->requestOne()V
const-wide/16 v16, 0x1
add-long v10, v10, v16
cmp-long v4, v10, v6
if-nez v4, :cond_3
goto :goto_4
:cond_3
const/4 v15, 0x0
:cond_4
add-int/lit8 v14, v14, 0x1
goto :goto_2
:cond_5
if-eqz v12, :cond_7
if-eqz v15, :cond_7
.line 13
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Throwable;
if-eqz v1, :cond_6
.line 14
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v1}, Lio/reactivex/internal/util/AtomicThrowable;->terminate()Ljava/lang/Throwable;
move-result-object v1
invoke-interface {v3, v1}, Lok/d;->onError(Ljava/lang/Throwable;)V
goto :goto_3
.line 15
:cond_6
invoke-interface {v3}, Lok/d;->onComplete()V
:goto_3
return-void
:cond_7
if-eqz v15, :cond_0
:cond_8
:goto_4
cmp-long v4, v10, v6
if-nez v4, :cond_e
.line 16
iget-boolean v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cancelled:Z
if-eqz v4, :cond_9
.line 17
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->cleanup()V
return-void
.line 18
:cond_9
iget-object v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v4
if-nez v4, :cond_a
const/4 v4, 0x1
goto :goto_5
:cond_a
const/4 v4, 0x0
:goto_5
const/4 v12, 0x0
:goto_6
if-ge v12, v2, :cond_c
.line 19
aget-object v13, v1, v12
.line 20
iget-object v13, v13, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->queue:Lrh/n;
if-eqz v13, :cond_b
.line 21
invoke-interface {v13}, Lrh/o;->isEmpty()Z
move-result v13
if-nez v13, :cond_b
const/4 v13, 0x0
goto :goto_7
:cond_b
add-int/lit8 v12, v12, 0x1
goto :goto_6
:cond_c
const/4 v13, 0x1
:goto_7
if-eqz v4, :cond_e
if-eqz v13, :cond_e
.line 22
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Throwable;
if-eqz v1, :cond_d
.line 23
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v1}, Lio/reactivex/internal/util/AtomicThrowable;->terminate()Ljava/lang/Throwable;
move-result-object v1
invoke-interface {v3, v1}, Lok/d;->onError(Ljava/lang/Throwable;)V
goto :goto_8
.line 24
:cond_d
invoke-interface {v3}, Lok/d;->onComplete()V
:goto_8
return-void
:cond_e
cmp-long v4, v10, v8
if-eqz v4, :cond_f
const-wide v8, 0x7fffffffffffffffL
cmp-long v4, v6, v8
if-eqz v4, :cond_f
.line 25
iget-object v4, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
neg-long v6, v10
invoke-virtual {v4, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 26
:cond_f
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v4
if-ne v4, v5, :cond_10
neg-int v4, v5
.line 27
invoke-virtual {v0, v4}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v4
if-nez v4, :cond_10
return-void
:cond_10
move v5, v4
goto/16 :goto_0
.end method
.method public onComplete()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
.line 2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;->drain()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
invoke-virtual {v0, p1}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;->drain()V
return-void
.end method
.method public onNext(Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;Ljava/lang/Object;)V
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<",
"TT;>;TT;)V"
}
.end annotation
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
const-string v1, "Queue full?!"
if-nez v0, :cond_3
const/4 v0, 0x0
const/4 v2, 0x1
invoke-virtual {p0, v0, v2}, Ljava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
move-result v0
if-eqz v0, :cond_3
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v2
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-eqz v0, :cond_1
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->downstream:Lok/d;
invoke-interface {v0, p2}, Lok/d;->onNext(Ljava/lang/Object;)V
.line 4
iget-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {p2}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
const-wide v2, 0x7fffffffffffffffL
cmp-long p2, v0, v2
if-eqz p2, :cond_0
.line 5
iget-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {p2}, Ljava/util/concurrent/atomic/AtomicLong;->decrementAndGet()J
:cond_0
const-wide/16 v0, 0x1
.line 6
invoke-virtual {p1, v0, v1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->request(J)V
goto :goto_0
.line 7
:cond_1
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->getQueue()Lrh/n;
move-result-object v0
.line 8
invoke-interface {v0, p2}, Lrh/o;->offer(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_2
.line 9
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->cancel()Z
.line 10
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
new-instance p2, Lio/reactivex/exceptions/MissingBackpressureException;
invoke-direct {p2, v1}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, p2}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
.line 11
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;->drainLoop()V
return-void
.line 13
:cond_2
:goto_0
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result p1
if-nez p1, :cond_5
return-void
.line 14
:cond_3
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->getQueue()Lrh/n;
move-result-object v0
.line 15
invoke-interface {v0, p2}, Lrh/o;->offer(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_4
.line 16
invoke-virtual {p1}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;->cancel()Z
move-result p1
if-eqz p1, :cond_4
.line 17
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->errors:Lio/reactivex/internal/util/AtomicThrowable;
new-instance p2, Lio/reactivex/exceptions/MissingBackpressureException;
invoke-direct {p2, v1}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, p2}, Lio/reactivex/internal/util/AtomicThrowable;->addThrowable(Ljava/lang/Throwable;)Z
.line 18
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->done:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
.line 19
:cond_4
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result p1
if-eqz p1, :cond_5
return-void
.line 20
:cond_5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;->drainLoop()V
return-void
.end method
@@ -0,0 +1,126 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelJoin;
.super Lkh/j;
.source "ParallelJoin.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;,
Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;,
Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;,
Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lkh/j<",
"TT;>;"
}
.end annotation
# instance fields
.field public final b:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"+TT;>;"
}
.end annotation
.end field
.field public final c:I
.field public final d:Z
# direct methods
.method public constructor <init>(Lvh/a;IZ)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"+TT;>;IZ)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lkh/j;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->b:Lvh/a;
.line 3
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->c:I
.line 4
iput-boolean p3, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->d:Z
return-void
.end method
# virtual methods
.method public g6(Lok/d;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->d:Z
if-eqz v0, :cond_0
.line 2
new-instance v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->b:Lvh/a;
invoke-virtual {v1}, Lvh/a;->F()I
move-result v1
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->c:I
invoke-direct {v0, p1, v1, v2}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError;-><init>(Lok/d;II)V
goto :goto_0
.line 3
:cond_0
new-instance v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->b:Lvh/a;
invoke-virtual {v1}, Lvh/a;->F()I
move-result v1
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->c:I
invoke-direct {v0, p1, v1, v2}, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscription;-><init>(Lok/d;II)V
.line 4
:goto_0
invoke-interface {p1, v0}, Lok/d;->onSubscribe(Lok/e;)V
.line 5
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelJoin;->b:Lvh/a;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
invoke-virtual {p1, v0}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,235 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;
.super Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;
.source "ParallelReduce.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelReduce;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ParallelReduceSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/subscribers/DeferredScalarSubscriber<",
"TT;TR;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x71ce22a1fe47cbf8L
# instance fields
.field public accumulator:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TR;"
}
.end annotation
.end field
.field public done:Z
.field public final reducer:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"TR;-TT;TR;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;Ljava/lang/Object;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TR;>;TR;",
"Lph/c<",
"TR;-TT;TR;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1}, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;-><init>(Lok/d;)V
.line 2
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->accumulator:Ljava/lang/Object;
.line 3
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->reducer:Lph/c;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
invoke-super {p0}, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->cancel()V
.line 2
iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->upstream:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 2
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->done:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->done:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->accumulator:Ljava/lang/Object;
const/4 v1, 0x0
.line 4
iput-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->accumulator:Ljava/lang/Object;
.line 5
invoke-virtual {p0, v0}, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->complete(Ljava/lang/Object;)V
:cond_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->done:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->done:Z
const/4 v0, 0x0
.line 4
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->accumulator:Ljava/lang/Object;
.line 5
iget-object v0, p0, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->downstream:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->done:Z
if-nez v0, :cond_0
.line 2
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->reducer:Lph/c;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->accumulator:Ljava/lang/Object;
invoke-interface {v0, v1, p1}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "The reducer returned a null value"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->accumulator:Ljava/lang/Object;
goto :goto_0
:catchall_0
move-exception p1
.line 4
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->cancel()V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;->onError(Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->upstream:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->upstream:Lok/e;
.line 3
iget-object v0, p0, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->downstream:Lok/d;
invoke-interface {v0, p0}, Lok/d;->onSubscribe(Lok/e;)V
const-wide v0, 0x7fffffffffffffffL
.line 4
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
@@ -0,0 +1,213 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelReduce;
.super Lvh/a;
.source "ParallelReduce.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TR;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"+TT;>;"
}
.end annotation
.end field
.field public final b:Ljava/util/concurrent/Callable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/Callable<",
"TR;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"TR;-TT;TR;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Ljava/util/concurrent/Callable;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"+TT;>;",
"Ljava/util/concurrent/Callable<",
"TR;>;",
"Lph/c<",
"TR;-TT;TR;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->b:Ljava/util/concurrent/Callable;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->c:Lph/c;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TR;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 4
:try_start_0
iget-object v3, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->b:Ljava/util/concurrent/Callable;
invoke-interface {v3}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v3
const-string v4, "The initialSupplier returned a null value"
invoke-static {v3, v4}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
new-instance v4, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;
aget-object v5, p1, v2
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->c:Lph/c;
invoke-direct {v4, v5, v3, v6}, Lio/reactivex/internal/operators/parallel/ParallelReduce$ParallelReduceSubscriber;-><init>(Lok/d;Ljava/lang/Object;Lph/c;)V
aput-object v4, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:catchall_0
move-exception v0
.line 6
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 7
invoke-virtual {p0, p1, v0}, Lio/reactivex/internal/operators/parallel/ParallelReduce;->V([Lok/d;Ljava/lang/Throwable;)V
return-void
.line 8
:cond_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduce;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
.method public V([Lok/d;Ljava/lang/Throwable;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"*>;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
.line 1
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
aget-object v2, p1, v1
.line 2
invoke-static {p2, v2}, Lio/reactivex/internal/subscriptions/EmptySubscription;->error(Ljava/lang/Throwable;Lok/d;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
@@ -0,0 +1,231 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
.super Ljava/util/concurrent/atomic/AtomicReference;
.source "ParallelReduceFull.java"
# interfaces
.implements Lkh/o;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelReduceFull;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ParallelReduceFullInnerSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lok/e;",
">;",
"Lkh/o<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x6e63dcec7b1f41ddL
# instance fields
.field public done:Z
.field public final parent:Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber<",
"TT;>;"
}
.end annotation
.end field
.field public final reducer:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"TT;TT;TT;>;"
}
.end annotation
.end field
.field public value:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber<",
"TT;>;",
"Lph/c<",
"TT;TT;TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->reducer:Lph/c;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 0
.line 1
invoke-static {p0}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->cancel(Ljava/util/concurrent/atomic/AtomicReference;)Z
return-void
.end method
.method public onComplete()V
.locals 2
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->done:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->done:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->value:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->innerComplete(Ljava/lang/Object;)V
:cond_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->done:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->done:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
invoke-virtual {v0, p1}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->innerError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->done:Z
if-nez v0, :cond_1
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->value:Ljava/lang/Object;
if-nez v0, :cond_0
.line 3
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->value:Ljava/lang/Object;
goto :goto_0
.line 4
:cond_0
:try_start_0
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->reducer:Lph/c;
invoke-interface {v1, v0, p1}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "The reducer returned a null value"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->value:Ljava/lang/Object;
goto :goto_0
:catchall_0
move-exception p1
.line 6
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 7
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
.line 8
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->onError(Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 2
const-wide v0, 0x7fffffffffffffffL
.line 1
invoke-static {p0, p1, v0, v1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->setOnce(Ljava/util/concurrent/atomic/AtomicReference;Lok/e;J)Z
return-void
.end method
@@ -0,0 +1,396 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
.super Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;
.source "ParallelReduceFull.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelReduceFull;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ParallelReduceFullMainSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/subscriptions/DeferredScalarSubscription<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = -0x4a8674a85e439ebdL
# instance fields
.field public final current:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair<",
"TT;>;>;"
}
.end annotation
.end field
.field public final error:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.end field
.field public final reducer:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"TT;TT;TT;>;"
}
.end annotation
.end field
.field public final remaining:Ljava/util/concurrent/atomic/AtomicInteger;
.field public final subscribers:[Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;ILph/c;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;I",
"Lph/c<",
"TT;TT;TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1}, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;-><init>(Lok/d;)V
.line 2
new-instance p1, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
.line 3
new-instance p1, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {p1}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
.line 4
new-instance p1, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->error:Ljava/util/concurrent/atomic/AtomicReference;
.line 5
new-array p1, p2, [Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
const/4 v0, 0x0
:goto_0
if-ge v0, p2, :cond_0
.line 6
new-instance v1, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
invoke-direct {v1, p0, p3}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;-><init>(Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;Lph/c;)V
aput-object v1, p1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 7
:cond_0
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
.line 8
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->reducer:Lph/c;
.line 9
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
return-void
.end method
# virtual methods
.method public addValue(Ljava/lang/Object;)Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)",
"Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair<",
"TT;>;"
}
.end annotation
.line 1
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;
const/4 v1, 0x0
if-nez v0, :cond_0
.line 2
new-instance v0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;
invoke-direct {v0}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;-><init>()V
.line 3
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v2, v1, v0}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_0
goto :goto_0
.line 4
:cond_0
invoke-virtual {v0}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->tryAcquireSlot()I
move-result v2
if-gez v2, :cond_1
.line 5
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
goto :goto_0
:cond_1
if-nez v2, :cond_2
.line 6
iput-object p1, v0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->first:Ljava/lang/Object;
goto :goto_1
.line 7
:cond_2
iput-object p1, v0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->second:Ljava/lang/Object;
.line 8
:goto_1
invoke-virtual {v0}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->releaseSlot()Z
move-result p1
if-eqz p1, :cond_3
.line 9
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {p1, v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
return-object v0
:cond_3
return-object v1
.end method
.method public cancel()V
.locals 4
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, v0, v2
.line 2
invoke-virtual {v3}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;->cancel()V
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public innerComplete(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
if-eqz p1, :cond_0
.line 1
:goto_0
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->addValue(Ljava/lang/Object;)Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;
move-result-object p1
if-eqz p1, :cond_0
.line 2
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->reducer:Lph/c;
iget-object v1, p1, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->first:Ljava/lang/Object;
iget-object p1, p1, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->second:Ljava/lang/Object;
invoke-interface {v0, v1, p1}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "The reducer returned a null value"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception p1
.line 3
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 4
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->innerError(Ljava/lang/Throwable;)V
return-void
.line 5
:cond_0
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result p1
if-nez p1, :cond_2
.line 6
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;
.line 7
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
if-eqz p1, :cond_1
.line 8
iget-object p1, p1, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->first:Ljava/lang/Object;
invoke-virtual {p0, p1}, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->complete(Ljava/lang/Object;)V
goto :goto_1
.line 9
:cond_1
iget-object p1, p0, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->downstream:Lok/d;
invoke-interface {p1}, Lok/d;->onComplete()V
:cond_2
:goto_1
return-void
.end method
.method public innerError(Ljava/lang/Throwable;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->error:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->cancel()V
.line 3
iget-object v0, p0, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->downstream:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->error:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
if-eq p1, v0, :cond_1
.line 5
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-void
.end method
@@ -0,0 +1,122 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "ParallelReduceFull.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelReduceFull;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SlotPair"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x693e266f84553f6L
# instance fields
.field public first:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.end field
.field public final releaseIndex:Ljava/util/concurrent/atomic/AtomicInteger;
.field public second:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->releaseIndex:Ljava/util/concurrent/atomic/AtomicInteger;
return-void
.end method
# virtual methods
.method public releaseSlot()Z
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;->releaseIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public tryAcquireSlot()I
.locals 2
.line 1
:cond_0
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
const/4 v1, 0x2
if-lt v0, v1, :cond_1
const/4 v0, -0x1
return v0
:cond_1
add-int/lit8 v1, v0, 0x1
.line 2
invoke-virtual {p0, v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
move-result v1
if-eqz v1, :cond_0
return v0
.end method
@@ -0,0 +1,107 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelReduceFull;
.super Lkh/j;
.source "ParallelReduceFull.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelReduceFull$SlotPair;,
Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;,
Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lkh/j<",
"TT;>;"
}
.end annotation
# instance fields
.field public final b:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"+TT;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"TT;TT;TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"+TT;>;",
"Lph/c<",
"TT;TT;TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lkh/j;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull;->b:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull;->c:Lph/c;
return-void
.end method
# virtual methods
.method public g6(Lok/d;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
new-instance v0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull;->b:Lvh/a;
invoke-virtual {v1}, Lvh/a;->F()I
move-result v1
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull;->c:Lph/c;
invoke-direct {v0, p1, v1, v2}, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;-><init>(Lok/d;ILph/c;)V
.line 2
invoke-interface {p1, v0}, Lok/d;->onSubscribe(Lok/e;)V
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull;->b:Lvh/a;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullMainSubscriber;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelReduceFull$ParallelReduceFullInnerSubscriber;
invoke-virtual {p1, v0}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,288 @@
.class abstract Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "ParallelRunOn.java"
# interfaces
.implements Lkh/o;
.implements Lok/e;
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelRunOn;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "BaseRunOnSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;",
"Lkh/o<",
"TT;>;",
"Lok/e;",
"Ljava/lang/Runnable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x7ffc3440018b78e6L
# instance fields
.field public volatile cancelled:Z
.field public consumed:I
.field public volatile done:Z
.field public error:Ljava/lang/Throwable;
.field public final limit:I
.field public final prefetch:I
.field public final queue:Lio/reactivex/internal/queue/SpscArrayQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/queue/SpscArrayQueue<",
"TT;>;"
}
.end annotation
.end field
.field public final requested:Ljava/util/concurrent/atomic/AtomicLong;
.field public upstream:Lok/e;
.field public final worker:Lkh/h0$c;
# direct methods
.method public constructor <init>(ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lio/reactivex/internal/queue/SpscArrayQueue<",
"TT;>;",
"Lkh/h0$c;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicLong;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
.line 3
iput p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->prefetch:I
.line 4
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->queue:Lio/reactivex/internal/queue/SpscArrayQueue;
shr-int/lit8 p2, p1, 0x2
sub-int/2addr p1, p2
.line 5
iput p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->limit:I
.line 6
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
return-void
.end method
# virtual methods
.method public final cancel()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->cancelled:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->cancelled:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v0}, Lio/reactivex/disposables/b;->dispose()V
.line 5
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-nez v0, :cond_0
.line 6
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->queue:Lio/reactivex/internal/queue/SpscArrayQueue;
invoke-virtual {v0}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
:cond_0
return-void
.end method
.method public final onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->schedule()V
return-void
.end method
.method public final onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
.line 3
:cond_0
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->error:Ljava/lang/Throwable;
const/4 p1, 0x1
.line 4
iput-boolean p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->schedule()V
return-void
.end method
.method public final onNext(Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->queue:Lio/reactivex/internal/queue/SpscArrayQueue;
invoke-virtual {v0, p1}, Lio/reactivex/internal/queue/SpscArrayQueue;->offer(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_1
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
invoke-interface {p1}, Lok/e;->cancel()V
.line 4
new-instance p1, Lio/reactivex/exceptions/MissingBackpressureException;
const-string v0, "Queue is full?!"
invoke-direct {p1, v0}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->onError(Ljava/lang/Throwable;)V
return-void
.line 5
:cond_1
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->schedule()V
return-void
.end method
.method public final request(J)V
.locals 1
.line 1
invoke-static {p1, p2}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(J)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-static {v0, p1, p2}, Lio/reactivex/internal/util/b;->a(Ljava/util/concurrent/atomic/AtomicLong;J)J
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->schedule()V
:cond_0
return-void
.end method
.method public final schedule()V
.locals 1
.line 1
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-nez v0, :cond_0
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-virtual {v0, p0}, Lkh/h0$c;->b(Ljava/lang/Runnable;)Lio/reactivex/disposables/b;
:cond_0
return-void
.end method
@@ -0,0 +1,338 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;
.super Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;
.source "ParallelRunOn.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelRunOn;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "RunOnConditionalSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0xeeb976b788f368aL
# instance fields
.field public final downstream:Lrh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/a<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lrh/a;ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrh/a<",
"-TT;>;I",
"Lio/reactivex/internal/queue/SpscArrayQueue<",
"TT;>;",
"Lkh/h0$c;",
")V"
}
.end annotation
.line 1
invoke-direct {p0, p2, p3, p4}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;-><init>(ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;->downstream:Lrh/a;
return-void
.end method
# virtual methods
.method public onSubscribe(Lok/e;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;->downstream:Lrh/a;
invoke-interface {v0, p0}, Lkh/o;->onSubscribe(Lok/e;)V
.line 4
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->prefetch:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public run()V
.locals 18
move-object/from16 v0, p0
.line 1
iget v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->consumed:I
.line 2
iget-object v2, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->queue:Lio/reactivex/internal/queue/SpscArrayQueue;
.line 3
iget-object v3, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;->downstream:Lrh/a;
.line 4
iget v4, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->limit:I
const/4 v5, 0x1
move v6, v5
.line 5
:cond_0
:goto_0
iget-object v7, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v7
const-wide/16 v9, 0x0
move-wide v11, v9
:cond_1
:goto_1
cmp-long v13, v11, v7
if-eqz v13, :cond_8
.line 6
iget-boolean v14, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->cancelled:Z
if-eqz v14, :cond_2
.line 7
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
return-void
.line 8
:cond_2
iget-boolean v14, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v14, :cond_3
.line 9
iget-object v15, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->error:Ljava/lang/Throwable;
if-eqz v15, :cond_3
.line 10
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
.line 11
invoke-interface {v3, v15}, Lok/d;->onError(Ljava/lang/Throwable;)V
.line 12
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
.line 13
:cond_3
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->poll()Ljava/lang/Object;
move-result-object v15
const/16 v16, 0x0
if-nez v15, :cond_4
move/from16 v17, v5
goto :goto_2
:cond_4
move/from16 v17, v16
:goto_2
if-eqz v14, :cond_5
if-eqz v17, :cond_5
.line 14
invoke-interface {v3}, Lok/d;->onComplete()V
.line 15
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
:cond_5
if-eqz v17, :cond_6
goto :goto_3
.line 16
:cond_6
invoke-interface {v3, v15}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_7
const-wide/16 v13, 0x1
add-long/2addr v11, v13
:cond_7
add-int/lit8 v1, v1, 0x1
if-ne v1, v4, :cond_1
.line 17
iget-object v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
int-to-long v14, v1
invoke-interface {v13, v14, v15}, Lok/e;->request(J)V
move/from16 v1, v16
goto :goto_1
:cond_8
:goto_3
if-nez v13, :cond_b
.line 18
iget-boolean v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->cancelled:Z
if-eqz v13, :cond_9
.line 19
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
return-void
.line 20
:cond_9
iget-boolean v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v13, :cond_b
.line 21
iget-object v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->error:Ljava/lang/Throwable;
if-eqz v13, :cond_a
.line 22
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
.line 23
invoke-interface {v3, v13}, Lok/d;->onError(Ljava/lang/Throwable;)V
.line 24
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
.line 25
:cond_a
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->isEmpty()Z
move-result v13
if-eqz v13, :cond_b
.line 26
invoke-interface {v3}, Lok/d;->onComplete()V
.line 27
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
:cond_b
cmp-long v9, v11, v9
if-eqz v9, :cond_c
const-wide v9, 0x7fffffffffffffffL
cmp-long v7, v7, v9
if-eqz v7, :cond_c
.line 28
iget-object v7, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
neg-long v8, v11
invoke-virtual {v7, v8, v9}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 29
:cond_c
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v7
if-ne v7, v6, :cond_d
.line 30
iput v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->consumed:I
neg-int v6, v6
.line 31
invoke-virtual {v0, v6}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v6
if-nez v6, :cond_0
return-void
:cond_d
move v6, v7
goto/16 :goto_0
.end method
@@ -0,0 +1,333 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;
.super Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;
.source "ParallelRunOn.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelRunOn;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "RunOnSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0xeeb976b788f368aL
# instance fields
.field public final downstream:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;I",
"Lio/reactivex/internal/queue/SpscArrayQueue<",
"TT;>;",
"Lkh/h0$c;",
")V"
}
.end annotation
.line 1
invoke-direct {p0, p2, p3, p4}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;-><init>(ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;->downstream:Lok/d;
return-void
.end method
# virtual methods
.method public onSubscribe(Lok/e;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;->downstream:Lok/d;
invoke-interface {v0, p0}, Lok/d;->onSubscribe(Lok/e;)V
.line 4
iget v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->prefetch:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public run()V
.locals 18
move-object/from16 v0, p0
.line 1
iget v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->consumed:I
.line 2
iget-object v2, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->queue:Lio/reactivex/internal/queue/SpscArrayQueue;
.line 3
iget-object v3, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;->downstream:Lok/d;
.line 4
iget v4, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->limit:I
const/4 v5, 0x1
move v6, v5
.line 5
:cond_0
:goto_0
iget-object v7, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v7
const-wide/16 v9, 0x0
move-wide v11, v9
:cond_1
:goto_1
cmp-long v13, v11, v7
if-eqz v13, :cond_7
.line 6
iget-boolean v14, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->cancelled:Z
if-eqz v14, :cond_2
.line 7
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
return-void
.line 8
:cond_2
iget-boolean v14, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v14, :cond_3
.line 9
iget-object v15, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->error:Ljava/lang/Throwable;
if-eqz v15, :cond_3
.line 10
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
.line 11
invoke-interface {v3, v15}, Lok/d;->onError(Ljava/lang/Throwable;)V
.line 12
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
.line 13
:cond_3
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->poll()Ljava/lang/Object;
move-result-object v15
const/16 v16, 0x0
if-nez v15, :cond_4
move/from16 v17, v5
goto :goto_2
:cond_4
move/from16 v17, v16
:goto_2
if-eqz v14, :cond_5
if-eqz v17, :cond_5
.line 14
invoke-interface {v3}, Lok/d;->onComplete()V
.line 15
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
:cond_5
if-eqz v17, :cond_6
goto :goto_3
.line 16
:cond_6
invoke-interface {v3, v15}, Lok/d;->onNext(Ljava/lang/Object;)V
const-wide/16 v13, 0x1
add-long/2addr v11, v13
add-int/lit8 v1, v1, 0x1
if-ne v1, v4, :cond_1
.line 17
iget-object v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->upstream:Lok/e;
int-to-long v14, v1
invoke-interface {v13, v14, v15}, Lok/e;->request(J)V
move/from16 v1, v16
goto :goto_1
:cond_7
:goto_3
if-nez v13, :cond_a
.line 18
iget-boolean v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->cancelled:Z
if-eqz v13, :cond_8
.line 19
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
return-void
.line 20
:cond_8
iget-boolean v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->done:Z
if-eqz v13, :cond_a
.line 21
iget-object v13, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->error:Ljava/lang/Throwable;
if-eqz v13, :cond_9
.line 22
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->clear()V
.line 23
invoke-interface {v3, v13}, Lok/d;->onError(Ljava/lang/Throwable;)V
.line 24
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
.line 25
:cond_9
invoke-virtual {v2}, Lio/reactivex/internal/queue/SpscArrayQueue;->isEmpty()Z
move-result v13
if-eqz v13, :cond_a
.line 26
invoke-interface {v3}, Lok/d;->onComplete()V
.line 27
iget-object v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->worker:Lkh/h0$c;
invoke-interface {v1}, Lio/reactivex/disposables/b;->dispose()V
return-void
:cond_a
cmp-long v9, v11, v9
if-eqz v9, :cond_b
const-wide v9, 0x7fffffffffffffffL
cmp-long v7, v7, v9
if-eqz v7, :cond_b
.line 28
iget-object v7, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->requested:Ljava/util/concurrent/atomic/AtomicLong;
neg-long v8, v11
invoke-virtual {v7, v8, v9}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 29
:cond_b
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v7
if-ne v7, v6, :cond_c
.line 30
iput v1, v0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;->consumed:I
neg-int v6, v6
.line 31
invoke-virtual {v0, v6}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v6
if-nez v6, :cond_0
return-void
:cond_c
move v6, v7
goto/16 :goto_0
.end method
@@ -0,0 +1,86 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;
.super Ljava/lang/Object;
.source "ParallelRunOn.java"
# interfaces
.implements Lio/reactivex/internal/schedulers/i$a;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelRunOn;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "a"
.end annotation
# instance fields
.field public final a:[Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
.field public final b:[Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lok/d<",
"TT;>;"
}
.end annotation
.end field
.field public final synthetic c:Lio/reactivex/internal/operators/parallel/ParallelRunOn;
# direct methods
.method public constructor <init>(Lio/reactivex/internal/operators/parallel/ParallelRunOn;[Lok/d;[Lok/d;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;[",
"Lok/d<",
"TT;>;)V"
}
.end annotation
.line 1
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;->c:Lio/reactivex/internal/operators/parallel/ParallelRunOn;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;->a:[Lok/d;
.line 3
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;->b:[Lok/d;
return-void
.end method
# virtual methods
.method public a(ILkh/h0$c;)V
.locals 3
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;->c:Lio/reactivex/internal/operators/parallel/ParallelRunOn;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;->a:[Lok/d;
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;->b:[Lok/d;
invoke-virtual {v0, p1, v1, v2, p2}, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->V(I[Lok/d;[Lok/d;Lkh/h0$c;)V
return-void
.end method
@@ -0,0 +1,213 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelRunOn;
.super Lvh/a;
.source "ParallelRunOn.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;,
Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;,
Lio/reactivex/internal/operators/parallel/ParallelRunOn$BaseRunOnSubscriber;,
Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"+TT;>;"
}
.end annotation
.end field
.field public final b:Lkh/h0;
.field public final c:I
# direct methods
.method public constructor <init>(Lvh/a;Lkh/h0;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"+TT;>;",
"Lkh/h0;",
"I)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->b:Lkh/h0;
.line 4
iput p3, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->c:I
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
.line 4
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->b:Lkh/h0;
instance-of v3, v2, Lio/reactivex/internal/schedulers/i;
if-eqz v3, :cond_1
.line 5
check-cast v2, Lio/reactivex/internal/schedulers/i;
.line 6
new-instance v3, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;
invoke-direct {v3, p0, p1, v1}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$a;-><init>(Lio/reactivex/internal/operators/parallel/ParallelRunOn;[Lok/d;[Lok/d;)V
invoke-interface {v2, v0, v3}, Lio/reactivex/internal/schedulers/i;->a(ILio/reactivex/internal/schedulers/i$a;)V
goto :goto_1
:cond_1
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 7
iget-object v3, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->b:Lkh/h0;
invoke-virtual {v3}, Lkh/h0;->c()Lkh/h0$c;
move-result-object v3
invoke-virtual {p0, v2, p1, v1, v3}, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->V(I[Lok/d;[Lok/d;Lkh/h0$c;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 8
:cond_2
:goto_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
.method public V(I[Lok/d;[Lok/d;Lkh/h0$c;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(I[",
"Lok/d<",
"-TT;>;[",
"Lok/d<",
"TT;>;",
"Lkh/h0$c;",
")V"
}
.end annotation
.line 1
aget-object p2, p2, p1
.line 2
new-instance v0, Lio/reactivex/internal/queue/SpscArrayQueue;
iget v1, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->c:I
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/SpscArrayQueue;-><init>(I)V
.line 3
instance-of v1, p2, Lrh/a;
if-eqz v1, :cond_0
.line 4
new-instance v1, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;
check-cast p2, Lrh/a;
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->c:I
invoke-direct {v1, p2, v2, v0, p4}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnConditionalSubscriber;-><init>(Lrh/a;ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
aput-object v1, p3, p1
goto :goto_0
.line 5
:cond_0
new-instance v1, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;
iget v2, p0, Lio/reactivex/internal/operators/parallel/ParallelRunOn;->c:I
invoke-direct {v1, p2, v2, v0, p4}, Lio/reactivex/internal/operators/parallel/ParallelRunOn$RunOnSubscriber;-><init>(Lok/d;ILio/reactivex/internal/queue/SpscArrayQueue;Lkh/h0$c;)V
aput-object v1, p3, p1
:goto_0
return-void
.end method
@@ -0,0 +1,142 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
.super Ljava/util/concurrent/atomic/AtomicReference;
.source "ParallelSortedJoin.java"
# interfaces
.implements Lkh/o;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SortedJoinInnerSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lok/e;",
">;",
"Lkh/o<",
"Ljava/util/List<",
"TT;>;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x5db06e61210dc8deL
# instance fields
.field public final index:I
.field public final parent:Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription<",
"TT;>;I)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
.line 3
iput p2, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->index:I
return-void
.end method
# virtual methods
.method public cancel()V
.locals 0
.line 1
invoke-static {p0}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->cancel(Ljava/util/concurrent/atomic/AtomicReference;)Z
return-void
.end method
.method public onComplete()V
.locals 0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
invoke-virtual {v0, p1}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->innerError(Ljava/lang/Throwable;)V
return-void
.end method
.method public bridge synthetic onNext(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Ljava/util/List;
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->onNext(Ljava/util/List;)V
return-void
.end method
.method public onNext(Ljava/util/List;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"TT;>;)V"
}
.end annotation
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->parent:Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
iget v1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->index:I
invoke-virtual {v0, p1, v1}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->innerNext(Ljava/util/List;I)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 2
const-wide v0, 0x7fffffffffffffffL
.line 1
invoke-static {p0, p1, v0, v1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->setOnce(Ljava/util/concurrent/atomic/AtomicReference;Lok/e;J)Z
return-void
.end method
@@ -0,0 +1,690 @@
.class final Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "ParallelSortedJoin.java"
# interfaces
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SortedJoinSubscription"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;",
"Lok/e;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x30527af9756114d9L
# instance fields
.field public volatile cancelled:Z
.field public final comparator:Ljava/util/Comparator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Comparator<",
"-TT;>;"
}
.end annotation
.end field
.field public final downstream:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
.field public final error:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.end field
.field public final indexes:[I
.field public final lists:[Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/util/List<",
"TT;>;"
}
.end annotation
.end field
.field public final remaining:Ljava/util/concurrent/atomic/AtomicInteger;
.field public final requested:Ljava/util/concurrent/atomic/AtomicLong;
.field public final subscribers:[Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;ILjava/util/Comparator;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;I",
"Ljava/util/Comparator<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicLong;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->requested:Ljava/util/concurrent/atomic/AtomicLong;
.line 3
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
.line 4
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
.line 5
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->downstream:Lok/d;
.line 6
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->comparator:Ljava/util/Comparator;
.line 7
new-array p1, p2, [Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
const/4 p3, 0x0
:goto_0
if-ge p3, p2, :cond_0
.line 8
new-instance v0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
invoke-direct {v0, p0, p3}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;-><init>(Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;I)V
aput-object v0, p1, p3
add-int/lit8 p3, p3, 0x1
goto :goto_0
.line 9
:cond_0
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
.line 10
new-array p1, p2, [Ljava/util/List;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->lists:[Ljava/util/List;
.line 11
new-array p1, p2, [I
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->indexes:[I
.line 12
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
return-void
.end method
# virtual methods
.method public cancel()V
.locals 2
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelled:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelled:Z
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelAll()V
.line 4
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-nez v0, :cond_0
.line 5
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->lists:[Ljava/util/List;
const/4 v1, 0x0
invoke-static {v0, v1}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
:cond_0
return-void
.end method
.method public cancelAll()V
.locals 4
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, v0, v2
.line 2
invoke-virtual {v3}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;->cancel()V
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public drain()V
.locals 16
move-object/from16 v1, p0
.line 1
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v2, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->downstream:Lok/d;
.line 3
iget-object v3, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->lists:[Ljava/util/List;
.line 4
iget-object v0, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->indexes:[I
.line 5
array-length v4, v0
const/4 v6, 0x1
.line 6
:goto_0
iget-object v7, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v7
const-wide/16 v11, 0x0
:goto_1
cmp-long v13, v11, v7
const/4 v15, 0x0
if-eqz v13, :cond_9
.line 7
iget-boolean v13, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelled:Z
if-eqz v13, :cond_1
.line 8
invoke-static {v3, v15}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.line 9
:cond_1
iget-object v13, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v13}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v13
check-cast v13, Ljava/lang/Throwable;
if-eqz v13, :cond_2
.line 10
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelAll()V
.line 11
invoke-static {v3, v15}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
.line 12
invoke-interface {v2, v13}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
:cond_2
const/4 v13, -0x1
move-object v9, v15
const/4 v14, 0x0
:goto_2
if-ge v14, v4, :cond_7
.line 13
aget-object v10, v3, v14
.line 14
aget v5, v0, v14
.line 15
invoke-interface {v10}, Ljava/util/List;->size()I
move-result v15
if-eq v15, v5, :cond_6
if-nez v9, :cond_3
.line 16
invoke-interface {v10, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v9
:goto_3
move v13, v14
goto :goto_5
.line 17
:cond_3
invoke-interface {v10, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
.line 18
:try_start_0
iget-object v10, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->comparator:Ljava/util/Comparator;
invoke-interface {v10, v9, v5}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v10
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-lez v10, :cond_4
const/4 v10, 0x1
goto :goto_4
:cond_4
const/4 v10, 0x0
:goto_4
if-eqz v10, :cond_6
move-object v9, v5
goto :goto_3
:catchall_0
move-exception v0
.line 19
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 20
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelAll()V
const/4 v4, 0x0
.line 21
invoke-static {v3, v4}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
.line 22
iget-object v3, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3, v4, v0}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_5
.line 23
invoke-static {v0}, Lwh/a;->Y(Ljava/lang/Throwable;)V
.line 24
:cond_5
iget-object v0, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Throwable;
invoke-interface {v2, v0}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
:cond_6
:goto_5
add-int/lit8 v14, v14, 0x1
const/4 v15, 0x0
goto :goto_2
:cond_7
if-nez v9, :cond_8
const/4 v5, 0x0
.line 25
invoke-static {v3, v5}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
.line 26
invoke-interface {v2}, Lok/d;->onComplete()V
return-void
.line 27
:cond_8
invoke-interface {v2, v9}, Lok/d;->onNext(Ljava/lang/Object;)V
.line 28
aget v5, v0, v13
const/4 v9, 0x1
add-int/2addr v5, v9
aput v5, v0, v13
const-wide/16 v13, 0x1
add-long/2addr v11, v13
goto/16 :goto_1
:cond_9
const/4 v9, 0x1
if-nez v13, :cond_e
.line 29
iget-boolean v5, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelled:Z
if-eqz v5, :cond_a
const/4 v5, 0x0
.line 30
invoke-static {v3, v5}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
return-void
:cond_a
const/4 v5, 0x0
.line 31
iget-object v10, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v10}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v10
check-cast v10, Ljava/lang/Throwable;
if-eqz v10, :cond_b
.line 32
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->cancelAll()V
.line 33
invoke-static {v3, v5}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
.line 34
invoke-interface {v2, v10}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
:cond_b
const/4 v5, 0x0
:goto_6
if-ge v5, v4, :cond_d
.line 35
aget v10, v0, v5
aget-object v13, v3, v5
invoke-interface {v13}, Ljava/util/List;->size()I
move-result v13
if-eq v10, v13, :cond_c
const/4 v14, 0x0
goto :goto_7
:cond_c
add-int/lit8 v5, v5, 0x1
goto :goto_6
:cond_d
move v14, v9
:goto_7
if-eqz v14, :cond_e
const/4 v5, 0x0
.line 36
invoke-static {v3, v5}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
.line 37
invoke-interface {v2}, Lok/d;->onComplete()V
return-void
:cond_e
const-wide/16 v13, 0x0
cmp-long v5, v11, v13
if-eqz v5, :cond_f
const-wide v13, 0x7fffffffffffffffL
cmp-long v5, v7, v13
if-eqz v5, :cond_f
.line 38
iget-object v5, v1, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->requested:Ljava/util/concurrent/atomic/AtomicLong;
neg-long v7, v11
invoke-virtual {v5, v7, v8}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 39
:cond_f
invoke-virtual/range {p0 .. p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v5
if-ne v5, v6, :cond_10
neg-int v5, v6
.line 40
invoke-virtual {v1, v5}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v5
if-nez v5, :cond_10
return-void
:cond_10
move v6, v5
goto/16 :goto_0
.end method
.method public innerError(Ljava/lang/Throwable;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1, p1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->drain()V
goto :goto_0
.line 3
:cond_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->error:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
if-eq p1, v0, :cond_1
.line 4
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-void
.end method
.method public innerNext(Ljava/util/List;I)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"TT;>;I)V"
}
.end annotation
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->lists:[Ljava/util/List;
aput-object p1, v0, p2
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result p1
if-nez p1, :cond_0
.line 3
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->drain()V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
invoke-static {p1, p2}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(J)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-static {v0, p1, p2}, Lio/reactivex/internal/util/b;->a(Ljava/util/concurrent/atomic/AtomicLong;J)J
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->remaining:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result p1
if-nez p1, :cond_0
.line 4
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->drain()V
:cond_0
return-void
.end method
@@ -0,0 +1,108 @@
.class public final Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;
.super Lkh/j;
.source "ParallelSortedJoin.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;,
Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lkh/j<",
"TT;>;"
}
.end annotation
# instance fields
.field public final b:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"Ljava/util/List<",
"TT;>;>;"
}
.end annotation
.end field
.field public final c:Ljava/util/Comparator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Comparator<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Ljava/util/Comparator;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"Ljava/util/List<",
"TT;>;>;",
"Ljava/util/Comparator<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lkh/j;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;->b:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;->c:Ljava/util/Comparator;
return-void
.end method
# virtual methods
.method public g6(Lok/d;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
new-instance v0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;->b:Lvh/a;
invoke-virtual {v1}, Lvh/a;->F()I
move-result v1
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;->c:Ljava/util/Comparator;
invoke-direct {v0, p1, v1, v2}, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;-><init>(Lok/d;ILjava/util/Comparator;)V
.line 2
invoke-interface {p1, v0}, Lok/d;->onSubscribe(Lok/e;)V
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin;->b:Lvh/a;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinSubscription;->subscribers:[Lio/reactivex/internal/operators/parallel/ParallelSortedJoin$SortedJoinInnerSubscriber;
invoke-virtual {p1, v0}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,169 @@
.class public final Lio/reactivex/internal/operators/parallel/a;
.super Lvh/a;
.source "ParallelConcatMap.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TR;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+",
"Lok/c<",
"+TR;>;>;"
}
.end annotation
.end field
.field public final c:I
.field public final d:Lio/reactivex/internal/util/ErrorMode;
# direct methods
.method public constructor <init>(Lvh/a;Lph/o;ILio/reactivex/internal/util/ErrorMode;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/o<",
"-TT;+",
"Lok/c<",
"+TR;>;>;I",
"Lio/reactivex/internal/util/ErrorMode;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/a;->a:Lvh/a;
const-string p1, "mapper"
.line 3
invoke-static {p2, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/o;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/a;->b:Lph/o;
.line 4
iput p3, p0, Lio/reactivex/internal/operators/parallel/a;->c:I
const-string p1, "errorMode"
.line 5
invoke-static {p4, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lio/reactivex/internal/util/ErrorMode;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/a;->d:Lio/reactivex/internal/util/ErrorMode;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/a;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TR;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 4
aget-object v3, p1, v2
iget-object v4, p0, Lio/reactivex/internal/operators/parallel/a;->b:Lph/o;
iget v5, p0, Lio/reactivex/internal/operators/parallel/a;->c:I
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/a;->d:Lio/reactivex/internal/util/ErrorMode;
invoke-static {v3, v4, v5, v6}, Lio/reactivex/internal/operators/flowable/FlowableConcatMap;->I8(Lok/d;Lph/o;ILio/reactivex/internal/util/ErrorMode;)Lok/d;
move-result-object v3
aput-object v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 5
:cond_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/a;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,83 @@
.class public synthetic Lio/reactivex/internal/operators/parallel/b$a;
.super Ljava/lang/Object;
.source "ParallelDoOnNextTry.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/b;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic a:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lio/reactivex/parallel/ParallelFailureHandling;->values()[Lio/reactivex/parallel/ParallelFailureHandling;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lio/reactivex/internal/operators/parallel/b$a;->a:[I
:try_start_0
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->RETRY:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lio/reactivex/internal/operators/parallel/b$a;->a:[I
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->SKIP:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lio/reactivex/internal/operators/parallel/b$a;->a:[I
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->STOP:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
return-void
.end method
@@ -0,0 +1,367 @@
.class public final Lio/reactivex/internal/operators/parallel/b$b;
.super Ljava/lang/Object;
.source "ParallelDoOnNextTry.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/b;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lrh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/a<",
"-TT;>;"
}
.end annotation
.end field
.field public final b:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-TT;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
.field public d:Lok/e;
.field public e:Z
# direct methods
.method public constructor <init>(Lrh/a;Lph/g;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrh/a<",
"-TT;>;",
"Lph/g<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/b$b;->a:Lrh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/b$b;->b:Lph/g;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/b$b;->c:Lph/c;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->d:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->e:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->e:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->a:Lrh/a;
invoke-interface {v0}, Lok/d;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->e:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->e:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->a:Lrh/a;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/b$b;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
iget-boolean p1, p0, Lio/reactivex/internal/operators/parallel/b$b;->e:Z
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/b$b;->d:Lok/e;
const-wide/16 v0, 0x1
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->d:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/b$b;->d:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/b$b;->a:Lrh/a;
invoke-interface {p1, p0}, Lkh/o;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->d:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->e:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return v1
:cond_0
const-wide/16 v2, 0x0
.line 2
:cond_1
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->b:Lph/g;
invoke-interface {v0, p1}, Lph/g;->accept(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$b;->a:Lrh/a;
invoke-interface {v0, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
return p1
:catchall_0
move-exception v0
.line 4
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
const/4 v4, 0x1
const/4 v5, 0x2
.line 5
:try_start_1
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/b$b;->c:Lph/c;
const-wide/16 v7, 0x1
add-long/2addr v2, v7
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-interface {v6, v7, v0}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const-string v7, "The errorHandler returned a null item"
invoke-static {v6, v7}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/reactivex/parallel/ParallelFailureHandling;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 6
sget-object v7, Lio/reactivex/internal/operators/parallel/b$a;->a:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
if-eq v6, v4, :cond_1
if-eq v6, v5, :cond_3
const/4 p1, 0x3
if-eq v6, p1, :cond_2
.line 7
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$b;->cancel()V
.line 8
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/parallel/b$b;->onError(Ljava/lang/Throwable;)V
return v1
.line 9
:cond_2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$b;->cancel()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$b;->onComplete()V
:cond_3
return v1
:catchall_1
move-exception p1
.line 11
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$b;->cancel()V
.line 13
new-instance v2, Lio/reactivex/exceptions/CompositeException;
new-array v3, v5, [Ljava/lang/Throwable;
aput-object v0, v3, v1
aput-object p1, v3, v4
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/parallel/b$b;->onError(Ljava/lang/Throwable;)V
return v1
.end method
@@ -0,0 +1,361 @@
.class public final Lio/reactivex/internal/operators/parallel/b$c;
.super Ljava/lang/Object;
.source "ParallelDoOnNextTry.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/b;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "c"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
.field public final b:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-TT;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
.field public d:Lok/e;
.field public e:Z
# direct methods
.method public constructor <init>(Lok/d;Lph/g;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;",
"Lph/g<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/b$c;->a:Lok/d;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/b$c;->b:Lph/g;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/b$c;->c:Lph/c;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->d:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->e:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->e:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->a:Lok/d;
invoke-interface {v0}, Lok/d;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->e:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->e:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->a:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/b$c;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/b$c;->d:Lok/e;
const-wide/16 v0, 0x1
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->d:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/b$c;->d:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/b$c;->a:Lok/d;
invoke-interface {p1, p0}, Lok/d;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->d:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/b$c;->e:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return v1
:cond_0
const-wide/16 v2, 0x0
:cond_1
const/4 v0, 0x1
.line 2
:try_start_0
iget-object v4, p0, Lio/reactivex/internal/operators/parallel/b$c;->b:Lph/g;
invoke-interface {v4, p1}, Lph/g;->accept(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/b$c;->a:Lok/d;
invoke-interface {v1, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
return v0
:catchall_0
move-exception v4
.line 4
invoke-static {v4}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
const/4 v5, 0x2
.line 5
:try_start_1
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/b$c;->c:Lph/c;
const-wide/16 v7, 0x1
add-long/2addr v2, v7
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-interface {v6, v7, v4}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const-string v7, "The errorHandler returned a null item"
invoke-static {v6, v7}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/reactivex/parallel/ParallelFailureHandling;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 6
sget-object v7, Lio/reactivex/internal/operators/parallel/b$a;->a:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
if-eq v6, v0, :cond_1
if-eq v6, v5, :cond_3
const/4 p1, 0x3
if-eq v6, p1, :cond_2
.line 7
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$c;->cancel()V
.line 8
invoke-virtual {p0, v4}, Lio/reactivex/internal/operators/parallel/b$c;->onError(Ljava/lang/Throwable;)V
return v1
.line 9
:cond_2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$c;->cancel()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$c;->onComplete()V
:cond_3
return v1
:catchall_1
move-exception p1
.line 11
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/b$c;->cancel()V
.line 13
new-instance v2, Lio/reactivex/exceptions/CompositeException;
new-array v3, v5, [Ljava/lang/Throwable;
aput-object v4, v3, v1
aput-object p1, v3, v0
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/parallel/b$c;->onError(Ljava/lang/Throwable;)V
return v1
.end method
@@ -0,0 +1,187 @@
.class public final Lio/reactivex/internal/operators/parallel/b;
.super Lvh/a;
.source "ParallelDoOnNextTry.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/b$b;,
Lio/reactivex/internal/operators/parallel/b$c;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-TT;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Lph/g;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/g<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/b;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/b;->b:Lph/g;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/b;->c:Lph/c;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/b;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 4
aget-object v3, p1, v2
.line 5
instance-of v4, v3, Lrh/a;
if-eqz v4, :cond_1
.line 6
new-instance v4, Lio/reactivex/internal/operators/parallel/b$b;
check-cast v3, Lrh/a;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/b;->b:Lph/g;
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/b;->c:Lph/c;
invoke-direct {v4, v3, v5, v6}, Lio/reactivex/internal/operators/parallel/b$b;-><init>(Lrh/a;Lph/g;Lph/c;)V
aput-object v4, v1, v2
goto :goto_1
.line 7
:cond_1
new-instance v4, Lio/reactivex/internal/operators/parallel/b$c;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/b;->b:Lph/g;
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/b;->c:Lph/c;
invoke-direct {v4, v3, v5, v6}, Lio/reactivex/internal/operators/parallel/b$c;-><init>(Lok/d;Lph/g;Lph/c;)V
aput-object v4, v1, v2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 8
:cond_2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/b;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,120 @@
.class public abstract Lio/reactivex/internal/operators/parallel/c$a;
.super Ljava/lang/Object;
.source "ParallelFilter.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lph/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/r<",
"-TT;>;"
}
.end annotation
.end field
.field public b:Lok/e;
.field public c:Z
# direct methods
.method public constructor <init>(Lph/r;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lph/r<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/c$a;->a:Lph/r;
return-void
.end method
# virtual methods
.method public final cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public final onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
invoke-interface {p0, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
iget-boolean p1, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
const-wide/16 v0, 0x1
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public final request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
@@ -0,0 +1,185 @@
.class public final Lio/reactivex/internal/operators/parallel/c$b;
.super Lio/reactivex/internal/operators/parallel/c$a;
.source "ParallelFilter.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/c$a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final d:Lrh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/a<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lrh/a;Lph/r;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrh/a<",
"-TT;>;",
"Lph/r<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p2}, Lio/reactivex/internal/operators/parallel/c$a;-><init>(Lph/r;)V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/c$b;->d:Lrh/a;
return-void
.end method
# virtual methods
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$b;->d:Lrh/a;
invoke-interface {v0}, Lok/d;->onComplete()V
:cond_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$b;->d:Lrh/a;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/c$b;->d:Lrh/a;
invoke-interface {p1, p0}, Lkh/o;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
const/4 v1, 0x0
if-nez v0, :cond_0
.line 2
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->a:Lph/r;
invoke-interface {v0, p1}, Lph/r;->test(Ljava/lang/Object;)Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$b;->d:Lrh/a;
invoke-interface {v0, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
return p1
:catchall_0
move-exception p1
.line 4
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/c$a;->cancel()V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/c$b;->onError(Ljava/lang/Throwable;)V
:cond_0
return v1
.end method
@@ -0,0 +1,185 @@
.class public final Lio/reactivex/internal/operators/parallel/c$c;
.super Lio/reactivex/internal/operators/parallel/c$a;
.source "ParallelFilter.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "c"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/c$a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final d:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;Lph/r;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;",
"Lph/r<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p2}, Lio/reactivex/internal/operators/parallel/c$a;-><init>(Lph/r;)V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/c$c;->d:Lok/d;
return-void
.end method
# virtual methods
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$c;->d:Lok/d;
invoke-interface {v0}, Lok/d;->onComplete()V
:cond_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$c;->d:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/c$a;->b:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/c$c;->d:Lok/d;
invoke-interface {p1, p0}, Lok/d;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->c:Z
const/4 v1, 0x0
if-nez v0, :cond_0
.line 2
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$a;->a:Lph/r;
invoke-interface {v0, p1}, Lph/r;->test(Ljava/lang/Object;)Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c$c;->d:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
const/4 p1, 0x1
return p1
:catchall_0
move-exception p1
.line 4
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/c$a;->cancel()V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/c$c;->onError(Ljava/lang/Throwable;)V
:cond_0
return v1
.end method
@@ -0,0 +1,160 @@
.class public final Lio/reactivex/internal/operators/parallel/c;
.super Lvh/a;
.source "ParallelFilter.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/c$b;,
Lio/reactivex/internal/operators/parallel/c$c;,
Lio/reactivex/internal/operators/parallel/c$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/r<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Lph/r;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/r<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/c;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/c;->b:Lph/r;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/c;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 4
aget-object v3, p1, v2
.line 5
instance-of v4, v3, Lrh/a;
if-eqz v4, :cond_1
.line 6
new-instance v4, Lio/reactivex/internal/operators/parallel/c$b;
check-cast v3, Lrh/a;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/c;->b:Lph/r;
invoke-direct {v4, v3, v5}, Lio/reactivex/internal/operators/parallel/c$b;-><init>(Lrh/a;Lph/r;)V
aput-object v4, v1, v2
goto :goto_1
.line 7
:cond_1
new-instance v4, Lio/reactivex/internal/operators/parallel/c$c;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/c;->b:Lph/r;
invoke-direct {v4, v3, v5}, Lio/reactivex/internal/operators/parallel/c$c;-><init>(Lok/d;Lph/r;)V
aput-object v4, v1, v2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 8
:cond_2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/c;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,83 @@
.class public synthetic Lio/reactivex/internal/operators/parallel/d$a;
.super Ljava/lang/Object;
.source "ParallelFilterTry.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic a:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lio/reactivex/parallel/ParallelFailureHandling;->values()[Lio/reactivex/parallel/ParallelFailureHandling;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lio/reactivex/internal/operators/parallel/d$a;->a:[I
:try_start_0
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->RETRY:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lio/reactivex/internal/operators/parallel/d$a;->a:[I
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->SKIP:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lio/reactivex/internal/operators/parallel/d$a;->a:[I
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->STOP:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
return-void
.end method
@@ -0,0 +1,144 @@
.class public abstract Lio/reactivex/internal/operators/parallel/d$b;
.super Ljava/lang/Object;
.source "ParallelFilterTry.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lph/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/r<",
"-TT;>;"
}
.end annotation
.end field
.field public final b:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
.field public c:Lok/e;
.field public d:Z
# direct methods
.method public constructor <init>(Lph/r;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lph/r<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/d$b;->a:Lph/r;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/d$b;->b:Lph/c;
return-void
.end method
# virtual methods
.method public final cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public final onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
invoke-interface {p0, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
iget-boolean p1, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
const-wide/16 v0, 0x1
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public final request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
@@ -0,0 +1,281 @@
.class public final Lio/reactivex/internal/operators/parallel/d$c;
.super Lio/reactivex/internal/operators/parallel/d$b;
.source "ParallelFilterTry.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "c"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/d$b<",
"TT;>;"
}
.end annotation
# instance fields
.field public final e:Lrh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/a<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lrh/a;Lph/r;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrh/a<",
"-TT;>;",
"Lph/r<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0, p2, p3}, Lio/reactivex/internal/operators/parallel/d$b;-><init>(Lph/r;Lph/c;)V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/d$c;->e:Lrh/a;
return-void
.end method
# virtual methods
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$c;->e:Lrh/a;
invoke-interface {v0}, Lok/d;->onComplete()V
:cond_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$c;->e:Lrh/a;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/d$c;->e:Lrh/a;
invoke-interface {p1, p0}, Lkh/o;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
const/4 v1, 0x0
if-nez v0, :cond_4
const-wide/16 v2, 0x0
:cond_0
const/4 v0, 0x1
.line 2
:try_start_0
iget-object v4, p0, Lio/reactivex/internal/operators/parallel/d$b;->a:Lph/r;
invoke-interface {v4, p1}, Lph/r;->test(Ljava/lang/Object;)Z
move-result v2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v2, :cond_1
.line 3
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/d$c;->e:Lrh/a;
invoke-interface {v2, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
move v1, v0
:cond_1
return v1
:catchall_0
move-exception v4
.line 4
invoke-static {v4}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
const/4 v5, 0x2
.line 5
:try_start_1
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/d$b;->b:Lph/c;
const-wide/16 v7, 0x1
add-long/2addr v2, v7
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-interface {v6, v7, v4}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const-string v7, "The errorHandler returned a null item"
invoke-static {v6, v7}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/reactivex/parallel/ParallelFailureHandling;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 6
sget-object v7, Lio/reactivex/internal/operators/parallel/d$a;->a:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
if-eq v6, v0, :cond_0
if-eq v6, v5, :cond_3
const/4 p1, 0x3
if-eq v6, p1, :cond_2
.line 7
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$b;->cancel()V
.line 8
invoke-virtual {p0, v4}, Lio/reactivex/internal/operators/parallel/d$c;->onError(Ljava/lang/Throwable;)V
return v1
.line 9
:cond_2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$b;->cancel()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$c;->onComplete()V
:cond_3
return v1
:catchall_1
move-exception p1
.line 11
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$b;->cancel()V
.line 13
new-instance v2, Lio/reactivex/exceptions/CompositeException;
new-array v3, v5, [Ljava/lang/Throwable;
aput-object v4, v3, v1
aput-object p1, v3, v0
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/parallel/d$c;->onError(Ljava/lang/Throwable;)V
:cond_4
return v1
.end method
@@ -0,0 +1,277 @@
.class public final Lio/reactivex/internal/operators/parallel/d$d;
.super Lio/reactivex/internal/operators/parallel/d$b;
.source "ParallelFilterTry.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "d"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/internal/operators/parallel/d$b<",
"TT;>;"
}
.end annotation
# instance fields
.field public final e:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lok/d;Lph/r;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;",
"Lph/r<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0, p2, p3}, Lio/reactivex/internal/operators/parallel/d$b;-><init>(Lph/r;Lph/c;)V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/d$d;->e:Lok/d;
return-void
.end method
# virtual methods
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$d;->e:Lok/d;
invoke-interface {v0}, Lok/d;->onComplete()V
:cond_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$d;->e:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/d$b;->c:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/d$d;->e:Lok/d;
invoke-interface {p1, p0}, Lok/d;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/d$b;->d:Z
const/4 v1, 0x0
if-nez v0, :cond_4
const-wide/16 v2, 0x0
:cond_0
const/4 v0, 0x1
.line 2
:try_start_0
iget-object v4, p0, Lio/reactivex/internal/operators/parallel/d$b;->a:Lph/r;
invoke-interface {v4, p1}, Lph/r;->test(Ljava/lang/Object;)Z
move-result v2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v2, :cond_1
.line 3
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/d$d;->e:Lok/d;
invoke-interface {v1, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
return v0
:cond_1
return v1
:catchall_0
move-exception v4
.line 4
invoke-static {v4}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
const/4 v5, 0x2
.line 5
:try_start_1
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/d$b;->b:Lph/c;
const-wide/16 v7, 0x1
add-long/2addr v2, v7
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-interface {v6, v7, v4}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const-string v7, "The errorHandler returned a null item"
invoke-static {v6, v7}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/reactivex/parallel/ParallelFailureHandling;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 6
sget-object v7, Lio/reactivex/internal/operators/parallel/d$a;->a:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
if-eq v6, v0, :cond_0
if-eq v6, v5, :cond_3
const/4 p1, 0x3
if-eq v6, p1, :cond_2
.line 7
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$b;->cancel()V
.line 8
invoke-virtual {p0, v4}, Lio/reactivex/internal/operators/parallel/d$d;->onError(Ljava/lang/Throwable;)V
return v1
.line 9
:cond_2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$b;->cancel()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$d;->onComplete()V
:cond_3
return v1
:catchall_1
move-exception p1
.line 11
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/d$b;->cancel()V
.line 13
new-instance v2, Lio/reactivex/exceptions/CompositeException;
new-array v3, v5, [Ljava/lang/Throwable;
aput-object v4, v3, v1
aput-object p1, v3, v0
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/parallel/d$d;->onError(Ljava/lang/Throwable;)V
:cond_4
return v1
.end method
@@ -0,0 +1,188 @@
.class public final Lio/reactivex/internal/operators/parallel/d;
.super Lvh/a;
.source "ParallelFilterTry.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/d$c;,
Lio/reactivex/internal/operators/parallel/d$d;,
Lio/reactivex/internal/operators/parallel/d$b;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/r<",
"-TT;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Lph/r;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/r<",
"-TT;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/d;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/d;->b:Lph/r;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/d;->c:Lph/c;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/d;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 4
aget-object v3, p1, v2
.line 5
instance-of v4, v3, Lrh/a;
if-eqz v4, :cond_1
.line 6
new-instance v4, Lio/reactivex/internal/operators/parallel/d$c;
check-cast v3, Lrh/a;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/d;->b:Lph/r;
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/d;->c:Lph/c;
invoke-direct {v4, v3, v5, v6}, Lio/reactivex/internal/operators/parallel/d$c;-><init>(Lrh/a;Lph/r;Lph/c;)V
aput-object v4, v1, v2
goto :goto_1
.line 7
:cond_1
new-instance v4, Lio/reactivex/internal/operators/parallel/d$d;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/d;->b:Lph/r;
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/d;->c:Lph/c;
invoke-direct {v4, v3, v5, v6}, Lio/reactivex/internal/operators/parallel/d$d;-><init>(Lok/d;Lph/r;Lph/c;)V
aput-object v4, v1, v2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 8
:cond_2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/d;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,158 @@
.class public final Lio/reactivex/internal/operators/parallel/e;
.super Lvh/a;
.source "ParallelFlatMap.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TR;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+",
"Lok/c<",
"+TR;>;>;"
}
.end annotation
.end field
.field public final c:Z
.field public final d:I
.field public final e:I
# direct methods
.method public constructor <init>(Lvh/a;Lph/o;ZII)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/o<",
"-TT;+",
"Lok/c<",
"+TR;>;>;ZII)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/e;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/e;->b:Lph/o;
.line 4
iput-boolean p3, p0, Lio/reactivex/internal/operators/parallel/e;->c:Z
.line 5
iput p4, p0, Lio/reactivex/internal/operators/parallel/e;->d:I
.line 6
iput p5, p0, Lio/reactivex/internal/operators/parallel/e;->e:I
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/e;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TR;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 4
aget-object v3, p1, v2
iget-object v4, p0, Lio/reactivex/internal/operators/parallel/e;->b:Lph/o;
iget-boolean v5, p0, Lio/reactivex/internal/operators/parallel/e;->c:Z
iget v6, p0, Lio/reactivex/internal/operators/parallel/e;->d:I
iget v7, p0, Lio/reactivex/internal/operators/parallel/e;->e:I
invoke-static {v3, v4, v5, v6, v7}, Lio/reactivex/internal/operators/flowable/FlowableFlatMap;->I8(Lok/d;Lph/o;ZII)Lkh/o;
move-result-object v3
aput-object v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 5
:cond_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/e;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,106 @@
.class public final Lio/reactivex/internal/operators/parallel/f;
.super Lvh/a;
.source "ParallelFromArray.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:[Lok/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lok/c<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>([Lok/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/c<",
"TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/f;->a:[Lok/c;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/f;->a:[Lok/c;
array-length v0, v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
iget-object v2, p0, Lio/reactivex/internal/operators/parallel/f;->a:[Lok/c;
aget-object v2, v2, v1
aget-object v3, p1, v1
invoke-interface {v2, v3}, Lok/c;->subscribe(Lok/d;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
return-void
.end method
@@ -0,0 +1,293 @@
.class public final Lio/reactivex/internal/operators/parallel/g$a;
.super Ljava/lang/Object;
.source "ParallelMap.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/g;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lrh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/a<",
"-TR;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+TR;>;"
}
.end annotation
.end field
.field public c:Lok/e;
.field public d:Z
# direct methods
.method public constructor <init>(Lrh/a;Lph/o;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrh/a<",
"-TR;>;",
"Lph/o<",
"-TT;+TR;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/g$a;->a:Lrh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/g$a;->b:Lph/o;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->c:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->d:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->d:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->a:Lrh/a;
invoke-interface {v0}, Lok/d;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->d:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->d:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->a:Lrh/a;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->d:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->b:Lph/o;
invoke-interface {v0, p1}, Lph/o;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "The mapper returned a null value"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->a:Lrh/a;
invoke-interface {v0, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
return-void
:catchall_0
move-exception p1
.line 4
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/g$a;->cancel()V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/g$a;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->c:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/g$a;->c:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/g$a;->a:Lrh/a;
invoke-interface {p1, p0}, Lkh/o;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->c:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->d:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return v1
.line 2
:cond_0
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->b:Lph/o;
invoke-interface {v0, p1}, Lph/o;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "The mapper returned a null value"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$a;->a:Lrh/a;
invoke-interface {v0, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
return p1
:catchall_0
move-exception p1
.line 4
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/g$a;->cancel()V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/g$a;->onError(Ljava/lang/Throwable;)V
return v1
.end method
@@ -0,0 +1,235 @@
.class public final Lio/reactivex/internal/operators/parallel/g$b;
.super Ljava/lang/Object;
.source "ParallelMap.java"
# interfaces
.implements Lkh/o;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/g;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lkh/o<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TR;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+TR;>;"
}
.end annotation
.end field
.field public c:Lok/e;
.field public d:Z
# direct methods
.method public constructor <init>(Lok/d;Lph/o;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TR;>;",
"Lph/o<",
"-TT;+TR;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/g$b;->a:Lok/d;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/g$b;->b:Lph/o;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->c:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->d:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->d:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->a:Lok/d;
invoke-interface {v0}, Lok/d;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->d:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->d:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->a:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->d:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->b:Lph/o;
invoke-interface {v0, p1}, Lph/o;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const-string v0, "The mapper returned a null value"
invoke-static {p1, v0}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->a:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
return-void
:catchall_0
move-exception p1
.line 4
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 5
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/g$b;->cancel()V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/g$b;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->c:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/g$b;->c:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/g$b;->a:Lok/d;
invoke-interface {p1, p0}, Lok/d;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g$b;->c:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
@@ -0,0 +1,161 @@
.class public final Lio/reactivex/internal/operators/parallel/g;
.super Lvh/a;
.source "ParallelMap.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/g$a;,
Lio/reactivex/internal/operators/parallel/g$b;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TR;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+TR;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Lph/o;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/o<",
"-TT;+TR;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/g;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/g;->b:Lph/o;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/g;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TR;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 4
aget-object v3, p1, v2
.line 5
instance-of v4, v3, Lrh/a;
if-eqz v4, :cond_1
.line 6
new-instance v4, Lio/reactivex/internal/operators/parallel/g$a;
check-cast v3, Lrh/a;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/g;->b:Lph/o;
invoke-direct {v4, v3, v5}, Lio/reactivex/internal/operators/parallel/g$a;-><init>(Lrh/a;Lph/o;)V
aput-object v4, v1, v2
goto :goto_1
.line 7
:cond_1
new-instance v4, Lio/reactivex/internal/operators/parallel/g$b;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/g;->b:Lph/o;
invoke-direct {v4, v3, v5}, Lio/reactivex/internal/operators/parallel/g$b;-><init>(Lok/d;Lph/o;)V
aput-object v4, v1, v2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 8
:cond_2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/g;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,83 @@
.class public synthetic Lio/reactivex/internal/operators/parallel/h$a;
.super Ljava/lang/Object;
.source "ParallelMapTry.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/h;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic a:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lio/reactivex/parallel/ParallelFailureHandling;->values()[Lio/reactivex/parallel/ParallelFailureHandling;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lio/reactivex/internal/operators/parallel/h$a;->a:[I
:try_start_0
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->RETRY:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lio/reactivex/internal/operators/parallel/h$a;->a:[I
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->SKIP:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lio/reactivex/internal/operators/parallel/h$a;->a:[I
sget-object v1, Lio/reactivex/parallel/ParallelFailureHandling;->STOP:Lio/reactivex/parallel/ParallelFailureHandling;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
return-void
.end method
@@ -0,0 +1,377 @@
.class public final Lio/reactivex/internal/operators/parallel/h$b;
.super Ljava/lang/Object;
.source "ParallelMapTry.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/h;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lrh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrh/a<",
"-TR;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+TR;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
.field public d:Lok/e;
.field public e:Z
# direct methods
.method public constructor <init>(Lrh/a;Lph/o;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrh/a<",
"-TR;>;",
"Lph/o<",
"-TT;+TR;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/h$b;->a:Lrh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/h$b;->b:Lph/o;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/h$b;->c:Lph/c;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->d:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->e:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->e:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->a:Lrh/a;
invoke-interface {v0}, Lok/d;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->e:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->e:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->a:Lrh/a;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/h$b;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
iget-boolean p1, p0, Lio/reactivex/internal/operators/parallel/h$b;->e:Z
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/h$b;->d:Lok/e;
const-wide/16 v0, 0x1
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->d:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/h$b;->d:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/h$b;->a:Lrh/a;
invoke-interface {p1, p0}, Lkh/o;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->d:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->e:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return v1
:cond_0
const-wide/16 v2, 0x0
.line 2
:cond_1
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->b:Lph/o;
invoke-interface {v0, p1}, Lph/o;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const-string v4, "The mapper returned a null value"
invoke-static {v0, v4}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$b;->a:Lrh/a;
invoke-interface {v0, p1}, Lrh/a;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
return p1
:catchall_0
move-exception v0
.line 4
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
const/4 v4, 0x1
const/4 v5, 0x2
.line 5
:try_start_1
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/h$b;->c:Lph/c;
const-wide/16 v7, 0x1
add-long/2addr v2, v7
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-interface {v6, v7, v0}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const-string v7, "The errorHandler returned a null item"
invoke-static {v6, v7}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/reactivex/parallel/ParallelFailureHandling;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 6
sget-object v7, Lio/reactivex/internal/operators/parallel/h$a;->a:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
if-eq v6, v4, :cond_1
if-eq v6, v5, :cond_3
const/4 p1, 0x3
if-eq v6, p1, :cond_2
.line 7
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$b;->cancel()V
.line 8
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/parallel/h$b;->onError(Ljava/lang/Throwable;)V
return v1
.line 9
:cond_2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$b;->cancel()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$b;->onComplete()V
:cond_3
return v1
:catchall_1
move-exception p1
.line 11
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$b;->cancel()V
.line 13
new-instance v2, Lio/reactivex/exceptions/CompositeException;
new-array v3, v5, [Ljava/lang/Throwable;
aput-object v0, v3, v1
aput-object p1, v3, v4
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/parallel/h$b;->onError(Ljava/lang/Throwable;)V
return v1
.end method
@@ -0,0 +1,375 @@
.class public final Lio/reactivex/internal/operators/parallel/h$c;
.super Ljava/lang/Object;
.source "ParallelMapTry.java"
# interfaces
.implements Lrh/a;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/h;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "c"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lrh/a<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TR;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+TR;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
.field public d:Lok/e;
.field public e:Z
# direct methods
.method public constructor <init>(Lok/d;Lph/o;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TR;>;",
"Lph/o<",
"-TT;+TR;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/h$c;->a:Lok/d;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/h$c;->b:Lph/o;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/h$c;->c:Lph/c;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->d:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->e:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->e:Z
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->a:Lok/d;
invoke-interface {v0}, Lok/d;->onComplete()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 1
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->e:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->e:Z
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->a:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/h$c;->tryOnNext(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
iget-boolean p1, p0, Lio/reactivex/internal/operators/parallel/h$c;->e:Z
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/h$c;->d:Lok/e;
const-wide/16 v0, 0x1
invoke-interface {p1, v0, v1}, Lok/e;->request(J)V
:cond_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->d:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/h$c;->d:Lok/e;
.line 3
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/h$c;->a:Lok/d;
invoke-interface {p1, p0}, Lok/d;->onSubscribe(Lok/e;)V
:cond_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->d:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
.method public tryOnNext(Ljava/lang/Object;)Z
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/h$c;->e:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return v1
:cond_0
const-wide/16 v2, 0x0
:cond_1
const/4 v0, 0x1
.line 2
:try_start_0
iget-object v4, p0, Lio/reactivex/internal/operators/parallel/h$c;->b:Lph/o;
invoke-interface {v4, p1}, Lph/o;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
const-string v5, "The mapper returned a null value"
invoke-static {v4, v5}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/h$c;->a:Lok/d;
invoke-interface {v1, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
return v0
:catchall_0
move-exception v4
.line 4
invoke-static {v4}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
const/4 v5, 0x2
.line 5
:try_start_1
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/h$c;->c:Lph/c;
const-wide/16 v7, 0x1
add-long/2addr v2, v7
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-interface {v6, v7, v4}, Lph/c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const-string v7, "The errorHandler returned a null item"
invoke-static {v6, v7}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/reactivex/parallel/ParallelFailureHandling;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 6
sget-object v7, Lio/reactivex/internal/operators/parallel/h$a;->a:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
if-eq v6, v0, :cond_1
if-eq v6, v5, :cond_3
const/4 p1, 0x3
if-eq v6, p1, :cond_2
.line 7
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$c;->cancel()V
.line 8
invoke-virtual {p0, v4}, Lio/reactivex/internal/operators/parallel/h$c;->onError(Ljava/lang/Throwable;)V
return v1
.line 9
:cond_2
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$c;->cancel()V
.line 10
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$c;->onComplete()V
:cond_3
return v1
:catchall_1
move-exception p1
.line 11
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 12
invoke-virtual {p0}, Lio/reactivex/internal/operators/parallel/h$c;->cancel()V
.line 13
new-instance v2, Lio/reactivex/exceptions/CompositeException;
new-array v3, v5, [Ljava/lang/Throwable;
aput-object v4, v3, v1
aput-object p1, v3, v0
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/parallel/h$c;->onError(Ljava/lang/Throwable;)V
return v1
.end method
@@ -0,0 +1,189 @@
.class public final Lio/reactivex/internal/operators/parallel/h;
.super Lvh/a;
.source "ParallelMapTry.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/h$b;,
Lio/reactivex/internal/operators/parallel/h$c;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TR;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/o;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/o<",
"-TT;+TR;>;"
}
.end annotation
.end field
.field public final c:Lph/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lvh/a;Lph/o;Lph/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/o<",
"-TT;+TR;>;",
"Lph/c<",
"-",
"Ljava/lang/Long;",
"-",
"Ljava/lang/Throwable;",
"Lio/reactivex/parallel/ParallelFailureHandling;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/h;->a:Lvh/a;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/h;->b:Lph/o;
.line 4
iput-object p3, p0, Lio/reactivex/internal/operators/parallel/h;->c:Lph/c;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/h;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TR;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 4
aget-object v3, p1, v2
.line 5
instance-of v4, v3, Lrh/a;
if-eqz v4, :cond_1
.line 6
new-instance v4, Lio/reactivex/internal/operators/parallel/h$b;
check-cast v3, Lrh/a;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/h;->b:Lph/o;
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/h;->c:Lph/c;
invoke-direct {v4, v3, v5, v6}, Lio/reactivex/internal/operators/parallel/h$b;-><init>(Lrh/a;Lph/o;Lph/c;)V
aput-object v4, v1, v2
goto :goto_1
.line 7
:cond_1
new-instance v4, Lio/reactivex/internal/operators/parallel/h$c;
iget-object v5, p0, Lio/reactivex/internal/operators/parallel/h;->b:Lph/o;
iget-object v6, p0, Lio/reactivex/internal/operators/parallel/h;->c:Lph/c;
invoke-direct {v4, v3, v5, v6}, Lio/reactivex/internal/operators/parallel/h$c;-><init>(Lok/d;Lph/o;Lph/c;)V
aput-object v4, v1, v2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 8
:cond_2
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/h;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method
@@ -0,0 +1,421 @@
.class public final Lio/reactivex/internal/operators/parallel/i$a;
.super Ljava/lang/Object;
.source "ParallelPeek.java"
# interfaces
.implements Lkh/o;
.implements Lok/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/parallel/i;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lkh/o<",
"TT;>;",
"Lok/e;"
}
.end annotation
# instance fields
.field public final a:Lok/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lok/d<",
"-TT;>;"
}
.end annotation
.end field
.field public final b:Lio/reactivex/internal/operators/parallel/i;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/operators/parallel/i<",
"TT;>;"
}
.end annotation
.end field
.field public c:Lok/e;
.field public d:Z
# direct methods
.method public constructor <init>(Lok/d;Lio/reactivex/internal/operators/parallel/i;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lok/d<",
"-TT;>;",
"Lio/reactivex/internal/operators/parallel/i<",
"TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
.line 3
iput-object p2, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
return-void
.end method
# virtual methods
.method public cancel()V
.locals 1
.line 1
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->i:Lph/a;
invoke-interface {v0}, Lph/a;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 2
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 3
invoke-static {v0}, Lwh/a;->Y(Ljava/lang/Throwable;)V
.line 4
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->c:Lok/e;
invoke-interface {v0}, Lok/e;->cancel()V
return-void
.end method
.method public onComplete()V
.locals 2
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->d:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->d:Z
.line 3
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->e:Lph/a;
invoke-interface {v0}, Lph/a;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
.line 4
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
invoke-interface {v0}, Lok/d;->onComplete()V
.line 5
:try_start_1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->f:Lph/a;
invoke-interface {v0}, Lph/a;->run()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 6
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 7
invoke-static {v0}, Lwh/a;->Y(Ljava/lang/Throwable;)V
goto :goto_0
:catchall_1
move-exception v0
.line 8
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 9
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
invoke-interface {v1, v0}, Lok/d;->onError(Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.locals 5
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->d:Z
if-eqz v0, :cond_0
.line 2
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
return-void
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->d:Z
.line 4
:try_start_0
iget-object v1, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v1, v1, Lio/reactivex/internal/operators/parallel/i;->d:Lph/g;
invoke-interface {v1, p1}, Lph/g;->accept(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v1
.line 5
invoke-static {v1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 6
new-instance v2, Lio/reactivex/exceptions/CompositeException;
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Throwable;
const/4 v4, 0x0
aput-object p1, v3, v4
aput-object v1, v3, v0
invoke-direct {v2, v3}, Lio/reactivex/exceptions/CompositeException;-><init>([Ljava/lang/Throwable;)V
move-object p1, v2
.line 7
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onError(Ljava/lang/Throwable;)V
.line 8
:try_start_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object p1, p1, Lio/reactivex/internal/operators/parallel/i;->f:Lph/a;
invoke-interface {p1}, Lph/a;->run()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
goto :goto_1
:catchall_1
move-exception p1
.line 9
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 10
invoke-static {p1}, Lwh/a;->Y(Ljava/lang/Throwable;)V
:goto_1
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->d:Z
if-nez v0, :cond_0
.line 2
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->b:Lph/g;
invoke-interface {v0, p1}, Lph/g;->accept(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
.line 3
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
invoke-interface {v0, p1}, Lok/d;->onNext(Ljava/lang/Object;)V
.line 4
:try_start_1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->c:Lph/g;
invoke-interface {v0, p1}, Lph/g;->accept(Ljava/lang/Object;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_0
:catchall_0
move-exception p1
.line 5
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 6
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/i$a;->onError(Ljava/lang/Throwable;)V
goto :goto_0
:catchall_1
move-exception p1
.line 7
invoke-static {p1}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 8
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/parallel/i$a;->onError(Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public onSubscribe(Lok/e;)V
.locals 2
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->c:Lok/e;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lok/e;Lok/e;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i$a;->c:Lok/e;
.line 3
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->g:Lph/g;
invoke-interface {v0, p1}, Lph/g;->accept(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 4
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
invoke-interface {p1, p0}, Lok/d;->onSubscribe(Lok/e;)V
goto :goto_0
:catchall_0
move-exception v0
.line 5
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 6
invoke-interface {p1}, Lok/e;->cancel()V
.line 7
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/i$a;->a:Lok/d;
sget-object v1, Lio/reactivex/internal/subscriptions/EmptySubscription;->INSTANCE:Lio/reactivex/internal/subscriptions/EmptySubscription;
invoke-interface {p1, v1}, Lok/d;->onSubscribe(Lok/e;)V
.line 8
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/parallel/i$a;->onError(Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public request(J)V
.locals 1
.line 1
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->b:Lio/reactivex/internal/operators/parallel/i;
iget-object v0, v0, Lio/reactivex/internal/operators/parallel/i;->h:Lph/q;
invoke-interface {v0, p1, p2}, Lph/q;->a(J)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 2
invoke-static {v0}, Lio/reactivex/exceptions/a;->b(Ljava/lang/Throwable;)V
.line 3
invoke-static {v0}, Lwh/a;->Y(Ljava/lang/Throwable;)V
.line 4
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i$a;->c:Lok/e;
invoke-interface {v0, p1, p2}, Lok/e;->request(J)V
return-void
.end method
@@ -0,0 +1,274 @@
.class public final Lio/reactivex/internal/operators/parallel/i;
.super Lvh/a;
.source "ParallelPeek.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/internal/operators/parallel/i$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lvh/a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lvh/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvh/a<",
"TT;>;"
}
.end annotation
.end field
.field public final b:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-TT;>;"
}
.end annotation
.end field
.field public final c:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-TT;>;"
}
.end annotation
.end field
.field public final d:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.end field
.field public final e:Lph/a;
.field public final f:Lph/a;
.field public final g:Lph/g;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lph/g<",
"-",
"Lok/e;",
">;"
}
.end annotation
.end field
.field public final h:Lph/q;
.field public final i:Lph/a;
# direct methods
.method public constructor <init>(Lvh/a;Lph/g;Lph/g;Lph/g;Lph/a;Lph/a;Lph/g;Lph/q;Lph/a;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvh/a<",
"TT;>;",
"Lph/g<",
"-TT;>;",
"Lph/g<",
"-TT;>;",
"Lph/g<",
"-",
"Ljava/lang/Throwable;",
">;",
"Lph/a;",
"Lph/a;",
"Lph/g<",
"-",
"Lok/e;",
">;",
"Lph/q;",
"Lph/a;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Lvh/a;-><init>()V
.line 2
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->a:Lvh/a;
const-string p1, "onNext is null"
.line 3
invoke-static {p2, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/g;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->b:Lph/g;
const-string p1, "onAfterNext is null"
.line 4
invoke-static {p3, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/g;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->c:Lph/g;
const-string p1, "onError is null"
.line 5
invoke-static {p4, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/g;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->d:Lph/g;
const-string p1, "onComplete is null"
.line 6
invoke-static {p5, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/a;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->e:Lph/a;
const-string p1, "onAfterTerminated is null"
.line 7
invoke-static {p6, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/a;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->f:Lph/a;
const-string p1, "onSubscribe is null"
.line 8
invoke-static {p7, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/g;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->g:Lph/g;
const-string p1, "onRequest is null"
.line 9
invoke-static {p8, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/q;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->h:Lph/q;
const-string p1, "onCancel is null"
.line 10
invoke-static {p9, p1}, Lio/reactivex/internal/functions/a;->g(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lph/a;
iput-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->i:Lph/a;
return-void
.end method
# virtual methods
.method public F()I
.locals 1
.line 1
iget-object v0, p0, Lio/reactivex/internal/operators/parallel/i;->a:Lvh/a;
invoke-virtual {v0}, Lvh/a;->F()I
move-result v0
return v0
.end method
.method public Q([Lok/d;)V
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lok/d<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lvh/a;->U([Lok/d;)Z
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
array-length v0, p1
.line 3
new-array v1, v0, [Lok/d;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 4
new-instance v3, Lio/reactivex/internal/operators/parallel/i$a;
aget-object v4, p1, v2
invoke-direct {v3, v4, p0}, Lio/reactivex/internal/operators/parallel/i$a;-><init>(Lok/d;Lio/reactivex/internal/operators/parallel/i;)V
aput-object v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 5
:cond_1
iget-object p1, p0, Lio/reactivex/internal/operators/parallel/i;->a:Lvh/a;
invoke-virtual {p1, v1}, Lvh/a;->Q([Lok/d;)V
return-void
.end method