a.smali

.class public final Lrx/c/a/a;
.super Ljava/lang/Object;
.source "SourceFile"


# direct methods
.method public static a(JJ)J
    .registers 11

    mul-long v0, p0, p2

    or-long v2, p0, p2

    const/16 v4, 0x1f

    ushr-long/2addr v2, v4

    const-wide/16 v4, 0x0

    cmp-long v6, v2, v4

    if-eqz v6, :cond_1c

    cmp-long v2, p2, v4

    if-eqz v2, :cond_1c

    .line 102
    div-long p2, v0, p2

    cmp-long v2, p2, p0

    if-eqz v2, :cond_1c

    const-wide v0, 0x7fffffffffffffffL

    :cond_1c
    return-wide v0
.end method

.method public static a(Ljava/util/concurrent/atomic/AtomicLong;J)J
    .registers 7

    .line 85
    :cond_0
    invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J

    move-result-wide v0

    .line 86
    invoke-static {v0, v1, p1, p2}, Lrx/c/a/a;->b(JJ)J

    move-result-wide v2

    .line 87
    invoke-virtual {p0, v0, v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z

    move-result v2

    if-eqz v2, :cond_0

    return-wide v0
.end method

.method static a(Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/Queue;Lrx/i;Lrx/b/f;)V
    .registers 14
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            "R:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/util/concurrent/atomic/AtomicLong;",
            "Ljava/util/Queue<",
            "TT;>;",
            "Lrx/i<",
            "-TR;>;",
            "Lrx/b/f<",
            "-TT;+TR;>;)V"
        }
    .end annotation

    .line 294
    invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J

    move-result-wide v0

    const-wide v2, 0x7fffffffffffffffL

    cmp-long v4, v0, v2

    if-nez v4, :cond_26

    .line 299
    :goto_d
    invoke-virtual {p2}, Lrx/i;->isUnsubscribed()Z

    move-result p0

    if-eqz p0, :cond_14

    return-void

    .line 303
    :cond_14
    invoke-interface {p1}, Ljava/util/Queue;->poll()Ljava/lang/Object;

    move-result-object p0

    if-nez p0, :cond_1e

    .line 306
    invoke-virtual {p2}, Lrx/i;->a()V

    return-void

    .line 310
    :cond_1e
    invoke-interface {p3, p0}, Lrx/b/f;->call(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p0

    invoke-virtual {p2, p0}, Lrx/i;->a(Ljava/lang/Object;)V

    goto :goto_d

    :cond_26
    const-wide/high16 v4, -0x8000000000000000L

    :cond_28
    move-wide v6, v4

    :cond_29
    :goto_29
    cmp-long v8, v6, v0

    if-eqz v8, :cond_49

    .line 337
    invoke-virtual {p2}, Lrx/i;->isUnsubscribed()Z

    move-result v8

    if-eqz v8, :cond_34

    return-void

    .line 341
    :cond_34
    invoke-interface {p1}, Ljava/util/Queue;->poll()Ljava/lang/Object;

    move-result-object v8

    if-nez v8, :cond_3e

    .line 344
    invoke-virtual {p2}, Lrx/i;->a()V

    return-void

    .line 348
    :cond_3e
    invoke-interface {p3, v8}, Lrx/b/f;->call(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v8

    invoke-virtual {p2, v8}, Lrx/i;->a(Ljava/lang/Object;)V

    const-wide/16 v8, 0x1

    add-long/2addr v6, v8

    goto :goto_29

    :cond_49
    cmp-long v8, v6, v0

    if-nez v8, :cond_5e

    .line 360
    invoke-virtual {p2}, Lrx/i;->isUnsubscribed()Z

    move-result v0

    if-eqz v0, :cond_54

    return-void

    .line 363
    :cond_54
    invoke-interface {p1}, Ljava/util/Queue;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_5e

    .line 364
    invoke-virtual {p2}, Lrx/i;->a()V

    return-void

    .line 373
    :cond_5e
    invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J

    move-result-wide v0

    cmp-long v8, v0, v6

    if-nez v8, :cond_29

    and-long v0, v6, v2

    neg-long v0, v0

    .line 382
    invoke-virtual {p0, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J

    move-result-wide v0

    cmp-long v6, v0, v4

    if-nez v6, :cond_28

    return-void
.end method

.method public static b(JJ)J
    .registers 5

    add-long/2addr p0, p2

    const-wide/16 p2, 0x0

    cmp-long v0, p0, p2

    if-gez v0, :cond_c

    const-wide p0, 0x7fffffffffffffffL

    :cond_c
    return-wide p0
.end method

.method public static b(Ljava/util/concurrent/atomic/AtomicLong;J)J
    .registers 10

    .line 403
    :cond_0
    invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J

    move-result-wide v0

    const-wide v2, 0x7fffffffffffffffL

    cmp-long v4, v0, v2

    if-nez v4, :cond_e

    return-wide v2

    :cond_e
    sub-long v2, v0, p1

    const-wide/16 v4, 0x0

    cmp-long v6, v2, v4

    if-ltz v6, :cond_1d

    .line 411
    invoke-virtual {p0, v0, v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z

    move-result v0

    if-eqz v0, :cond_0

    return-wide v2

    .line 409
    :cond_1d
    new-instance p0, Ljava/lang/IllegalStateException;

    invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object p1

    const-string p2, "More produced than requested: "

    invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    goto :goto_2e

    :goto_2d
    throw p0

    :goto_2e
    goto :goto_2d
.end method