SmartUtil.smali
.class public Lcom/scwang/smartrefresh/layout/util/SmartUtil;
.super Ljava/lang/Object;
.source "SmartUtil.java"
# interfaces
.implements Landroid/view/animation/Interpolator;
# static fields
.field public static INTERPOLATOR_DECELERATE:I = 0x0
.field public static INTERPOLATOR_VISCOUS_FLUID:I = 0x0
.field private static final VISCOUS_FLUID_NORMALIZE:F
.field private static final VISCOUS_FLUID_OFFSET:F
.field private static final VISCOUS_FLUID_SCALE:F = 8.0f
.field private static density:F
# instance fields
.field private type:I
# direct methods
.method static constructor <clinit>()V
.registers 3
.line 30
const/4 v0, 0x0
sput v0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->INTERPOLATOR_VISCOUS_FLUID:I
.line 31
const/4 v0, 0x1
sput v0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->INTERPOLATOR_DECELERATE:I
.line 225
invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
sput v0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->density:F
.line 255
const/high16 v0, 0x3f800000 # 1.0f
invoke-static {v0}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->viscousFluid(F)F
move-result v1
div-float v1, v0, v1
sput v1, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->VISCOUS_FLUID_NORMALIZE:F
.line 257
invoke-static {v0}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->viscousFluid(F)F
move-result v2
mul-float v1, v1, v2
sub-float/2addr v0, v1
sput v0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->VISCOUS_FLUID_OFFSET:F
.line 258
return-void
.end method
.method public constructor <init>(I)V
.registers 2
.param p1, "type" # I
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 36
iput p1, p0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->type:I
.line 37
return-void
.end method
.method public static canLoadMore(Landroid/view/View;Landroid/graphics/PointF;Z)Z
.registers 12
.param p0, "targetView" # Landroid/view/View;
.param p1, "touch" # Landroid/graphics/PointF;
.param p2, "contentFull" # Z
.line 152
const/4 v0, 0x1
invoke-static {p0, v0}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->canScrollVertically(Landroid/view/View;I)Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_f
invoke-virtual {p0}, Landroid/view/View;->getVisibility()I
move-result v1
if-nez v1, :cond_f
.line 153
return v2
.line 156
:cond_f
instance-of v1, p0, Landroid/view/ViewGroup;
if-eqz v1, :cond_6c
if-eqz p1, :cond_6c
invoke-static {p0}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->isScrollableView(Landroid/view/View;)Z
move-result v1
if-nez v1, :cond_6c
.line 157
move-object v1, p0
check-cast v1, Landroid/view/ViewGroup;
.line 158
.local v1, "viewGroup":Landroid/view/ViewGroup;
invoke-virtual {v1}, Landroid/view/ViewGroup;->getChildCount()I
move-result v3
.line 159
.local v3, "childCount":I
new-instance v4, Landroid/graphics/PointF;
invoke-direct {v4}, Landroid/graphics/PointF;-><init>()V
.line 160
.local v4, "point":Landroid/graphics/PointF;
move v5, v3
.local v5, "i":I
:goto_28
if-lez v5, :cond_6c
.line 161
add-int/lit8 v6, v5, -0x1
invoke-virtual {v1, v6}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v6
.line 162
.local v6, "child":Landroid/view/View;
iget v7, p1, Landroid/graphics/PointF;->x:F
iget v8, p1, Landroid/graphics/PointF;->y:F
invoke-static {v1, v6, v7, v8, v4}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->isTransformedTouchPointInView(Landroid/view/View;Landroid/view/View;FFLandroid/graphics/PointF;)Z
move-result v7
if-eqz v7, :cond_69
.line 163
invoke-virtual {v6}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
const-string v7, "fixed"
invoke-virtual {v7, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
invoke-virtual {v6}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
const-string v7, "fixed-top"
invoke-virtual {v7, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_53
goto :goto_68
.line 166
:cond_53
iget v0, v4, Landroid/graphics/PointF;->x:F
iget v2, v4, Landroid/graphics/PointF;->y:F
invoke-virtual {p1, v0, v2}, Landroid/graphics/PointF;->offset(FF)V
.line 167
invoke-static {v6, p1, p2}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->canLoadMore(Landroid/view/View;Landroid/graphics/PointF;Z)Z
move-result v0
.line 168
.local v0, "can":Z
iget v2, v4, Landroid/graphics/PointF;->x:F
neg-float v2, v2
iget v7, v4, Landroid/graphics/PointF;->y:F
neg-float v7, v7
invoke-virtual {p1, v2, v7}, Landroid/graphics/PointF;->offset(FF)V
.line 169
return v0
.line 164
.end local v0 # "can":Z
:cond_68
:goto_68
return v2
.line 160
.end local v6 # "child":Landroid/view/View;
:cond_69
add-int/lit8 v5, v5, -0x1
goto :goto_28
.line 173
.end local v1 # "viewGroup":Landroid/view/ViewGroup;
.end local v3 # "childCount":I
.end local v4 # "point":Landroid/graphics/PointF;
.end local v5 # "i":I
:cond_6c
if-nez p2, :cond_77
const/4 v1, -0x1
invoke-static {p0, v1}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->canScrollVertically(Landroid/view/View;I)Z
move-result v1
if-eqz v1, :cond_76
goto :goto_77
:cond_76
const/4 v0, 0x0
:cond_77
:goto_77
return v0
.end method
.method public static canRefresh(Landroid/view/View;Landroid/graphics/PointF;)Z
.registers 10
.param p0, "targetView" # Landroid/view/View;
.param p1, "touch" # Landroid/graphics/PointF;
.line 120
const/4 v0, -0x1
invoke-static {p0, v0}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->canScrollVertically(Landroid/view/View;I)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_f
invoke-virtual {p0}, Landroid/view/View;->getVisibility()I
move-result v0
if-nez v0, :cond_f
.line 121
return v1
.line 124
:cond_f
instance-of v0, p0, Landroid/view/ViewGroup;
if-eqz v0, :cond_66
if-eqz p1, :cond_66
.line 125
move-object v0, p0
check-cast v0, Landroid/view/ViewGroup;
.line 126
.local v0, "viewGroup":Landroid/view/ViewGroup;
invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v2
.line 127
.local v2, "childCount":I
new-instance v3, Landroid/graphics/PointF;
invoke-direct {v3}, Landroid/graphics/PointF;-><init>()V
.line 128
.local v3, "point":Landroid/graphics/PointF;
move v4, v2
.local v4, "i":I
:goto_22
if-lez v4, :cond_66
.line 129
add-int/lit8 v5, v4, -0x1
invoke-virtual {v0, v5}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v5
.line 130
.local v5, "child":Landroid/view/View;
iget v6, p1, Landroid/graphics/PointF;->x:F
iget v7, p1, Landroid/graphics/PointF;->y:F
invoke-static {v0, v5, v6, v7, v3}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->isTransformedTouchPointInView(Landroid/view/View;Landroid/view/View;FFLandroid/graphics/PointF;)Z
move-result v6
if-eqz v6, :cond_63
.line 131
invoke-virtual {v5}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v6
const-string v7, "fixed"
invoke-virtual {v7, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_62
invoke-virtual {v5}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v6
const-string v7, "fixed-bottom"
invoke-virtual {v7, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_4d
goto :goto_62
.line 134
:cond_4d
iget v1, v3, Landroid/graphics/PointF;->x:F
iget v6, v3, Landroid/graphics/PointF;->y:F
invoke-virtual {p1, v1, v6}, Landroid/graphics/PointF;->offset(FF)V
.line 135
invoke-static {v5, p1}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->canRefresh(Landroid/view/View;Landroid/graphics/PointF;)Z
move-result v1
.line 136
.local v1, "can":Z
iget v6, v3, Landroid/graphics/PointF;->x:F
neg-float v6, v6
iget v7, v3, Landroid/graphics/PointF;->y:F
neg-float v7, v7
invoke-virtual {p1, v6, v7}, Landroid/graphics/PointF;->offset(FF)V
.line 137
return v1
.line 132
.end local v1 # "can":Z
:cond_62
:goto_62
return v1
.line 128
.end local v5 # "child":Landroid/view/View;
:cond_63
add-int/lit8 v4, v4, -0x1
goto :goto_22
.line 141
.end local v0 # "viewGroup":Landroid/view/ViewGroup;
.end local v2 # "childCount":I
.end local v3 # "point":Landroid/graphics/PointF;
.end local v4 # "i":I
:cond_66
const/4 v0, 0x1
return v0
.end method
.method public static canScrollVertically(Landroid/view/View;I)Z
.registers 9
.param p0, "targetView" # Landroid/view/View;
.param p1, "direction" # I
.line 177
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xe
if-ge v0, v1, :cond_62
.line 178
instance-of v0, p0, Landroid/widget/AbsListView;
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz v0, :cond_50
.line 179
move-object v0, p0
check-cast v0, Landroid/view/ViewGroup;
.line 180
.local v0, "viewGroup":Landroid/view/ViewGroup;
move-object v3, p0
check-cast v3, Landroid/widget/AbsListView;
.line 181
.local v3, "absListView":Landroid/widget/AbsListView;
invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v4
.line 182
.local v4, "childCount":I
if-lez p1, :cond_36
.line 183
if-lez v4, :cond_34
invoke-virtual {v3}, Landroid/widget/AbsListView;->getLastVisiblePosition()I
move-result v5
add-int/lit8 v6, v4, -0x1
if-lt v5, v6, :cond_32
add-int/lit8 v5, v4, -0x1
.line 184
invoke-virtual {v0, v5}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v5
invoke-virtual {v5}, Landroid/view/View;->getBottom()I
move-result v5
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v6
if-le v5, v6, :cond_34
:cond_32
const/4 v1, 0x1
goto :goto_35
:cond_34
nop
.line 183
:goto_35
return v1
.line 186
:cond_36
if-lez v4, :cond_4e
invoke-virtual {v3}, Landroid/widget/AbsListView;->getFirstVisiblePosition()I
move-result v5
if-gtz v5, :cond_4c
.line 187
invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v5
invoke-virtual {v5}, Landroid/view/View;->getTop()I
move-result v5
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v6
if-ge v5, v6, :cond_4e
:cond_4c
const/4 v1, 0x1
goto :goto_4f
:cond_4e
nop
.line 186
:goto_4f
return v1
.line 190
.end local v0 # "viewGroup":Landroid/view/ViewGroup;
.end local v3 # "absListView":Landroid/widget/AbsListView;
.end local v4 # "childCount":I
:cond_50
if-lez p1, :cond_5a
.line 191
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v0
if-gez v0, :cond_59
const/4 v1, 0x1
:cond_59
return v1
.line 193
:cond_5a
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v0
if-lez v0, :cond_61
const/4 v1, 0x1
:cond_61
return v1
.line 197
:cond_62
invoke-virtual {p0, p1}, Landroid/view/View;->canScrollVertically(I)Z
move-result v0
return v0
.end method
.method public static dp2px(F)I
.registers 3
.param p0, "dpValue" # F
.line 233
sget v0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->density:F
mul-float v0, v0, p0
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method
.method public static fling(Landroid/view/View;I)V
.registers 4
.param p0, "scrollableView" # Landroid/view/View;
.param p1, "velocity" # I
.line 96
instance-of v0, p0, Landroid/widget/ScrollView;
if-eqz v0, :cond_b
.line 97
move-object v0, p0
check-cast v0, Landroid/widget/ScrollView;
invoke-virtual {v0, p1}, Landroid/widget/ScrollView;->fling(I)V
goto :goto_3d
.line 98
:cond_b
instance-of v0, p0, Landroid/widget/AbsListView;
if-eqz v0, :cond_1c
.line 99
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_3d
.line 100
move-object v0, p0
check-cast v0, Landroid/widget/AbsListView;
invoke-virtual {v0, p1}, Landroid/widget/AbsListView;->fling(I)V
goto :goto_3d
.line 102
:cond_1c
instance-of v0, p0, Landroid/webkit/WebView;
const/4 v1, 0x0
if-eqz v0, :cond_28
.line 103
move-object v0, p0
check-cast v0, Landroid/webkit/WebView;
invoke-virtual {v0, v1, p1}, Landroid/webkit/WebView;->flingScroll(II)V
goto :goto_3d
.line 104
:cond_28
instance-of v0, p0, Landroidx/core/widget/NestedScrollView;
if-eqz v0, :cond_33
.line 105
move-object v0, p0
check-cast v0, Landroidx/core/widget/NestedScrollView;
invoke-virtual {v0, p1}, Landroidx/core/widget/NestedScrollView;->fling(I)V
goto :goto_3d
.line 106
:cond_33
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v0, :cond_3d
.line 107
move-object v0, p0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
.line 109
:cond_3d
:goto_3d
return-void
.end method
.method public static isContentView(Landroid/view/View;)Z
.registers 2
.param p0, "view" # Landroid/view/View;
.line 90
invoke-static {p0}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->isScrollableView(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_11
instance-of v0, p0, Landroidx/viewpager/widget/ViewPager;
if-nez v0, :cond_11
instance-of v0, p0, Landroidx/core/view/NestedScrollingParent;
if-eqz v0, :cond_f
goto :goto_11
:cond_f
const/4 v0, 0x0
goto :goto_12
:cond_11
:goto_11
const/4 v0, 0x1
:goto_12
return v0
.end method
.method public static isScrollableView(Landroid/view/View;)Z
.registers 2
.param p0, "view" # Landroid/view/View;
.line 82
instance-of v0, p0, Landroid/widget/AbsListView;
if-nez v0, :cond_17
instance-of v0, p0, Landroid/widget/ScrollView;
if-nez v0, :cond_17
instance-of v0, p0, Landroidx/core/view/ScrollingView;
if-nez v0, :cond_17
instance-of v0, p0, Landroid/webkit/WebView;
if-nez v0, :cond_17
instance-of v0, p0, Landroidx/core/view/NestedScrollingChild;
if-eqz v0, :cond_15
goto :goto_17
:cond_15
const/4 v0, 0x0
goto :goto_18
:cond_17
:goto_17
const/4 v0, 0x1
:goto_18
return v0
.end method
.method public static isTransformedTouchPointInView(Landroid/view/View;Landroid/view/View;FFLandroid/graphics/PointF;)Z
.registers 11
.param p0, "group" # Landroid/view/View;
.param p1, "child" # Landroid/view/View;
.param p2, "x" # F
.param p3, "y" # F
.param p4, "outLocalPoint" # Landroid/graphics/PointF;
.line 204
invoke-virtual {p1}, Landroid/view/View;->getVisibility()I
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
.line 205
return v1
.line 207
:cond_8
const/4 v0, 0x2
new-array v0, v0, [F
.line 208
.local v0, "point":[F
aput p2, v0, v1
.line 209
const/4 v2, 0x1
aput p3, v0, v2
.line 211
aget v3, v0, v1
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result v4
invoke-virtual {p1}, Landroid/view/View;->getLeft()I
move-result v5
sub-int/2addr v4, v5
int-to-float v4, v4
add-float/2addr v3, v4
aput v3, v0, v1
.line 212
aget v3, v0, v2
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v4
invoke-virtual {p1}, Landroid/view/View;->getTop()I
move-result v5
sub-int/2addr v4, v5
int-to-float v4, v4
add-float/2addr v3, v4
aput v3, v0, v2
.line 214
aget v3, v0, v1
const/4 v4, 0x0
cmpl-float v3, v3, v4
if-ltz v3, :cond_53
aget v3, v0, v2
cmpl-float v3, v3, v4
if-ltz v3, :cond_53
aget v3, v0, v1
.line 215
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
move-result v4
int-to-float v4, v4
cmpg-float v3, v3, v4
if-gez v3, :cond_53
aget v3, v0, v2
.line 216
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
move-result v4
int-to-float v4, v4
cmpg-float v3, v3, v4
if-gez v3, :cond_53
const/4 v3, 0x1
goto :goto_54
:cond_53
const/4 v3, 0x0
.line 217
.local v3, "isInView":Z
:goto_54
if-eqz v3, :cond_61
if-eqz p4, :cond_61
.line 218
aget v1, v0, v1
sub-float/2addr v1, p2
aget v2, v0, v2
sub-float/2addr v2, p3
invoke-virtual {p4, v1, v2}, Landroid/graphics/PointF;->set(FF)V
.line 220
:cond_61
return v3
.end method
.method public static measureViewHeight(Landroid/view/View;)I
.registers 5
.param p0, "view" # Landroid/view/View;
.line 41
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
.line 42
.local v0, "p":Landroid/view/ViewGroup$LayoutParams;
if-nez v0, :cond_e
.line 43
new-instance v1, Landroid/view/ViewGroup$LayoutParams;
const/4 v2, -0x1
const/4 v3, -0x2
invoke-direct {v1, v2, v3}, Landroid/view/ViewGroup$LayoutParams;-><init>(II)V
move-object v0, v1
.line 46
:cond_e
iget v1, v0, Landroid/view/ViewGroup$LayoutParams;->width:I
const/4 v2, 0x0
invoke-static {v2, v2, v1}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v1
.line 47
.local v1, "childWidthSpec":I
iget v3, v0, Landroid/view/ViewGroup$LayoutParams;->height:I
if-lez v3, :cond_22
.line 48
iget v2, v0, Landroid/view/ViewGroup$LayoutParams;->height:I
const/high16 v3, 0x40000000 # 2.0f
invoke-static {v2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v2
.local v2, "childHeightSpec":I
goto :goto_26
.line 50
.end local v2 # "childHeightSpec":I
:cond_22
invoke-static {v2, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v2
.line 52
.restart local v2 # "childHeightSpec":I
:goto_26
invoke-virtual {p0, v1, v2}, Landroid/view/View;->measure(II)V
.line 53
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
move-result v3
return v3
.end method
.method public static px2dp(I)F
.registers 3
.param p0, "pxValue" # I
.line 242
int-to-float v0, p0
sget v1, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->density:F
div-float/2addr v0, v1
return v0
.end method
.method public static scrollListBy(Landroid/widget/AbsListView;I)V
.registers 7
.param p0, "listView" # Landroid/widget/AbsListView;
.param p1, "y" # I
.line 57
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_a
.line 59
invoke-virtual {p0, p1}, Landroid/widget/AbsListView;->scrollListBy(I)V
goto :goto_2e
.line 60
:cond_a
instance-of v0, p0, Landroid/widget/ListView;
const/4 v1, 0x0
if-eqz v0, :cond_2b
.line 62
invoke-virtual {p0}, Landroid/widget/AbsListView;->getFirstVisiblePosition()I
move-result v0
.line 63
.local v0, "firstPosition":I
const/4 v2, -0x1
if-ne v0, v2, :cond_17
.line 64
return-void
.line 68
:cond_17
move-object v2, p0
.line 69
.local v2, "listGroup":Landroid/view/ViewGroup;
invoke-virtual {v2, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v1
.line 70
.local v1, "firstView":Landroid/view/View;
if-nez v1, :cond_1f
.line 71
return-void
.line 74
:cond_1f
invoke-virtual {v1}, Landroid/view/View;->getTop()I
move-result v3
sub-int/2addr v3, p1
.line 75
.local v3, "newTop":I
move-object v4, p0
check-cast v4, Landroid/widget/ListView;
invoke-virtual {v4, v0, v3}, Landroid/widget/ListView;->setSelectionFromTop(II)V
.line 76
.end local v0 # "firstPosition":I
.end local v1 # "firstView":Landroid/view/View;
.end local v2 # "listGroup":Landroid/view/ViewGroup;
.end local v3 # "newTop":I
goto :goto_2e
.line 77
:cond_2b
invoke-virtual {p0, p1, v1}, Landroid/widget/AbsListView;->smoothScrollBy(II)V
.line 79
:goto_2e
return-void
.end method
.method private static viscousFluid(F)F
.registers 5
.param p0, "x" # F
.line 261
const/high16 v0, 0x41000000 # 8.0f
mul-float p0, p0, v0
.line 262
const/high16 v0, 0x3f800000 # 1.0f
cmpg-float v1, p0, v0
if-gez v1, :cond_14
.line 263
neg-float v1, p0
float-to-double v1, v1
invoke-static {v1, v2}, Ljava/lang/Math;->exp(D)D
move-result-wide v1
double-to-float v1, v1
sub-float/2addr v0, v1
sub-float/2addr p0, v0
goto :goto_26
.line 265
:cond_14
const v1, 0x3ebc5ab2
.line 266
.local v1, "start":F
sub-float v2, v0, p0
float-to-double v2, v2
invoke-static {v2, v3}, Ljava/lang/Math;->exp(D)D
move-result-wide v2
double-to-float v2, v2
sub-float p0, v0, v2
.line 267
sub-float/2addr v0, v1
mul-float v0, v0, p0
add-float p0, v1, v0
.line 269
.end local v1 # "start":F
:goto_26
return p0
.end method
# virtual methods
.method public getInterpolation(F)F
.registers 5
.param p1, "input" # F
.line 274
iget v0, p0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->type:I
sget v1, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->INTERPOLATOR_DECELERATE:I
if-ne v0, v1, :cond_10
.line 275
const/high16 v0, 0x3f800000 # 1.0f
sub-float v1, v0, p1
sub-float v2, v0, p1
mul-float v1, v1, v2
sub-float/2addr v0, v1
return v0
.line 277
:cond_10
sget v0, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->VISCOUS_FLUID_NORMALIZE:F
invoke-static {p1}, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->viscousFluid(F)F
move-result v1
mul-float v0, v0, v1
.line 278
.local v0, "interpolated":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_21
.line 279
sget v1, Lcom/scwang/smartrefresh/layout/util/SmartUtil;->VISCOUS_FLUID_OFFSET:F
add-float/2addr v1, v0
return v1
.line 281
:cond_21
return v0
.end method