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