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