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