OverscrollHelper.smali
.class public final Lcom/handmark/pulltorefresh/library/OverscrollHelper;
.super Ljava/lang/Object;
.source "OverscrollHelper.java"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0x9
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/handmark/pulltorefresh/library/OverscrollHelper$1;
}
.end annotation
# static fields
.field static final DEFAULT_OVERSCROLL_SCALE:F = 1.0f
.field static final LOG_TAG:Ljava/lang/String; = "OverscrollHelper"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 118
return-void
.end method
.method static isAndroidOverScrollEnabled(Landroid/view/View;)Z
.registers 3
.prologue
.line 176
invoke-virtual {p0}, Landroid/view/View;->getOverScrollMode()I
move-result v0
const/4 v1, 0x2
if-eq v0, v1, :cond_9
const/4 v0, 0x1
:goto_8
return v0
:cond_9
const/4 v0, 0x0
goto :goto_8
.end method
.method public static overScrollBy(Lcom/handmark/pulltorefresh/library/PullToRefreshBase;IIIIIIFZ)V
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/handmark/pulltorefresh/library/PullToRefreshBase",
"<*>;IIIIIIFZ)V"
}
.end annotation
.prologue
const/4 v6, 0x0
.line 107
sget-object v0, Lcom/handmark/pulltorefresh/library/OverscrollHelper$1;->$SwitchMap$com$handmark$pulltorefresh$library$PullToRefreshBase$Orientation:[I
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->getPullToRefreshScrollDirection()Lcom/handmark/pulltorefresh/library/PullToRefreshBase$Orientation;
move-result-object v1
invoke-virtual {v1}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$Orientation;->ordinal()I
move-result v1
aget v0, v0, v1
packed-switch v0, :pswitch_data_ee
.line 117
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->getScrollY()I
move-result v0
move v1, v0
move v2, p3
move v0, p4
.line 123
:goto_17
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->isPullToRefreshOverScrollEnabled()Z
move-result v3
if-eqz v3, :cond_a0
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->isRefreshing()Z
move-result v3
if-nez v3, :cond_a0
.line 124
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->getMode()Lcom/handmark/pulltorefresh/library/PullToRefreshBase$Mode;
move-result-object v3
.line 128
invoke-virtual {v3}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$Mode;->permitsPullToRefresh()Z
move-result v4
if-eqz v4, :cond_db
if-nez p8, :cond_db
if-eqz v2, :cond_db
.line 129
add-int/2addr v0, v2
.line 132
const-string v2, "OverscrollHelper"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "OverScroll. DeltaX: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ", ScrollX: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ", DeltaY: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ", ScrollY: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ", NewY: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ", ScrollRange: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ", CurrentScroll: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 137
rsub-int/lit8 v2, p6, 0x0
if-ge v0, v2, :cond_aa
.line 140
invoke-virtual {v3}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$Mode;->showHeaderLoadingLayout()Z
move-result v2
if-eqz v2, :cond_a0
.line 143
if-nez v1, :cond_99
.line 144
sget-object v2, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;->OVERSCROLLING:Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;
new-array v3, v6, [Z
invoke-virtual {p0, v2, v3}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->setState(Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;[Z)V
.line 147
:cond_99
add-int/2addr v0, v1
int-to-float v0, v0
mul-float/2addr v0, p7
float-to-int v0, v0
invoke-virtual {p0, v0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->setHeaderScroll(I)V
.line 173
:cond_a0
:goto_a0
return-void
.line 111
:pswitch_a1
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->getScrollX()I
move-result v0
move v1, v0
move v2, p1
move v0, p2
.line 112
goto/16 :goto_17
.line 149
:cond_aa
add-int v2, p5, p6
if-le v0, v2, :cond_c6
.line 152
invoke-virtual {v3}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$Mode;->showFooterLoadingLayout()Z
move-result v2
if-eqz v2, :cond_a0
.line 155
if-nez v1, :cond_bd
.line 156
sget-object v2, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;->OVERSCROLLING:Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;
new-array v3, v6, [Z
invoke-virtual {p0, v2, v3}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->setState(Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;[Z)V
.line 159
:cond_bd
add-int/2addr v0, v1
sub-int/2addr v0, p5
int-to-float v0, v0
mul-float/2addr v0, p7
float-to-int v0, v0
invoke-virtual {p0, v0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->setHeaderScroll(I)V
goto :goto_a0
.line 161
:cond_c6
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v1
if-le v1, p6, :cond_d3
sub-int/2addr v0, p5
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
if-gt v0, p6, :cond_a0
.line 164
:cond_d3
sget-object v0, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;->RESET:Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;
new-array v1, v6, [Z
invoke-virtual {p0, v0, v1}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->setState(Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;[Z)V
goto :goto_a0
.line 166
:cond_db
if-eqz p8, :cond_a0
sget-object v0, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;->OVERSCROLLING:Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;
invoke-virtual {p0}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->getState()Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;
move-result-object v1
if-ne v0, v1, :cond_a0
.line 170
sget-object v0, Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;->RESET:Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;
new-array v1, v6, [Z
invoke-virtual {p0, v0, v1}, Lcom/handmark/pulltorefresh/library/PullToRefreshBase;->setState(Lcom/handmark/pulltorefresh/library/PullToRefreshBase$State;[Z)V
goto :goto_a0
.line 107
nop
:pswitch_data_ee
.packed-switch 0x1
:pswitch_a1
.end packed-switch
.end method
.method public static overScrollBy(Lcom/handmark/pulltorefresh/library/PullToRefreshBase;IIIIIZ)V
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/handmark/pulltorefresh/library/PullToRefreshBase",
"<*>;IIIIIZ)V"
}
.end annotation
.prologue
.line 77
const/4 v6, 0x0
const/high16 v7, 0x3f800000 # 1.0f
move-object v0, p0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move v5, p5
move v8, p6
invoke-static/range {v0 .. v8}, Lcom/handmark/pulltorefresh/library/OverscrollHelper;->overScrollBy(Lcom/handmark/pulltorefresh/library/PullToRefreshBase;IIIIIIFZ)V
.line 78
return-void
.end method
.method public static overScrollBy(Lcom/handmark/pulltorefresh/library/PullToRefreshBase;IIIIZ)V
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/handmark/pulltorefresh/library/PullToRefreshBase",
"<*>;IIIIZ)V"
}
.end annotation
.prologue
.line 53
const/4 v5, 0x0
move-object v0, p0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move v6, p5
invoke-static/range {v0 .. v6}, Lcom/handmark/pulltorefresh/library/OverscrollHelper;->overScrollBy(Lcom/handmark/pulltorefresh/library/PullToRefreshBase;IIIIIZ)V
.line 54
return-void
.end method