MyScrollView.smali
.class public abstract Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;
.super Landroid/widget/HorizontalScrollView;
.source "MyScrollView.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView$a;
}
.end annotation
# instance fields
.field private a:I
.field private b:Landroid/view/ViewGroup;
.field private c:I
.field private d:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private e:Landroid/view/GestureDetector;
.field private f:I
.field private g:F
.field private h:F
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 5
.prologue
const/4 v2, 0x0
const/4 v1, 0x0
.line 37
invoke-direct {p0, p1}, Landroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;)V
.line 21
iput v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a:I
.line 22
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->b:Landroid/view/ViewGroup;
.line 23
iput v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->c:I
.line 24
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->d:Ljava/util/ArrayList;
.line 27
iput v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->f:I
.line 63
iput v2, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->g:F
.line 64
iput v2, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->h:F
.line 38
invoke-direct {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a()V
.line 39
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 6
.prologue
const/4 v2, 0x0
const/4 v1, 0x0
.line 31
invoke-direct {p0, p1, p2}, Landroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 21
iput v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a:I
.line 22
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->b:Landroid/view/ViewGroup;
.line 23
iput v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->c:I
.line 24
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->d:Ljava/util/ArrayList;
.line 27
iput v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->f:I
.line 63
iput v2, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->g:F
.line 64
iput v2, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->h:F
.line 32
new-instance v0, Landroid/view/GestureDetector;
new-instance v1, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView$a;
invoke-direct {v1, p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView$a;-><init>(Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;)V
invoke-direct {v0, p1, v1}, Landroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->e:Landroid/view/GestureDetector;
.line 33
invoke-direct {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a()V
.line 34
return-void
.end method
.method private a(I)I
.registers 3
.prologue
.line 88
if-nez p1, :cond_4
const/4 v0, 0x0
:goto_3
return v0
:cond_4
iget v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->f:I
goto :goto_3
.end method
.method private a()V
.registers 2
.prologue
.line 42
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->setHorizontalScrollBarEnabled(Z)V
.line 43
return-void
.end method
.method private b()Z
.registers 14
.prologue
const/4 v2, 0x1
const/high16 v12, 0x41100000 # 9.0f
const/high16 v11, 0x41000000 # 8.0f
const/4 v3, 0x0
.line 93
invoke-direct {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->c()Z
move-result v0
if-eqz v0, :cond_d
.line 140
:cond_c
:goto_c
return v3
.line 97
:cond_d
iget v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->h:F
iget v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->g:F
sub-float/2addr v0, v1
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_84
move v1, v2
.line 98
:goto_18
invoke-virtual {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->getScrollX()I
move-result v0
int-to-float v6, v0
.line 99
iget v5, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->c:I
.line 100
invoke-virtual {p0, v3}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->getChildAt(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
move v4, v3
.line 101
:goto_26
invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v7
if-ge v4, v7, :cond_a1
.line 102
invoke-virtual {v0, v4}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v7
.line 103
invoke-virtual {v7}, Landroid/view/View;->getLeft()I
move-result v8
invoke-direct {p0, v4}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a(I)I
move-result v9
sub-int/2addr v8, v9
.line 104
invoke-virtual {v7}, Landroid/view/View;->getRight()I
move-result v7
.line 105
sub-int v9, v7, v8
.line 106
int-to-float v10, v8
cmpl-float v10, v6, v10
if-ltz v10, :cond_9e
int-to-float v7, v7
cmpg-float v7, v6, v7
if-gtz v7, :cond_9e
.line 107
if-nez v1, :cond_8a
.line 108
int-to-float v0, v8
sub-float v0, v6, v0
int-to-float v1, v9
mul-float/2addr v1, v11
div-float/2addr v1, v12
add-float/2addr v0, v1
int-to-float v1, v9
cmpg-float v0, v0, v1
if-gez v0, :cond_86
move v0, v4
.line 127
:goto_58
if-gez v0, :cond_5b
move v0, v3
.line 131
:cond_5b
iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->d:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
if-lt v0, v1, :cond_6b
.line 132
iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->d:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
.line 135
:cond_6b
iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->d:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result v1
if-nez v1, :cond_c
.line 136
iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->d:Ljava/util/ArrayList;
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {p0, v0, v3}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->smoothScrollTo(II)V
move v3, v2
.line 137
goto :goto_c
:cond_84
move v1, v3
.line 97
goto :goto_18
.line 112
:cond_86
add-int/lit8 v4, v4, 0x1
move v0, v4
.line 113
goto :goto_58
.line 116
:cond_8a
int-to-float v0, v9
int-to-float v1, v8
sub-float v1, v6, v1
sub-float/2addr v0, v1
int-to-float v1, v9
mul-float/2addr v1, v11
div-float/2addr v1, v12
add-float/2addr v0, v1
int-to-float v1, v9
cmpg-float v0, v0, v1
if-gez v0, :cond_9c
.line 117
add-int/lit8 v4, v4, 0x1
move v0, v4
.line 118
goto :goto_58
:cond_9c
move v0, v4
.line 121
goto :goto_58
.line 101
:cond_9e
add-int/lit8 v4, v4, 0x1
goto :goto_26
:cond_a1
move v0, v5
goto :goto_58
.end method
.method private c()Z
.registers 6
.prologue
const/4 v1, 0x0
.line 175
invoke-virtual {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->getScrollX()I
move-result v2
.line 176
invoke-virtual {p0, v1}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->getChildAt(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
.line 177
if-eqz v0, :cond_2c
invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v3
iget v4, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a:I
if-ne v3, v4, :cond_2c
.line 178
iget v3, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->a:I
add-int/lit8 v3, v3, -0x1
invoke-virtual {v0, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v0
.line 179
if-eqz v0, :cond_2c
invoke-virtual {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->getWidth()I
move-result v3
add-int/2addr v2, v3
invoke-virtual {v0}, Landroid/view/View;->getRight()I
move-result v0
if-ne v2, v0, :cond_2c
.line 180
const/4 v0, 0x1
.line 183
:goto_2b
return v0
:cond_2c
move v0, v1
goto :goto_2b
.end method
# virtual methods
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 3
.prologue
.line 68
iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->e:Landroid/view/GestureDetector;
invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
.line 69
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
packed-switch v0, :pswitch_data_26
.line 84
:cond_c
:goto_c
:pswitch_c
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
:goto_10
return v0
.line 73
:pswitch_11
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
iput v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->g:F
goto :goto_c
.line 76
:pswitch_18
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
iput v0, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->h:F
.line 77
invoke-direct {p0}, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->b()Z
move-result v0
if-eqz v0, :cond_c
.line 78
const/4 v0, 0x1
goto :goto_10
.line 69
:pswitch_data_26
.packed-switch 0x0
:pswitch_11
:pswitch_18
:pswitch_c
.end packed-switch
.end method
.method public setItemMargin(I)V
.registers 2
.prologue
.line 46
iput p1, p0, Lcom/cleanmaster/pluginscommonlib/widget/MyScrollView;->f:I
.line 47
return-void
.end method