vg.smali

.class public Ldxoptimizer/vg;
.super Ljava/lang/Object;
.source "Scroller.java"


# static fields
.field private static A:F

.field private static B:F

.field private static u:F

.field private static v:F

.field private static w:F

.field private static x:F

.field private static final y:[F


# instance fields
.field private a:I

.field private b:I

.field private c:I

.field private d:I

.field private e:I

.field private f:I

.field private g:I

.field private h:I

.field private i:I

.field private j:I

.field private k:I

.field private l:J

.field private m:I

.field private n:F

.field private o:F

.field private p:F

.field private q:Z

.field private r:Landroid/view/animation/Interpolator;

.field private s:Z

.field private t:F

.field private z:F


# direct methods
.method static constructor <clinit>()V
    .registers 13

    .prologue
    const/16 v12, 0x64

    const/high16 v1, 0x3f800000    # 1.0f

    .line 63
    const-wide/high16 v2, 0x3fe8000000000000L    # 0.75

    invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D

    move-result-wide v2

    const-wide v4, 0x3feccccccccccccdL    # 0.9

    invoke-static {v4, v5}, Ljava/lang/Math;->log(D)D

    move-result-wide v4

    div-double/2addr v2, v4

    double-to-float v0, v2

    sput v0, Ldxoptimizer/vg;->u:F

    .line 64
    const/high16 v0, 0x44480000    # 800.0f

    sput v0, Ldxoptimizer/vg;->v:F

    .line 65
    const v0, 0x3ecccccd    # 0.4f

    sput v0, Ldxoptimizer/vg;->w:F

    .line 66
    sget v0, Ldxoptimizer/vg;->w:F

    sub-float v0, v1, v0

    sput v0, Ldxoptimizer/vg;->x:F

    .line 68
    const/16 v0, 0x65

    new-array v0, v0, [F

    sput-object v0, Ldxoptimizer/vg;->y:[F

    .line 74
    const/4 v2, 0x0

    .line 75
    const/4 v0, 0x0

    move v4, v0

    :goto_2f
    if-gt v4, v12, :cond_77

    .line 76
    int-to-float v0, v4

    const/high16 v3, 0x42c80000    # 100.0f

    div-float v5, v0, v3

    move v0, v1

    move v3, v2

    .line 80
    :goto_38
    sub-float v2, v0, v3

    const/high16 v6, 0x40000000    # 2.0f

    div-float/2addr v2, v6

    add-float/2addr v2, v3

    .line 81
    const/high16 v6, 0x40400000    # 3.0f

    mul-float/2addr v6, v2

    sub-float v7, v1, v2

    mul-float/2addr v6, v7

    .line 82
    sub-float v7, v1, v2

    sget v8, Ldxoptimizer/vg;->w:F

    mul-float/2addr v7, v8

    sget v8, Ldxoptimizer/vg;->x:F

    mul-float/2addr v8, v2

    add-float/2addr v7, v8

    mul-float/2addr v7, v6

    mul-float v8, v2, v2

    mul-float/2addr v8, v2

    add-float/2addr v7, v8

    .line 83
    sub-float v8, v7, v5

    invoke-static {v8}, Ljava/lang/Math;->abs(F)F

    move-result v8

    float-to-double v8, v8

    const-wide v10, 0x3ee4f8b588e368f1L    # 1.0E-5

    cmpg-double v8, v8, v10

    if-gez v8, :cond_6f

    .line 87
    mul-float v0, v2, v2

    mul-float/2addr v0, v2

    add-float/2addr v0, v6

    .line 88
    sget-object v2, Ldxoptimizer/vg;->y:[F

    aput v0, v2, v4

    .line 75
    add-int/lit8 v0, v4, 0x1

    move v4, v0

    move v2, v3

    goto :goto_2f

    .line 84
    :cond_6f
    cmpl-float v6, v7, v5

    if-lez v6, :cond_75

    move v0, v2

    goto :goto_38

    :cond_75
    move v3, v2

    .line 85
    goto :goto_38

    .line 90
    :cond_77
    sget-object v0, Ldxoptimizer/vg;->y:[F

    aput v1, v0, v12

    .line 93
    const/high16 v0, 0x41000000    # 8.0f

    sput v0, Ldxoptimizer/vg;->A:F

    .line 95
    sput v1, Ldxoptimizer/vg;->B:F

    .line 96
    invoke-static {v1}, Ldxoptimizer/vg;->a(F)F

    move-result v0

    div-float v0, v1, v0

    sput v0, Ldxoptimizer/vg;->B:F

    .line 97
    return-void
.end method

.method static a(F)F
    .registers 6

    .prologue
    const/high16 v4, 0x3f800000    # 1.0f

    .line 419
    sget v0, Ldxoptimizer/vg;->A:F

    mul-float/2addr v0, p0

    .line 420
    cmpg-float v1, v0, v4

    if-gez v1, :cond_17

    .line 421
    neg-float v1, v0

    float-to-double v2, v1

    invoke-static {v2, v3}, Ljava/lang/Math;->exp(D)D

    move-result-wide v2

    double-to-float v1, v2

    sub-float v1, v4, v1

    sub-float/2addr v0, v1

    .line 427
    :goto_13
    sget v1, Ldxoptimizer/vg;->B:F

    mul-float/2addr v0, v1

    .line 428
    return v0

    .line 423
    :cond_17
    const v1, 0x3ebc5ab2

    .line 424
    sub-float v0, v4, v0

    float-to-double v2, v0

    invoke-static {v2, v3}, Ljava/lang/Math;->exp(D)D

    move-result-wide v2

    double-to-float v0, v2

    sub-float v0, v4, v0

    .line 425
    sub-float v2, v4, v1

    mul-float/2addr v0, v2

    add-float/2addr v0, v1

    goto :goto_13
.end method


# virtual methods
.method public a(IIIII)V
    .registers 8

    .prologue
    const/4 v0, 0x0

    .line 330
    iput v0, p0, Ldxoptimizer/vg;->a:I

    .line 331
    iput-boolean v0, p0, Ldxoptimizer/vg;->q:Z

    .line 332
    iput p5, p0, Ldxoptimizer/vg;->m:I

    .line 333
    invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J

    move-result-wide v0

    iput-wide v0, p0, Ldxoptimizer/vg;->l:J

    .line 334
    iput p1, p0, Ldxoptimizer/vg;->b:I

    .line 335
    iput p2, p0, Ldxoptimizer/vg;->c:I

    .line 336
    add-int v0, p1, p3

    iput v0, p0, Ldxoptimizer/vg;->d:I

    .line 337
    add-int v0, p2, p4

    iput v0, p0, Ldxoptimizer/vg;->e:I

    .line 338
    int-to-float v0, p3

    iput v0, p0, Ldxoptimizer/vg;->o:F

    .line 339
    int-to-float v0, p4

    iput v0, p0, Ldxoptimizer/vg;->p:F

    .line 340
    const/high16 v0, 0x3f800000    # 1.0f

    iget v1, p0, Ldxoptimizer/vg;->m:I

    int-to-float v1, v1

    div-float/2addr v0, v1

    iput v0, p0, Ldxoptimizer/vg;->n:F

    .line 341
    return-void
.end method

.method public a(IIIIIIII)V
    .registers 23

    .prologue
    .line 365
    iget-boolean v2, p0, Ldxoptimizer/vg;->s:Z

    if-eqz v2, :cond_53

    iget-boolean v2, p0, Ldxoptimizer/vg;->q:Z

    if-nez v2, :cond_53

    .line 366
    invoke-virtual {p0}, Ldxoptimizer/vg;->c()F

    move-result v2

    .line 368
    iget v3, p0, Ldxoptimizer/vg;->d:I

    iget v4, p0, Ldxoptimizer/vg;->b:I

    sub-int/2addr v3, v4

    int-to-float v3, v3

    .line 369
    iget v4, p0, Ldxoptimizer/vg;->e:I

    iget v5, p0, Ldxoptimizer/vg;->c:I

    sub-int/2addr v4, v5

    int-to-float v4, v4

    .line 370
    mul-float v5, v3, v3

    mul-float v6, v4, v4

    add-float/2addr v5, v6

    float-to-double v6, v5

    invoke-static {v6, v7}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v6

    double-to-float v5, v6

    .line 372
    div-float/2addr v3, v5

    .line 373
    div-float/2addr v4, v5

    .line 375
    mul-float/2addr v3, v2

    .line 376
    mul-float/2addr v2, v4

    .line 377
    move/from16 v0, p3

    int-to-float v4, v0

    invoke-static {v4}, Ljava/lang/Math;->signum(F)F

    move-result v4

    invoke-static {v3}, Ljava/lang/Math;->signum(F)F

    move-result v5

    cmpl-float v4, v4, v5

    if-nez v4, :cond_53

    move/from16 v0, p4

    int-to-float v4, v0

    .line 378
    invoke-static {v4}, Ljava/lang/Math;->signum(F)F

    move-result v4

    invoke-static {v2}, Ljava/lang/Math;->signum(F)F

    move-result v5

    cmpl-float v4, v4, v5

    if-nez v4, :cond_53

    .line 379
    move/from16 v0, p3

    int-to-float v4, v0

    add-float/2addr v3, v4

    float-to-int v0, v3

    move/from16 p3, v0

    .line 380
    move/from16 v0, p4

    int-to-float v3, v0

    add-float/2addr v2, v3

    float-to-int v0, v2

    move/from16 p4, v0

    .line 384
    :cond_53
    const/4 v2, 0x1

    iput v2, p0, Ldxoptimizer/vg;->a:I

    .line 385
    const/4 v2, 0x0

    iput-boolean v2, p0, Ldxoptimizer/vg;->q:Z

    .line 387
    mul-int v2, p3, p3

    mul-int v3, p4, p4

    add-int/2addr v2, v3

    int-to-double v2, v2

    invoke-static {v2, v3}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v2

    double-to-float v4, v2

    .line 389
    iput v4, p0, Ldxoptimizer/vg;->t:F

    .line 390
    sget v2, Ldxoptimizer/vg;->w:F

    mul-float/2addr v2, v4

    sget v3, Ldxoptimizer/vg;->v:F

    div-float/2addr v2, v3

    float-to-double v2, v2

    invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D

    move-result-wide v6

    .line 391
    const-wide v2, 0x408f400000000000L    # 1000.0

    sget v5, Ldxoptimizer/vg;->u:F

    float-to-double v8, v5

    const-wide/high16 v10, 0x3ff0000000000000L    # 1.0

    sub-double/2addr v8, v10

    div-double v8, v6, v8

    invoke-static {v8, v9}, Ljava/lang/Math;->exp(D)D

    move-result-wide v8

    mul-double/2addr v2, v8

    double-to-int v2, v2

    iput v2, p0, Ldxoptimizer/vg;->m:I

    .line 392
    invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J

    move-result-wide v2

    iput-wide v2, p0, Ldxoptimizer/vg;->l:J

    .line 393
    iput p1, p0, Ldxoptimizer/vg;->b:I

    .line 394
    move/from16 v0, p2

    iput v0, p0, Ldxoptimizer/vg;->c:I

    .line 396
    const/4 v2, 0x0

    cmpl-float v2, v4, v2

    if-nez v2, :cond_101

    const/high16 v2, 0x3f800000    # 1.0f

    move v3, v2

    .line 397
    :goto_9a
    const/4 v2, 0x0

    cmpl-float v2, v4, v2

    if-nez v2, :cond_107

    const/high16 v2, 0x3f800000    # 1.0f

    .line 399
    :goto_a1
    sget v4, Ldxoptimizer/vg;->v:F

    float-to-double v4, v4

    sget v8, Ldxoptimizer/vg;->u:F

    float-to-double v8, v8

    sget v10, Ldxoptimizer/vg;->u:F

    float-to-double v10, v10

    const-wide/high16 v12, 0x3ff0000000000000L    # 1.0

    sub-double/2addr v10, v12

    div-double/2addr v8, v10

    mul-double/2addr v6, v8

    .line 400
    invoke-static {v6, v7}, Ljava/lang/Math;->exp(D)D

    move-result-wide v6

    mul-double/2addr v4, v6

    double-to-int v4, v4

    .line 402
    move/from16 v0, p5

    iput v0, p0, Ldxoptimizer/vg;->f:I

    .line 403
    move/from16 v0, p6

    iput v0, p0, Ldxoptimizer/vg;->g:I

    .line 404
    move/from16 v0, p7

    iput v0, p0, Ldxoptimizer/vg;->h:I

    .line 405
    move/from16 v0, p8

    iput v0, p0, Ldxoptimizer/vg;->i:I

    .line 407
    int-to-float v5, v4

    mul-float/2addr v3, v5

    invoke-static {v3}, Ljava/lang/Math;->round(F)I

    move-result v3

    add-int/2addr v3, p1

    iput v3, p0, Ldxoptimizer/vg;->d:I

    .line 409
    iget v3, p0, Ldxoptimizer/vg;->d:I

    iget v5, p0, Ldxoptimizer/vg;->g:I

    invoke-static {v3, v5}, Ljava/lang/Math;->min(II)I

    move-result v3

    iput v3, p0, Ldxoptimizer/vg;->d:I

    .line 410
    iget v3, p0, Ldxoptimizer/vg;->d:I

    iget v5, p0, Ldxoptimizer/vg;->f:I

    invoke-static {v3, v5}, Ljava/lang/Math;->max(II)I

    move-result v3

    iput v3, p0, Ldxoptimizer/vg;->d:I

    .line 412
    int-to-float v3, v4

    mul-float/2addr v2, v3

    invoke-static {v2}, Ljava/lang/Math;->round(F)I

    move-result v2

    add-int v2, v2, p2

    iput v2, p0, Ldxoptimizer/vg;->e:I

    .line 414
    iget v2, p0, Ldxoptimizer/vg;->e:I

    iget v3, p0, Ldxoptimizer/vg;->i:I

    invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I

    move-result v2

    iput v2, p0, Ldxoptimizer/vg;->e:I

    .line 415
    iget v2, p0, Ldxoptimizer/vg;->e:I

    iget v3, p0, Ldxoptimizer/vg;->h:I

    invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I

    move-result v2

    iput v2, p0, Ldxoptimizer/vg;->e:I

    .line 416
    return-void

    .line 396
    :cond_101
    move/from16 v0, p3

    int-to-float v2, v0

    div-float/2addr v2, v4

    move v3, v2

    goto :goto_9a

    .line 397
    :cond_107
    move/from16 v0, p4

    int-to-float v2, v0

    div-float/2addr v2, v4

    goto :goto_a1
.end method

.method public final a(Z)V
    .registers 2

    .prologue
    .line 164
    iput-boolean p1, p0, Ldxoptimizer/vg;->q:Z

    .line 165
    return-void
.end method

.method public final a()Z
    .registers 2

    .prologue
    .line 155
    iget-boolean v0, p0, Ldxoptimizer/vg;->q:Z

    return v0
.end method

.method public final b()I
    .registers 2

    .prologue
    .line 191
    iget v0, p0, Ldxoptimizer/vg;->k:I

    return v0
.end method

.method public c()F
    .registers 4

    .prologue
    .line 201
    iget v0, p0, Ldxoptimizer/vg;->t:F

    iget v1, p0, Ldxoptimizer/vg;->z:F

    invoke-virtual {p0}, Ldxoptimizer/vg;->g()I

    move-result v2

    int-to-float v2, v2

    mul-float/2addr v1, v2

    const/high16 v2, 0x44fa0000    # 2000.0f

    div-float/2addr v1, v2

    sub-float/2addr v0, v1

    return v0
.end method

.method public final d()I
    .registers 2

    .prologue
    .line 219
    iget v0, p0, Ldxoptimizer/vg;->c:I

    return v0
.end method

.method public final e()I
    .registers 2

    .prologue
    .line 237
    iget v0, p0, Ldxoptimizer/vg;->e:I

    return v0
.end method

.method public f()Z
    .registers 8

    .prologue
    const/4 v1, 0x1

    const/high16 v6, 0x42c80000    # 100.0f

    .line 246
    iget-boolean v0, p0, Ldxoptimizer/vg;->q:Z

    if-eqz v0, :cond_9

    .line 247
    const/4 v0, 0x0

    .line 295
    :goto_8
    return v0

    .line 250
    :cond_9
    invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J

    move-result-wide v2

    iget-wide v4, p0, Ldxoptimizer/vg;->l:J

    sub-long/2addr v2, v4

    long-to-int v0, v2

    .line 252
    iget v2, p0, Ldxoptimizer/vg;->m:I

    if-ge v0, v2, :cond_bf

    .line 253
    iget v2, p0, Ldxoptimizer/vg;->a:I

    packed-switch v2, :pswitch_data_cc

    :cond_1a
    :goto_1a
    move v0, v1

    .line 295
    goto :goto_8

    .line 255
    :pswitch_1c
    int-to-float v0, v0

    iget v2, p0, Ldxoptimizer/vg;->n:F

    mul-float/2addr v0, v2

    .line 257
    iget-object v2, p0, Ldxoptimizer/vg;->r:Landroid/view/animation/Interpolator;

    if-nez v2, :cond_41

    .line 258
    invoke-static {v0}, Ldxoptimizer/vg;->a(F)F

    move-result v0

    .line 262
    :goto_28
    iget v2, p0, Ldxoptimizer/vg;->b:I

    iget v3, p0, Ldxoptimizer/vg;->o:F

    mul-float/2addr v3, v0

    invoke-static {v3}, Ljava/lang/Math;->round(F)I

    move-result v3

    add-int/2addr v2, v3

    iput v2, p0, Ldxoptimizer/vg;->j:I

    .line 263
    iget v2, p0, Ldxoptimizer/vg;->c:I

    iget v3, p0, Ldxoptimizer/vg;->p:F

    mul-float/2addr v0, v3

    invoke-static {v0}, Ljava/lang/Math;->round(F)I

    move-result v0

    add-int/2addr v0, v2

    iput v0, p0, Ldxoptimizer/vg;->k:I

    goto :goto_1a

    .line 260
    :cond_41
    iget-object v2, p0, Ldxoptimizer/vg;->r:Landroid/view/animation/Interpolator;

    invoke-interface {v2, v0}, Landroid/view/animation/Interpolator;->getInterpolation(F)F

    move-result v0

    goto :goto_28

    .line 266
    :pswitch_48
    int-to-float v0, v0

    iget v2, p0, Ldxoptimizer/vg;->m:I

    int-to-float v2, v2

    div-float/2addr v0, v2

    .line 267
    mul-float v2, v6, v0

    float-to-int v2, v2

    .line 268
    int-to-float v3, v2

    div-float/2addr v3, v6

    .line 269
    add-int/lit8 v4, v2, 0x1

    int-to-float v4, v4

    div-float/2addr v4, v6

    .line 270
    sget-object v5, Ldxoptimizer/vg;->y:[F

    aget v5, v5, v2

    .line 271
    sget-object v6, Ldxoptimizer/vg;->y:[F

    add-int/lit8 v2, v2, 0x1

    aget v2, v6, v2

    .line 272
    sub-float/2addr v0, v3

    sub-float v3, v4, v3

    div-float/2addr v0, v3

    sub-float/2addr v2, v5

    mul-float/2addr v0, v2

    add-float/2addr v0, v5

    .line 274
    iget v2, p0, Ldxoptimizer/vg;->b:I

    iget v3, p0, Ldxoptimizer/vg;->d:I

    iget v4, p0, Ldxoptimizer/vg;->b:I

    sub-int/2addr v3, v4

    int-to-float v3, v3

    mul-float/2addr v3, v0

    invoke-static {v3}, Ljava/lang/Math;->round(F)I

    move-result v3

    add-int/2addr v2, v3

    iput v2, p0, Ldxoptimizer/vg;->j:I

    .line 276
    iget v2, p0, Ldxoptimizer/vg;->j:I

    iget v3, p0, Ldxoptimizer/vg;->g:I

    invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I

    move-result v2

    iput v2, p0, Ldxoptimizer/vg;->j:I

    .line 277
    iget v2, p0, Ldxoptimizer/vg;->j:I

    iget v3, p0, Ldxoptimizer/vg;->f:I

    invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I

    move-result v2

    iput v2, p0, Ldxoptimizer/vg;->j:I

    .line 279
    iget v2, p0, Ldxoptimizer/vg;->c:I

    iget v3, p0, Ldxoptimizer/vg;->e:I

    iget v4, p0, Ldxoptimizer/vg;->c:I

    sub-int/2addr v3, v4

    int-to-float v3, v3

    mul-float/2addr v0, v3

    invoke-static {v0}, Ljava/lang/Math;->round(F)I

    move-result v0

    add-int/2addr v0, v2

    iput v0, p0, Ldxoptimizer/vg;->k:I

    .line 281
    iget v0, p0, Ldxoptimizer/vg;->k:I

    iget v2, p0, Ldxoptimizer/vg;->i:I

    invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I

    move-result v0

    iput v0, p0, Ldxoptimizer/vg;->k:I

    .line 282
    iget v0, p0, Ldxoptimizer/vg;->k:I

    iget v2, p0, Ldxoptimizer/vg;->h:I

    invoke-static {v0, v2}, Ljava/lang/Math;->max(II)I

    move-result v0

    iput v0, p0, Ldxoptimizer/vg;->k:I

    .line 284
    iget v0, p0, Ldxoptimizer/vg;->j:I

    iget v2, p0, Ldxoptimizer/vg;->d:I

    if-ne v0, v2, :cond_1a

    iget v0, p0, Ldxoptimizer/vg;->k:I

    iget v2, p0, Ldxoptimizer/vg;->e:I

    if-ne v0, v2, :cond_1a

    .line 285
    iput-boolean v1, p0, Ldxoptimizer/vg;->q:Z

    goto/16 :goto_1a

    .line 291
    :cond_bf
    iget v0, p0, Ldxoptimizer/vg;->d:I

    iput v0, p0, Ldxoptimizer/vg;->j:I

    .line 292
    iget v0, p0, Ldxoptimizer/vg;->e:I

    iput v0, p0, Ldxoptimizer/vg;->k:I

    .line 293
    iput-boolean v1, p0, Ldxoptimizer/vg;->q:Z

    goto/16 :goto_1a

    .line 253
    nop

    :pswitch_data_cc
    .packed-switch 0x0
        :pswitch_1c
        :pswitch_48
    .end packed-switch
.end method

.method public g()I
    .registers 5

    .prologue
    .line 465
    invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J

    move-result-wide v0

    iget-wide v2, p0, Ldxoptimizer/vg;->l:J

    sub-long/2addr v0, v2

    long-to-int v0, v0

    return v0
.end method