WheelView$SmoothScrollTimerTask.smali

.class Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;
.super Ljava/util/TimerTask;
.source "WheelView.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcn/qqtheme/framework/widget/WheelView;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "SmoothScrollTimerTask"
.end annotation


# instance fields
.field offset:I

.field realOffset:I

.field realTotalOffset:I

.field final view:Lcn/qqtheme/framework/widget/WheelView;


# direct methods
.method constructor <init>(Lcn/qqtheme/framework/widget/WheelView;I)V
    .registers 4

    .line 1
    invoke-direct {p0}, Ljava/util/TimerTask;-><init>()V

    const v0, 0x7fffffff

    .line 2
    iput v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

    const/4 v0, 0x0

    .line 3
    iput v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    .line 4
    iput-object p1, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    .line 5
    iput p2, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->offset:I

    return-void
.end method


# virtual methods
.method public run()V
    .registers 6

    .line 1
    iget v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

    const v1, 0x7fffffff

    if-ne v0, v1, :cond_b

    .line 2
    iget v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->offset:I

    iput v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

    .line 3
    :cond_b
    iget v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

    int-to-float v1, v0

    const v2, 0x3dcccccd    # 0.1f

    mul-float v1, v1, v2

    float-to-int v1, v1

    iput v1, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    .line 4
    iget v1, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    const/4 v2, 0x1

    if-nez v1, :cond_23

    if-gez v0, :cond_21

    const/4 v0, -0x1

    .line 5
    iput v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    goto :goto_23

    .line 6
    :cond_21
    iput v2, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    .line 7
    :cond_23
    :goto_23
    iget v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

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

    move-result v0

    const/16 v1, 0xbb8

    if-gt v0, v2, :cond_3c

    .line 8
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # invokes: Lcn/qqtheme/framework/widget/WheelView;->cancelFuture()V
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$800(Lcn/qqtheme/framework/widget/WheelView;)V

    .line 9
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->handler:Lcn/qqtheme/framework/widget/WheelView$MessageHandler;
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$900(Lcn/qqtheme/framework/widget/WheelView;)Lcn/qqtheme/framework/widget/WheelView$MessageHandler;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/os/Handler;->sendEmptyMessage(I)Z

    goto :goto_b4

    .line 10
    :cond_3c
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->totalScrollY:F
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$1000(Lcn/qqtheme/framework/widget/WheelView;)F

    move-result v3

    iget v4, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    int-to-float v4, v4

    add-float/2addr v3, v4

    # setter for: Lcn/qqtheme/framework/widget/WheelView;->totalScrollY:F
    invoke-static {v0, v3}, Lcn/qqtheme/framework/widget/WheelView;->access$1002(Lcn/qqtheme/framework/widget/WheelView;F)F

    .line 11
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->isLoop:Z
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$1100(Lcn/qqtheme/framework/widget/WheelView;)Z

    move-result v0

    if-nez v0, :cond_a2

    .line 12
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->itemHeight:F
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$1200(Lcn/qqtheme/framework/widget/WheelView;)F

    move-result v0

    .line 13
    iget-object v3, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->initPosition:I
    invoke-static {v3}, Lcn/qqtheme/framework/widget/WheelView;->access$1300(Lcn/qqtheme/framework/widget/WheelView;)I

    move-result v3

    neg-int v3, v3

    int-to-float v3, v3

    mul-float v3, v3, v0

    .line 14
    iget-object v4, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    invoke-virtual {v4}, Lcn/qqtheme/framework/widget/WheelView;->getItemCount()I

    move-result v4

    sub-int/2addr v4, v2

    iget-object v2, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->initPosition:I
    invoke-static {v2}, Lcn/qqtheme/framework/widget/WheelView;->access$1300(Lcn/qqtheme/framework/widget/WheelView;)I

    move-result v2

    sub-int/2addr v4, v2

    int-to-float v2, v4

    mul-float v2, v2, v0

    .line 15
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->totalScrollY:F
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$1000(Lcn/qqtheme/framework/widget/WheelView;)F

    move-result v0

    cmpg-float v0, v0, v3

    if-lez v0, :cond_86

    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->totalScrollY:F
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$1000(Lcn/qqtheme/framework/widget/WheelView;)F

    move-result v0

    cmpl-float v0, v0, v2

    if-ltz v0, :cond_a2

    .line 16
    :cond_86
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->totalScrollY:F
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$1000(Lcn/qqtheme/framework/widget/WheelView;)F

    move-result v2

    iget v3, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    int-to-float v3, v3

    sub-float/2addr v2, v3

    # setter for: Lcn/qqtheme/framework/widget/WheelView;->totalScrollY:F
    invoke-static {v0, v2}, Lcn/qqtheme/framework/widget/WheelView;->access$1002(Lcn/qqtheme/framework/widget/WheelView;F)F

    .line 17
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # invokes: Lcn/qqtheme/framework/widget/WheelView;->cancelFuture()V
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$800(Lcn/qqtheme/framework/widget/WheelView;)V

    .line 18
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->handler:Lcn/qqtheme/framework/widget/WheelView$MessageHandler;
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$900(Lcn/qqtheme/framework/widget/WheelView;)Lcn/qqtheme/framework/widget/WheelView$MessageHandler;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/os/Handler;->sendEmptyMessage(I)Z

    return-void

    .line 19
    :cond_a2
    iget-object v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->view:Lcn/qqtheme/framework/widget/WheelView;

    # getter for: Lcn/qqtheme/framework/widget/WheelView;->handler:Lcn/qqtheme/framework/widget/WheelView$MessageHandler;
    invoke-static {v0}, Lcn/qqtheme/framework/widget/WheelView;->access$900(Lcn/qqtheme/framework/widget/WheelView;)Lcn/qqtheme/framework/widget/WheelView$MessageHandler;

    move-result-object v0

    const/16 v1, 0x3e8

    invoke-virtual {v0, v1}, Landroid/os/Handler;->sendEmptyMessage(I)Z

    .line 20
    iget v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

    iget v1, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realOffset:I

    sub-int/2addr v0, v1

    iput v0, p0, Lcn/qqtheme/framework/widget/WheelView$SmoothScrollTimerTask;->realTotalOffset:I

    :goto_b4
    return-void
.end method