MoreBaseGridView.smali

.class public Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;
.super Landroid/widget/GridView;
.source "MoreBaseGridView.java"


# instance fields
.field private mDownY:F

.field private mParent:Landroid/widget/ScrollView;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 2

    .prologue
    .line 19
    invoke-direct {p0, p1}, Landroid/widget/GridView;-><init>(Landroid/content/Context;)V

    .line 20
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 3

    .prologue
    .line 23
    invoke-direct {p0, p1, p2}, Landroid/widget/GridView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    .line 24
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 4

    .prologue
    .line 27
    invoke-direct {p0, p1, p2, p3}, Landroid/widget/GridView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 28
    return-void
.end method

.method private setParentScrollAble(Z)V
    .registers 4

    .prologue
    .line 67
    iget-object v1, p0, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->mParent:Landroid/widget/ScrollView;

    if-nez p1, :cond_9

    const/4 v0, 0x1

    :goto_5
    invoke-virtual {v1, v0}, Landroid/widget/ScrollView;->requestDisallowInterceptTouchEvent(Z)V

    .line 68
    return-void

    .line 67
    :cond_9
    const/4 v0, 0x0

    goto :goto_5
.end method


# virtual methods
.method public isListViewReachBottom()Z
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 83
    .line 84
    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getLastVisiblePosition()I

    move-result v1

    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getCount()I

    move-result v2

    add-int/lit8 v2, v2, -0x1

    if-ne v1, v2, :cond_27

    .line 85
    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getLastVisiblePosition()I

    move-result v1

    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getFirstVisiblePosition()I

    move-result v2

    sub-int/2addr v1, v2

    invoke-virtual {p0, v1}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    .line 86
    if-eqz v1, :cond_27

    .line 87
    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getHeight()I

    move-result v2

    invoke-virtual {v1}, Landroid/view/View;->getBottom()I

    move-result v1

    if-lt v2, v1, :cond_27

    const/4 v0, 0x1

    .line 90
    :cond_27
    return v0
.end method

.method public isListViewReachTop()Z
    .registers 3

    .prologue
    const/4 v0, 0x0

    .line 72
    .line 73
    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getFirstVisiblePosition()I

    move-result v1

    if-nez v1, :cond_14

    .line 74
    invoke-virtual {p0, v0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    .line 75
    if-eqz v1, :cond_14

    .line 76
    invoke-virtual {v1}, Landroid/view/View;->getTop()I

    move-result v1

    if-nez v1, :cond_14

    const/4 v0, 0x1

    .line 79
    :cond_14
    return v0
.end method

.method protected onMeasure(II)V
    .registers 5

    .prologue
    .line 32
    const v0, 0x1fffffff

    const/high16 v1, -0x80000000

    invoke-static {v0, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v0

    .line 34
    invoke-super {p0, p1, v0}, Landroid/widget/GridView;->onMeasure(II)V

    .line 35
    return-void
.end method

.method public onTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 6

    .prologue
    const/4 v3, 0x0

    const/4 v2, 0x1

    .line 39
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v0

    packed-switch v0, :pswitch_data_48

    .line 59
    :cond_9
    :goto_9
    invoke-super {p0, p1}, Landroid/widget/GridView;->onTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v0

    return v0

    .line 41
    :pswitch_e
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->setParentScrollAble(Z)V

    .line 42
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result v0

    iput v0, p0, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->mDownY:F

    goto :goto_9

    .line 45
    :pswitch_19
    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->isListViewReachTop()Z

    move-result v0

    if-eqz v0, :cond_2e

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result v0

    iget v1, p0, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->mDownY:F

    sub-float/2addr v0, v1

    cmpl-float v0, v0, v3

    if-lez v0, :cond_2e

    .line 46
    invoke-direct {p0, v2}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->setParentScrollAble(Z)V

    goto :goto_9

    .line 47
    :cond_2e
    invoke-virtual {p0}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->isListViewReachBottom()Z

    move-result v0

    if-eqz v0, :cond_9

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result v0

    iget v1, p0, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->mDownY:F

    sub-float/2addr v0, v1

    cmpg-float v0, v0, v3

    if-gez v0, :cond_9

    .line 48
    invoke-direct {p0, v2}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->setParentScrollAble(Z)V

    goto :goto_9

    .line 54
    :pswitch_43
    invoke-direct {p0, v2}, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->setParentScrollAble(Z)V

    goto :goto_9

    .line 39
    nop

    :pswitch_data_48
    .packed-switch 0x0
        :pswitch_e
        :pswitch_43
        :pswitch_19
        :pswitch_43
    .end packed-switch
.end method

.method public setParent(Landroid/widget/ScrollView;)V
    .registers 2

    .prologue
    .line 63
    iput-object p1, p0, Lcom/keniu/security/newmain/toolbox/view/custom/MoreBaseGridView;->mParent:Landroid/widget/ScrollView;

    .line 64
    return-void
.end method