x$1$1.smali
.class final Lrx/internal/operators/x$1$1;
.super Ljava/lang/Object;
.source "OperatorTake.java"
# interfaces
.implements Lrx/i;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lrx/internal/operators/x$1;->a(Lrx/i;)V
.end annotation
# instance fields
.field private synthetic cbl:Lrx/i;
.field private synthetic cbm:Lrx/internal/operators/x$1;
.field private requested:Ljava/util/concurrent/atomic/AtomicLong;
# direct methods
.method constructor <init>(Lrx/internal/operators/x$1;Lrx/i;)V
.registers 7
.prologue
.line 93
iput-object p1, p0, Lrx/internal/operators/x$1$1;->cbm:Lrx/internal/operators/x$1;
iput-object p2, p0, Lrx/internal/operators/x$1$1;->cbl:Lrx/i;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 96
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
const-wide/16 v2, 0x0
invoke-direct {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lrx/internal/operators/x$1$1;->requested:Ljava/util/concurrent/atomic/AtomicLong;
return-void
.end method
# virtual methods
.method public final request(J)V
.registers 14
.prologue
const-wide/16 v8, 0x0
.line 100
cmp-long v0, p1, v8
if-lez v0, :cond_2c
iget-object v0, p0, Lrx/internal/operators/x$1$1;->cbm:Lrx/internal/operators/x$1;
iget-boolean v0, v0, Lrx/internal/operators/x$1;->completed:Z
if-nez v0, :cond_2c
.line 104
:cond_c
iget-object v0, p0, Lrx/internal/operators/x$1$1;->requested:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
.line 105
const-wide/16 v2, 0x1
sub-long/2addr v2, v0
invoke-static {p1, p2, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v2
.line 106
cmp-long v4, v2, v8
if-eqz v4, :cond_2c
.line 108
iget-object v4, p0, Lrx/internal/operators/x$1$1;->requested:Ljava/util/concurrent/atomic/AtomicLong;
add-long v6, v0, v2
invoke-virtual {v4, v0, v1, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z
move-result v0
if-eqz v0, :cond_c
.line 109
iget-object v0, p0, Lrx/internal/operators/x$1$1;->cbl:Lrx/i;
invoke-interface {v0, v2, v3}, Lrx/i;->request(J)V
.line 114
:cond_2c
return-void
.end method