.class final Lcom/moji/pickerview/lib/InertiaTimerTask; .super Ljava/util/TimerTask; .source "InertiaTimerTask.java" # instance fields .field a:F .field final b:F .field final c:Lcom/moji/pickerview/lib/WheelView; # direct methods .method constructor (Lcom/moji/pickerview/lib/WheelView;F)V .locals 0 .line 12 invoke-direct {p0}, Ljava/util/TimerTask;->()V .line 13 iput-object p1, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; .line 14 iput p2, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->b:F const/high16 p1, 0x4f000000 .line 15 iput p1, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F return-void .end method # virtual methods .method public final run()V .locals 12 .line 20 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F const/4 v1, 0x0 const/high16 v2, 0x4f000000 cmpl-float v0, v0, v2 if-nez v0, :cond_2 .line 21 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->b:F invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 const/high16 v2, 0x44fa0000 # 2000.0f cmpl-float v0, v0, v2 if-lez v0, :cond_1 .line 22 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->b:F cmpl-float v0, v0, v1 if-lez v0, :cond_0 .line 23 iput v2, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F goto :goto_0 :cond_0 const/high16 v0, -0x3b060000 # -2000.0f .line 25 iput v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F goto :goto_0 .line 28 :cond_1 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->b:F iput v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F .line 31 :cond_2 :goto_0 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 const/high16 v2, 0x41a00000 # 20.0f cmpl-float v0, v0, v1 if-ltz v0, :cond_3 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 cmpg-float v0, v0, v2 if-gtz v0, :cond_3 .line 32 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; invoke-virtual {v0}, Lcom/moji/pickerview/lib/WheelView;->a()V .line 33 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget-object v0, v0, Lcom/moji/pickerview/lib/WheelView;->b:Landroid/os/Handler; const/16 v1, 0x7d0 invoke-virtual {v0, v1}, Landroid/os/Handler;->sendEmptyMessage(I)Z return-void .line 36 :cond_3 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F const/high16 v3, 0x41200000 # 10.0f mul-float v0, v0, v3 const/high16 v3, 0x447a0000 # 1000.0f div-float/2addr v0, v3 float-to-int v0, v0 .line 37 iget-object v3, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget-object v4, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v4, v4, Lcom/moji/pickerview/lib/WheelView;->v:I sub-int/2addr v4, v0 iput v4, v3, Lcom/moji/pickerview/lib/WheelView;->v:I .line 38 iget-object v3, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget-boolean v3, v3, Lcom/moji/pickerview/lib/WheelView;->r:Z if-nez v3, :cond_7 .line 39 iget-object v3, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v3, v3, Lcom/moji/pickerview/lib/WheelView;->n:F .line 40 iget-object v4, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v4, v4, Lcom/moji/pickerview/lib/WheelView;->w:I neg-int v4, v4 int-to-float v4, v4 mul-float v4, v4, v3 .line 41 iget-object v5, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; invoke-virtual {v5}, Lcom/moji/pickerview/lib/WheelView;->getItemsCount()I move-result v5 add-int/lit8 v5, v5, -0x1 iget-object v6, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v6, v6, Lcom/moji/pickerview/lib/WheelView;->w:I sub-int/2addr v5, v6 int-to-float v5, v5 mul-float v5, v5, v3 .line 42 iget-object v6, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v6, v6, Lcom/moji/pickerview/lib/WheelView;->v:I int-to-double v6, v6 float-to-double v8, v3 const-wide v10, 0x3fd3333333333333L # 0.3 invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z mul-double v8, v8, v10 invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z sub-double/2addr v6, v8 float-to-double v10, v4 cmpg-double v3, v6, v10 if-gez v3, :cond_4 .line 43 iget-object v3, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v3, v3, Lcom/moji/pickerview/lib/WheelView;->v:I add-int/2addr v3, v0 int-to-float v4, v3 goto :goto_1 .line 45 :cond_4 iget-object v3, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v3, v3, Lcom/moji/pickerview/lib/WheelView;->v:I int-to-double v6, v3 invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z add-double/2addr v6, v8 float-to-double v8, v5 cmpl-double v3, v6, v8 if-lez v3, :cond_5 .line 46 iget-object v3, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v3, v3, Lcom/moji/pickerview/lib/WheelView;->v:I add-int/2addr v3, v0 int-to-float v5, v3 .line 49 :cond_5 :goto_1 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v0, v0, Lcom/moji/pickerview/lib/WheelView;->v:I int-to-float v0, v0 cmpg-float v0, v0, v4 if-gtz v0, :cond_6 const/high16 v0, 0x42200000 # 40.0f .line 50 iput v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F .line 51 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; float-to-int v3, v4 iput v3, v0, Lcom/moji/pickerview/lib/WheelView;->v:I goto :goto_2 .line 52 :cond_6 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget v0, v0, Lcom/moji/pickerview/lib/WheelView;->v:I int-to-float v0, v0 cmpl-float v0, v0, v5 if-ltz v0, :cond_7 .line 53 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; float-to-int v3, v5 iput v3, v0, Lcom/moji/pickerview/lib/WheelView;->v:I const/high16 v0, -0x3de00000 # -40.0f .line 54 iput v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F .line 57 :cond_7 :goto_2 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F cmpg-float v0, v0, v1 if-gez v0, :cond_8 .line 58 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F add-float/2addr v0, v2 iput v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F goto :goto_3 .line 60 :cond_8 iget v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F sub-float/2addr v0, v2 iput v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->a:F .line 62 :goto_3 iget-object v0, p0, Lcom/moji/pickerview/lib/InertiaTimerTask;->c:Lcom/moji/pickerview/lib/WheelView; iget-object v0, v0, Lcom/moji/pickerview/lib/WheelView;->b:Landroid/os/Handler; const/16 v1, 0x3e8 invoke-virtual {v0, v1}, Landroid/os/Handler;->sendEmptyMessage(I)Z return-void .end method