c$b.smali
.class public final Lwp/c$b;
.super Lwp/c$a;
.source "FlowableObserveOn.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lwp/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lwp/c$a<",
"TT;>;"
}
.end annotation
# instance fields
.field public final n:Lvp/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lvp/a<",
"-TT;>;"
}
.end annotation
.end field
.field public o:J
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lvp/a;Lnp/l$a;ZI)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lvp/a<",
"-TT;>;",
"Lnp/l$a;",
"ZI)V"
}
.end annotation
invoke-direct {p0, p2, p3, p4}, Lwp/c$a;-><init>(Lnp/l$a;ZI)V
iput-object p1, p0, Lwp/c$b;->n:Lvp/a;
return-void
.end method
# virtual methods
.method public a()V
.registers 14
iget-object v0, p0, Lwp/c$b;->n:Lvp/a;
iget-object v1, p0, Lwp/c$a;->g:Lvp/f;
iget-wide v2, p0, Lwp/c$a;->l:J
iget-wide v4, p0, Lwp/c$b;->o:J
const/4 v6, 0x1
const/4 v7, 0x1
:cond_a
:goto_a
iget-object v8, p0, Lwp/c$a;->e:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v8}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v8
:cond_10
:goto_10
cmp-long v10, v2, v8
if-eqz v10, :cond_57
iget-boolean v10, p0, Lwp/c$a;->i:Z
:try_start_16
invoke-interface {v1}, Lvp/f;->poll()Ljava/lang/Object;
move-result-object v11
:try_end_1a
.catchall {:try_start_16 .. :try_end_1a} :catchall_42
if-nez v11, :cond_1e
const/4 v12, 0x1
goto :goto_1f
:cond_1e
const/4 v12, 0x0
:goto_1f
invoke-virtual {p0, v10, v12, v0}, Lwp/c$a;->a(ZZLmq/b;)Z
move-result v10
if-eqz v10, :cond_26
return-void
:cond_26
if-eqz v12, :cond_29
goto :goto_57
:cond_29
invoke-interface {v0, v11}, Lvp/a;->a(Ljava/lang/Object;)Z
move-result v10
const-wide/16 v11, 0x1
if-eqz v10, :cond_32
add-long/2addr v2, v11
:cond_32
add-long/2addr v4, v11
iget v10, p0, Lwp/c$a;->d:I
int-to-long v10, v10
cmp-long v12, v4, v10
if-nez v12, :cond_10
iget-object v10, p0, Lwp/c$a;->f:Lmq/c;
invoke-interface {v10, v4, v5}, Lmq/c;->request(J)V
const-wide/16 v4, 0x0
goto :goto_10
:catchall_42
move-exception v2
invoke-static {v2}, Lrp/b;->b(Ljava/lang/Throwable;)V
iget-object v3, p0, Lwp/c$a;->f:Lmq/c;
invoke-interface {v3}, Lmq/c;->cancel()V
invoke-interface {v1}, Lvp/f;->clear()V
invoke-interface {v0, v2}, Lmq/b;->onError(Ljava/lang/Throwable;)V
iget-object v0, p0, Lwp/c$a;->a:Lnp/l$a;
invoke-interface {v0}, Lqp/b;->dispose()V
return-void
:cond_57
:goto_57
cmp-long v10, v2, v8
if-nez v10, :cond_68
iget-boolean v8, p0, Lwp/c$a;->i:Z
invoke-interface {v1}, Lvp/f;->isEmpty()Z
move-result v9
invoke-virtual {p0, v8, v9, v0}, Lwp/c$a;->a(ZZLmq/b;)Z
move-result v8
if-eqz v8, :cond_68
return-void
:cond_68
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v8
if-ne v7, v8, :cond_7a
iput-wide v2, p0, Lwp/c$a;->l:J
iput-wide v4, p0, Lwp/c$b;->o:J
neg-int v7, v7
invoke-virtual {p0, v7}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v7
if-nez v7, :cond_a
return-void
:cond_7a
move v7, v8
goto :goto_a
.end method
.method public b()V
.registers 5
const/4 v0, 0x1
:cond_1
iget-boolean v1, p0, Lwp/c$a;->h:Z
if-eqz v1, :cond_6
return-void
:cond_6
iget-boolean v1, p0, Lwp/c$a;->i:Z
iget-object v2, p0, Lwp/c$b;->n:Lvp/a;
const/4 v3, 0x0
invoke-interface {v2, v3}, Lmq/b;->onNext(Ljava/lang/Object;)V
if-eqz v1, :cond_25
iget-object v0, p0, Lwp/c$a;->j:Ljava/lang/Throwable;
if-eqz v0, :cond_1a
iget-object v1, p0, Lwp/c$b;->n:Lvp/a;
invoke-interface {v1, v0}, Lmq/b;->onError(Ljava/lang/Throwable;)V
goto :goto_1f
:cond_1a
iget-object v0, p0, Lwp/c$b;->n:Lvp/a;
invoke-interface {v0}, Lmq/b;->onComplete()V
:goto_1f
iget-object v0, p0, Lwp/c$a;->a:Lnp/l$a;
invoke-interface {v0}, Lqp/b;->dispose()V
return-void
:cond_25
neg-int v0, v0
invoke-virtual {p0, v0}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v0
if-nez v0, :cond_1
return-void
.end method
.method public c()V
.registers 10
iget-object v0, p0, Lwp/c$b;->n:Lvp/a;
iget-object v1, p0, Lwp/c$a;->g:Lvp/f;
iget-wide v2, p0, Lwp/c$a;->l:J
const/4 v4, 0x1
:cond_7
:goto_7
iget-object v5, p0, Lwp/c$a;->e:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v5
:cond_d
:goto_d
cmp-long v7, v2, v5
if-eqz v7, :cond_41
:try_start_11
invoke-interface {v1}, Lvp/f;->poll()Ljava/lang/Object;
move-result-object v7
:try_end_15
.catchall {:try_start_11 .. :try_end_15} :catchall_2f
iget-boolean v8, p0, Lwp/c$a;->h:Z
if-eqz v8, :cond_1a
return-void
:cond_1a
if-nez v7, :cond_25
invoke-interface {v0}, Lmq/b;->onComplete()V
iget-object v0, p0, Lwp/c$a;->a:Lnp/l$a;
invoke-interface {v0}, Lqp/b;->dispose()V
return-void
:cond_25
invoke-interface {v0, v7}, Lvp/a;->a(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_d
const-wide/16 v7, 0x1
add-long/2addr v2, v7
goto :goto_d
:catchall_2f
move-exception v1
invoke-static {v1}, Lrp/b;->b(Ljava/lang/Throwable;)V
iget-object v2, p0, Lwp/c$a;->f:Lmq/c;
invoke-interface {v2}, Lmq/c;->cancel()V
invoke-interface {v0, v1}, Lmq/b;->onError(Ljava/lang/Throwable;)V
iget-object v0, p0, Lwp/c$a;->a:Lnp/l$a;
invoke-interface {v0}, Lqp/b;->dispose()V
return-void
:cond_41
iget-boolean v5, p0, Lwp/c$a;->h:Z
if-eqz v5, :cond_46
return-void
:cond_46
invoke-interface {v1}, Lvp/f;->isEmpty()Z
move-result v5
if-eqz v5, :cond_55
invoke-interface {v0}, Lmq/b;->onComplete()V
iget-object v0, p0, Lwp/c$a;->a:Lnp/l$a;
invoke-interface {v0}, Lqp/b;->dispose()V
return-void
:cond_55
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v5
if-ne v4, v5, :cond_65
iput-wide v2, p0, Lwp/c$a;->l:J
neg-int v4, v4
invoke-virtual {p0, v4}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v4
if-nez v4, :cond_7
return-void
:cond_65
move v4, v5
goto :goto_7
.end method
.method public onSubscribe(Lmq/c;)V
.registers 5
iget-object v0, p0, Lwp/c$a;->f:Lmq/c;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lmq/c;Lmq/c;)Z
move-result v0
if-eqz v0, :cond_4c
iput-object p1, p0, Lwp/c$a;->f:Lmq/c;
instance-of v0, p1, Lvp/d;
if-eqz v0, :cond_38
move-object v0, p1
check-cast v0, Lvp/d;
const/4 v1, 0x7
invoke-interface {v0, v1}, Lvp/c;->requestFusion(I)I
move-result v1
const/4 v2, 0x1
if-ne v1, v2, :cond_25
iput v2, p0, Lwp/c$a;->k:I
iput-object v0, p0, Lwp/c$a;->g:Lvp/f;
iput-boolean v2, p0, Lwp/c$a;->i:Z
iget-object p1, p0, Lwp/c$b;->n:Lvp/a;
invoke-interface {p1, p0}, Lnp/f;->onSubscribe(Lmq/c;)V
return-void
:cond_25
const/4 v2, 0x2
if-ne v1, v2, :cond_38
iput v2, p0, Lwp/c$a;->k:I
iput-object v0, p0, Lwp/c$a;->g:Lvp/f;
iget-object v0, p0, Lwp/c$b;->n:Lvp/a;
invoke-interface {v0, p0}, Lnp/f;->onSubscribe(Lmq/c;)V
iget v0, p0, Lwp/c$a;->c:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lmq/c;->request(J)V
return-void
:cond_38
new-instance v0, Lzp/a;
iget v1, p0, Lwp/c$a;->c:I
invoke-direct {v0, v1}, Lzp/a;-><init>(I)V
iput-object v0, p0, Lwp/c$a;->g:Lvp/f;
iget-object v0, p0, Lwp/c$b;->n:Lvp/a;
invoke-interface {v0, p0}, Lnp/f;->onSubscribe(Lmq/c;)V
iget v0, p0, Lwp/c$a;->c:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lmq/c;->request(J)V
:cond_4c
return-void
.end method
.method public poll()Ljava/lang/Object;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
iget-object v0, p0, Lwp/c$a;->g:Lvp/f;
invoke-interface {v0}, Lvp/f;->poll()Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_25
iget v1, p0, Lwp/c$a;->k:I
const/4 v2, 0x1
if-eq v1, v2, :cond_25
iget-wide v1, p0, Lwp/c$b;->o:J
const-wide/16 v3, 0x1
add-long/2addr v1, v3
iget v3, p0, Lwp/c$a;->d:I
int-to-long v3, v3
cmp-long v5, v1, v3
if-nez v5, :cond_23
const-wide/16 v3, 0x0
iput-wide v3, p0, Lwp/c$b;->o:J
iget-object v3, p0, Lwp/c$a;->f:Lmq/c;
invoke-interface {v3, v1, v2}, Lmq/c;->request(J)V
goto :goto_25
:cond_23
iput-wide v1, p0, Lwp/c$b;->o:J
:cond_25
:goto_25
return-object v0
.end method