.class public Landroid/support/v4/widget/NestedScrollView; .super Landroid/widget/FrameLayout; .source "NestedScrollView.java" # interfaces .implements Landroid/support/v4/view/NestedScrollingParent; .implements Landroid/support/v4/view/NestedScrollingChild; .implements Landroid/support/v4/view/ScrollingView; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;, Landroid/support/v4/widget/NestedScrollView$SavedState;, Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener; } .end annotation # static fields .field private static final ACCESSIBILITY_DELEGATE:Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate; .field static final ANIMATED_SCROLL_GAP:I = 0xfa .field private static final INVALID_POINTER:I = -0x1 .field static final MAX_SCROLL_FACTOR:F = 0.5f .field private static final SCROLLVIEW_STYLEABLE:[I .field private static final TAG:Ljava/lang/String; = "NestedScrollView" # instance fields .field private mActivePointerId:I .field private final mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; .field private mChildToScrollTo:Landroid/view/View; .field private mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; .field private mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; .field private mFillViewport:Z .field private mIsBeingDragged:Z .field private mIsLaidOut:Z .field private mIsLayoutDirty:Z .field private mLastMotionY:I .field private mLastScroll:J .field private mMaximumVelocity:I .field private mMinimumVelocity:I .field private mNestedYOffset:I .field private mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener; .field private final mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper; .field private mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState; .field private final mScrollConsumed:[I .field private final mScrollOffset:[I .field private mScroller:Landroid/support/v4/widget/ScrollerCompat; .field private mSmoothScrollingEnabled:Z .field private final mTempRect:Landroid/graphics/Rect; .field private mTouchSlop:I .field private mVelocityTracker:Landroid/view/VelocityTracker; .field private mVerticalScrollFactor:F # direct methods .method static constructor ()V .locals 3 .prologue .line 167 new-instance v0, Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate; invoke-direct {v0}, Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;->()V sput-object v0, Landroid/support/v4/widget/NestedScrollView;->ACCESSIBILITY_DELEGATE:Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate; .line 169 const/4 v0, 0x1 new-array v0, v0, [I const/4 v1, 0x0 const v2, 0x101017a aput v2, v0, v1 sput-object v0, Landroid/support/v4/widget/NestedScrollView;->SCROLLVIEW_STYLEABLE:[I return-void .end method .method public constructor (Landroid/content/Context;)V .locals 1 .param p1, "context" # Landroid/content/Context; .prologue .line 181 const/4 v0, 0x0 invoke-direct {p0, p1, v0}, Landroid/support/v4/widget/NestedScrollView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 182 return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .param p1, "context" # Landroid/content/Context; .param p2, "attrs" # Landroid/util/AttributeSet; .prologue .line 185 const/4 v0, 0x0 invoke-direct {p0, p1, p2, v0}, Landroid/support/v4/widget/NestedScrollView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 186 return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 5 .param p1, "context" # Landroid/content/Context; .param p2, "attrs" # Landroid/util/AttributeSet; .param p3, "defStyleAttr" # I .prologue const/4 v4, 0x2 const/4 v3, 0x1 const/4 v2, 0x0 .line 189 invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 95 new-instance v1, Landroid/graphics/Rect; invoke-direct {v1}, Landroid/graphics/Rect;->()V iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; .line 109 iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z .line 110 iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z .line 117 const/4 v1, 0x0 iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View; .line 124 iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 140 iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z .line 150 const/4 v1, -0x1 iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 155 new-array v1, v4, [I iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I .line 156 new-array v1, v4, [I iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScrollConsumed:[I .line 190 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->initScrollView()V .line 192 sget-object v1, Landroid/support/v4/widget/NestedScrollView;->SCROLLVIEW_STYLEABLE:[I invoke-virtual {p1, p2, v1, p3, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v0 .line 195 .local v0, "a":Landroid/content/res/TypedArray; invoke-virtual {v0, v2, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v1 invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setFillViewport(Z)V .line 197 invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V .line 199 new-instance v1, Landroid/support/v4/view/NestedScrollingParentHelper; invoke-direct {v1, p0}, Landroid/support/v4/view/NestedScrollingParentHelper;->(Landroid/view/ViewGroup;)V iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper; .line 200 new-instance v1, Landroid/support/v4/view/NestedScrollingChildHelper; invoke-direct {v1, p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->(Landroid/view/View;)V iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; .line 203 invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->setNestedScrollingEnabled(Z)V .line 205 sget-object v1, Landroid/support/v4/widget/NestedScrollView;->ACCESSIBILITY_DELEGATE:Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate; invoke-static {p0, v1}, Landroid/support/v4/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroid/support/v4/view/AccessibilityDelegateCompat;)V .line 206 return-void .end method .method static synthetic access$000(Landroid/support/v4/widget/NestedScrollView;)I .locals 1 .param p0, "x0" # Landroid/support/v4/widget/NestedScrollView; .prologue .line 63 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v0 return v0 .end method .method private canScroll()Z .locals 6 .prologue const/4 v2, 0x0 .line 420 invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 .line 421 .local v0, "child":Landroid/view/View; if-eqz v0, :cond_0 .line 422 invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v1 .line 423 .local v1, "childHeight":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v4 add-int/2addr v4, v1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v5 add-int/2addr v4, v5 if-ge v3, v4, :cond_0 const/4 v2, 0x1 .line 425 .end local v1 # "childHeight":I :cond_0 return v2 .end method .method private static clamp(III)I .locals 1 .param p0, "n" # I .param p1, "my" # I .param p2, "child" # I .prologue .line 1793 if-ge p1, p2, :cond_0 if-gez p0, :cond_2 .line 1809 :cond_0 const/4 p0, 0x0 .line 1819 .end local p0 # "n":I :cond_1 :goto_0 return p0 .line 1811 .restart local p0 # "n":I :cond_2 add-int v0, p1, p0 if-le v0, p2, :cond_1 .line 1817 sub-int p0, p2, p1 goto :goto_0 .end method .method private doScrollY(I)V .locals 2 .param p1, "delta" # I .prologue const/4 v1, 0x0 .line 1286 if-eqz p1, :cond_0 .line 1287 iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z if-eqz v0, :cond_1 .line 1288 invoke-virtual {p0, v1, p1}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollBy(II)V .line 1293 :cond_0 :goto_0 return-void .line 1290 :cond_1 invoke-virtual {p0, v1, p1}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V goto :goto_0 .end method .method private endDrag()V .locals 1 .prologue .line 1717 const/4 v0, 0x0 iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 1719 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V .line 1720 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->stopNestedScroll()V .line 1722 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; if-eqz v0, :cond_0 .line 1723 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v0}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z .line 1724 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v0}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z .line 1726 :cond_0 return-void .end method .method private ensureGlows()V .locals 4 .prologue const/4 v3, 0x0 .line 1747 invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I move-result v1 const/4 v2, 0x2 if-eq v1, v2, :cond_1 .line 1748 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; if-nez v1, :cond_0 .line 1749 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context; move-result-object v0 .line 1750 .local v0, "context":Landroid/content/Context; new-instance v1, Landroid/support/v4/widget/EdgeEffectCompat; invoke-direct {v1, v0}, Landroid/support/v4/widget/EdgeEffectCompat;->(Landroid/content/Context;)V iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; .line 1751 new-instance v1, Landroid/support/v4/widget/EdgeEffectCompat; invoke-direct {v1, v0}, Landroid/support/v4/widget/EdgeEffectCompat;->(Landroid/content/Context;)V iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; .line 1757 .end local v0 # "context":Landroid/content/Context; :cond_0 :goto_0 return-void .line 1754 :cond_1 iput-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; .line 1755 iput-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; goto :goto_0 .end method .method private findFocusableViewInBounds(ZII)Landroid/view/View; .locals 11 .param p1, "topFocus" # Z .param p2, "top" # I .param p3, "bottom" # I .prologue .line 1032 const/4 v10, 0x2 invoke-virtual {p0, v10}, Landroid/support/v4/widget/NestedScrollView;->getFocusables(I)Ljava/util/ArrayList; move-result-object v2 .line 1033 .local v2, "focusables":Ljava/util/List;, "Ljava/util/List;" const/4 v1, 0x0 .line 1042 .local v1, "focusCandidate":Landroid/view/View; const/4 v3, 0x0 .line 1044 .local v3, "foundFullyContainedFocusable":Z invoke-interface {v2}, Ljava/util/List;->size()I move-result v0 .line 1045 .local v0, "count":I const/4 v4, 0x0 .local v4, "i":I :goto_0 if-ge v4, v0, :cond_8 .line 1046 invoke-interface {v2, v4}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroid/view/View; .line 1047 .local v5, "view":Landroid/view/View; invoke-virtual {v5}, Landroid/view/View;->getTop()I move-result v9 .line 1048 .local v9, "viewTop":I invoke-virtual {v5}, Landroid/view/View;->getBottom()I move-result v6 .line 1050 .local v6, "viewBottom":I if-ge p2, v6, :cond_0 if-ge v9, p3, :cond_0 .line 1056 if-ge p2, v9, :cond_1 if-ge v6, p3, :cond_1 const/4 v8, 0x1 .line 1059 .local v8, "viewIsFullyContained":Z :goto_1 if-nez v1, :cond_2 .line 1061 move-object v1, v5 .line 1062 move v3, v8 .line 1045 .end local v8 # "viewIsFullyContained":Z :cond_0 :goto_2 add-int/lit8 v4, v4, 0x1 goto :goto_0 .line 1056 :cond_1 const/4 v8, 0x0 goto :goto_1 .line 1064 .restart local v8 # "viewIsFullyContained":Z :cond_2 if-eqz p1, :cond_3 invoke-virtual {v1}, Landroid/view/View;->getTop()I move-result v10 if-lt v9, v10, :cond_4 :cond_3 if-nez p1, :cond_5 invoke-virtual {v1}, Landroid/view/View;->getBottom()I move-result v10 if-le v6, v10, :cond_5 :cond_4 const/4 v7, 0x1 .line 1069 .local v7, "viewIsCloserToBoundary":Z :goto_3 if-eqz v3, :cond_6 .line 1070 if-eqz v8, :cond_0 if-eqz v7, :cond_0 .line 1076 move-object v1, v5 goto :goto_2 .line 1064 .end local v7 # "viewIsCloserToBoundary":Z :cond_5 const/4 v7, 0x0 goto :goto_3 .line 1079 .restart local v7 # "viewIsCloserToBoundary":Z :cond_6 if-eqz v8, :cond_7 .line 1081 move-object v1, v5 .line 1082 const/4 v3, 0x1 goto :goto_2 .line 1083 :cond_7 if-eqz v7, :cond_0 .line 1088 move-object v1, v5 goto :goto_2 .line 1095 .end local v5 # "view":Landroid/view/View; .end local v6 # "viewBottom":I .end local v7 # "viewIsCloserToBoundary":Z .end local v8 # "viewIsFullyContained":Z .end local v9 # "viewTop":I :cond_8 return-object v1 .end method .method private flingWithNestedDispatch(I)V .locals 4 .param p1, "velocityY" # I .prologue const/4 v3, 0x0 .line 1705 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 .line 1706 .local v1, "scrollY":I if-gtz v1, :cond_0 if-lez p1, :cond_3 :cond_0 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v2 if-lt v1, v2, :cond_1 if-gez p1, :cond_3 :cond_1 const/4 v0, 0x1 .line 1708 .local v0, "canFling":Z :goto_0 int-to-float v2, p1 invoke-virtual {p0, v3, v2}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedPreFling(FF)Z move-result v2 if-nez v2, :cond_2 .line 1709 int-to-float v2, p1 invoke-virtual {p0, v3, v2, v0}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedFling(FFZ)Z .line 1710 if-eqz v0, :cond_2 .line 1711 invoke-virtual {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->fling(I)V .line 1714 :cond_2 return-void .line 1706 .end local v0 # "canFling":Z :cond_3 const/4 v0, 0x0 goto :goto_0 .end method .method private getScrollRange()I .locals 6 .prologue const/4 v5, 0x0 .line 1006 const/4 v1, 0x0 .line 1007 .local v1, "scrollRange":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v2 if-lez v2, :cond_0 .line 1008 invoke-virtual {p0, v5}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 .line 1009 .local v0, "child":Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v4 sub-int/2addr v3, v4 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v4 sub-int/2addr v3, v4 sub-int/2addr v2, v3 invoke-static {v5, v2}, Ljava/lang/Math;->max(II)I move-result v1 .line 1012 .end local v0 # "child":Landroid/view/View; :cond_0 return v1 .end method .method private getVerticalScrollFactorCompat()F .locals 5 .prologue .line 928 iget v2, p0, Landroid/support/v4/widget/NestedScrollView;->mVerticalScrollFactor:F const/4 v3, 0x0 cmpl-float v2, v2, v3 if-nez v2, :cond_1 .line 929 new-instance v1, Landroid/util/TypedValue; invoke-direct {v1}, Landroid/util/TypedValue;->()V .line 930 .local v1, "outValue":Landroid/util/TypedValue; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context; move-result-object v0 .line 931 .local v0, "context":Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme; move-result-object v2 const v3, 0x101004d const/4 v4, 0x1 invoke-virtual {v2, v3, v1, v4}, Landroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z move-result v2 if-nez v2, :cond_0 .line 933 new-instance v2, Ljava/lang/IllegalStateException; const-string v3, "Expected theme to define listPreferredItemHeight." invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v2 .line 936 :cond_0 invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v2 invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v2 invoke-virtual {v1, v2}, Landroid/util/TypedValue;->getDimension(Landroid/util/DisplayMetrics;)F move-result v2 iput v2, p0, Landroid/support/v4/widget/NestedScrollView;->mVerticalScrollFactor:F .line 939 .end local v0 # "context":Landroid/content/Context; .end local v1 # "outValue":Landroid/util/TypedValue; :cond_1 iget v2, p0, Landroid/support/v4/widget/NestedScrollView;->mVerticalScrollFactor:F return v2 .end method .method private inChild(II)Z .locals 4 .param p1, "x" # I .param p2, "y" # I .prologue const/4 v2, 0x0 .line 567 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v3 if-lez v3, :cond_0 .line 568 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 .line 569 .local v1, "scrollY":I invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 .line 570 .local v0, "child":Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getTop()I move-result v3 sub-int/2addr v3, v1 if-lt p2, v3, :cond_0 invoke-virtual {v0}, Landroid/view/View;->getBottom()I move-result v3 sub-int/2addr v3, v1 if-ge p2, v3, :cond_0 invoke-virtual {v0}, Landroid/view/View;->getLeft()I move-result v3 if-lt p1, v3, :cond_0 invoke-virtual {v0}, Landroid/view/View;->getRight()I move-result v3 if-ge p1, v3, :cond_0 const/4 v2, 0x1 .line 575 .end local v0 # "child":Landroid/view/View; .end local v1 # "scrollY":I :cond_0 return v2 .end method .method private initOrResetVelocityTracker()V .locals 1 .prologue .line 579 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v0, :cond_0 .line 580 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v0 iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 584 :goto_0 return-void .line 582 :cond_0 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V goto :goto_0 .end method .method private initScrollView()V .locals 3 .prologue .line 357 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context; move-result-object v1 const/4 v2, 0x0 invoke-static {v1, v2}, Landroid/support/v4/widget/ScrollerCompat;->create(Landroid/content/Context;Landroid/view/animation/Interpolator;)Landroid/support/v4/widget/ScrollerCompat; move-result-object v1 iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; .line 358 const/4 v1, 0x1 invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setFocusable(Z)V .line 359 const/high16 v1, 0x40000 invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setDescendantFocusability(I)V .line 360 const/4 v1, 0x0 invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setWillNotDraw(Z)V .line 361 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context; move-result-object v1 invoke-static {v1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v0 .line 362 .local v0, "configuration":Landroid/view/ViewConfiguration; invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v1 iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I .line 363 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result v1 iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mMinimumVelocity:I .line 364 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v1 iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mMaximumVelocity:I .line 365 return-void .end method .method private initVelocityTrackerIfNotExists()V .locals 1 .prologue .line 587 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v0, :cond_0 .line 588 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v0 iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 590 :cond_0 return-void .end method .method private isOffScreen(Landroid/view/View;)Z .locals 2 .param p1, "descendant" # Landroid/view/View; .prologue const/4 v0, 0x0 .line 1265 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v1 invoke-direct {p0, p1, v0, v1}, Landroid/support/v4/widget/NestedScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z move-result v1 if-nez v1, :cond_0 const/4 v0, 0x1 :cond_0 return v0 .end method .method private static isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z .locals 3 .param p0, "child" # Landroid/view/View; .param p1, "parent" # Landroid/view/View; .prologue const/4 v1, 0x1 .line 1677 if-ne p0, p1, :cond_1 .line 1682 :cond_0 :goto_0 return v1 .line 1681 :cond_1 invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 .line 1682 .local v0, "theParent":Landroid/view/ViewParent; instance-of v2, v0, Landroid/view/ViewGroup; if-eqz v2, :cond_2 check-cast v0, Landroid/view/View; .end local v0 # "theParent":Landroid/view/ViewParent; invoke-static {v0, p1}, Landroid/support/v4/widget/NestedScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z move-result v2 if-nez v2, :cond_0 :cond_2 const/4 v1, 0x0 goto :goto_0 .end method .method private isWithinDeltaOfScreen(Landroid/view/View;II)Z .locals 2 .param p1, "descendant" # Landroid/view/View; .param p2, "delta" # I .param p3, "height" # I .prologue .line 1273 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p1, v0}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V .line 1274 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p1, v0}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 1276 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->bottom:I add-int/2addr v0, p2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 if-lt v0, v1, :cond_0 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->top:I sub-int/2addr v0, p2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 add-int/2addr v1, p3 if-gt v0, v1, :cond_0 const/4 v0, 0x1 :goto_0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 .end method .method private onSecondaryPointerUp(Landroid/view/MotionEvent;)V .locals 5 .param p1, "ev" # Landroid/view/MotionEvent; .prologue .line 882 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v3 const v4, 0xff00 and-int/2addr v3, v4 shr-int/lit8 v2, v3, 0x8 .line 884 .local v2, "pointerIndex":I invoke-static {p1, v2}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v1 .line 885 .local v1, "pointerId":I iget v3, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I if-ne v1, v3, :cond_0 .line 889 if-nez v2, :cond_1 const/4 v0, 0x1 .line 890 .local v0, "newPointerIndex":I :goto_0 invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v3 float-to-int v3, v3 iput v3, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 891 invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v3 iput v3, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 892 iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v3, :cond_0 .line 893 iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v3}, Landroid/view/VelocityTracker;->clear()V .line 896 .end local v0 # "newPointerIndex":I :cond_0 return-void .line 889 :cond_1 const/4 v0, 0x0 goto :goto_0 .end method .method private recycleVelocityTracker()V .locals 1 .prologue .line 593 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v0, :cond_0 .line 594 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0}, Landroid/view/VelocityTracker;->recycle()V .line 595 const/4 v0, 0x0 iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 597 :cond_0 return-void .end method .method private scrollAndFocus(III)Z .locals 8 .param p1, "direction" # I .param p2, "top" # I .param p3, "bottom" # I .prologue .line 1178 const/4 v3, 0x1 .line 1180 .local v3, "handled":Z invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v4 .line 1181 .local v4, "height":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 .line 1182 .local v1, "containerTop":I add-int v0, v1, v4 .line 1183 .local v0, "containerBottom":I const/16 v7, 0x21 if-ne p1, v7, :cond_2 const/4 v6, 0x1 .line 1185 .local v6, "up":Z :goto_0 invoke-direct {p0, v6, p2, p3}, Landroid/support/v4/widget/NestedScrollView;->findFocusableViewInBounds(ZII)Landroid/view/View; move-result-object v5 .line 1186 .local v5, "newFocused":Landroid/view/View; if-nez v5, :cond_0 .line 1187 move-object v5, p0 .line 1190 :cond_0 if-lt p2, v1, :cond_3 if-gt p3, v0, :cond_3 .line 1191 const/4 v3, 0x0 .line 1197 :goto_1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View; move-result-object v7 if-eq v5, v7, :cond_1 invoke-virtual {v5, p1}, Landroid/view/View;->requestFocus(I)Z .line 1199 :cond_1 return v3 .line 1183 .end local v5 # "newFocused":Landroid/view/View; .end local v6 # "up":Z :cond_2 const/4 v6, 0x0 goto :goto_0 .line 1193 .restart local v5 # "newFocused":Landroid/view/View; .restart local v6 # "up":Z :cond_3 if-eqz v6, :cond_4 sub-int v2, p2, v1 .line 1194 .local v2, "delta":I :goto_2 invoke-direct {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V goto :goto_1 .line 1193 .end local v2 # "delta":I :cond_4 sub-int v2, p3, v0 goto :goto_2 .end method .method private scrollToChild(Landroid/view/View;)V .locals 2 .param p1, "child" # Landroid/view/View; .prologue .line 1454 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p1, v1}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V .line 1457 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p1, v1}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 1459 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I move-result v0 .line 1461 .local v0, "scrollDelta":I if-eqz v0, :cond_0 .line 1462 const/4 v1, 0x0 invoke-virtual {p0, v1, v0}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V .line 1464 :cond_0 return-void .end method .method private scrollToChildRect(Landroid/graphics/Rect;Z)Z .locals 3 .param p1, "rect" # Landroid/graphics/Rect; .param p2, "immediate" # Z .prologue const/4 v2, 0x0 .line 1475 invoke-virtual {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I move-result v0 .line 1476 .local v0, "delta":I if-eqz v0, :cond_1 const/4 v1, 0x1 .line 1477 .local v1, "scroll":Z :goto_0 if-eqz v1, :cond_0 .line 1478 if-eqz p2, :cond_2 .line 1479 invoke-virtual {p0, v2, v0}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V .line 1484 :cond_0 :goto_1 return v1 .end local v1 # "scroll":Z :cond_1 move v1, v2 .line 1476 goto :goto_0 .line 1481 .restart local v1 # "scroll":Z :cond_2 invoke-virtual {p0, v2, v0}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollBy(II)V goto :goto_1 .end method # virtual methods .method public addView(Landroid/view/View;)V .locals 2 .param p1, "child" # Landroid/view/View; .prologue .line 369 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 if-lez v0, :cond_0 .line 370 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "ScrollView can host only one direct child" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 373 :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;)V .line 374 return-void .end method .method public addView(Landroid/view/View;I)V .locals 2 .param p1, "child" # Landroid/view/View; .param p2, "index" # I .prologue .line 378 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 if-lez v0, :cond_0 .line 379 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "ScrollView can host only one direct child" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 382 :cond_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;I)V .line 383 return-void .end method .method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .locals 2 .param p1, "child" # Landroid/view/View; .param p2, "index" # I .param p3, "params" # Landroid/view/ViewGroup$LayoutParams; .prologue .line 396 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 if-lez v0, :cond_0 .line 397 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "ScrollView can host only one direct child" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 400 :cond_0 invoke-super {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .line 401 return-void .end method .method public addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .locals 2 .param p1, "child" # Landroid/view/View; .param p2, "params" # Landroid/view/ViewGroup$LayoutParams; .prologue .line 387 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 if-lez v0, :cond_0 .line 388 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "ScrollView can host only one direct child" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 391 :cond_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 392 return-void .end method .method public arrowScroll(I)Z .locals 11 .param p1, "direction" # I .prologue const/16 v10, 0x82 const/4 v7, 0x0 .line 1211 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View; move-result-object v0 .line 1212 .local v0, "currentFocused":Landroid/view/View; if-ne v0, p0, :cond_0 const/4 v0, 0x0 .line 1214 :cond_0 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v8 invoke-virtual {v8, p0, v0, p1}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v4 .line 1216 .local v4, "nextFocused":Landroid/view/View; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getMaxScrollAmount()I move-result v3 .line 1218 .local v3, "maxJump":I if-eqz v4, :cond_3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v8 invoke-direct {p0, v4, v3, v8}, Landroid/support/v4/widget/NestedScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z move-result v8 if-eqz v8, :cond_3 .line 1219 iget-object v7, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v4, v7}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V .line 1220 iget-object v7, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, v4, v7}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 1221 iget-object v7, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I move-result v6 .line 1222 .local v6, "scrollDelta":I invoke-direct {p0, v6}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V .line 1223 invoke-virtual {v4, p1}, Landroid/view/View;->requestFocus(I)Z .line 1245 :goto_0 if-eqz v0, :cond_1 invoke-virtual {v0}, Landroid/view/View;->isFocused()Z move-result v7 if-eqz v7, :cond_1 invoke-direct {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->isOffScreen(Landroid/view/View;)Z move-result v7 if-eqz v7, :cond_1 .line 1252 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getDescendantFocusability()I move-result v2 .line 1253 .local v2, "descendantFocusability":I const/high16 v7, 0x20000 invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->setDescendantFocusability(I)V .line 1254 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->requestFocus()Z .line 1255 invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->setDescendantFocusability(I)V .line 1257 .end local v2 # "descendantFocusability":I :cond_1 const/4 v7, 0x1 :cond_2 return v7 .line 1226 .end local v6 # "scrollDelta":I :cond_3 move v6, v3 .line 1228 .restart local v6 # "scrollDelta":I const/16 v8, 0x21 if-ne p1, v8, :cond_5 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v8 if-ge v8, v6, :cond_5 .line 1229 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v6 .line 1239 :cond_4 :goto_1 if-eqz v6, :cond_2 .line 1242 if-ne p1, v10, :cond_6 move v7, v6 :goto_2 invoke-direct {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V goto :goto_0 .line 1230 :cond_5 if-ne p1, v10, :cond_4 .line 1231 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v8 if-lez v8, :cond_4 .line 1232 invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v8 invoke-virtual {v8}, Landroid/view/View;->getBottom()I move-result v1 .line 1233 .local v1, "daBottom":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v8 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v9 add-int/2addr v8, v9 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v9 sub-int v5, v8, v9 .line 1234 .local v5, "screenBottom":I sub-int v8, v1, v5 if-ge v8, v3, :cond_4 .line 1235 sub-int v6, v1, v5 goto :goto_1 .line 1242 .end local v1 # "daBottom":I .end local v5 # "screenBottom":I :cond_6 neg-int v7, v6 goto :goto_2 .end method .method public computeHorizontalScrollExtent()I .locals 1 .prologue .line 1387 invoke-super {p0}, Landroid/widget/FrameLayout;->computeHorizontalScrollExtent()I move-result v0 return v0 .end method .method public computeHorizontalScrollOffset()I .locals 1 .prologue .line 1381 invoke-super {p0}, Landroid/widget/FrameLayout;->computeHorizontalScrollOffset()I move-result v0 return v0 .end method .method public computeHorizontalScrollRange()I .locals 1 .prologue .line 1375 invoke-super {p0}, Landroid/widget/FrameLayout;->computeHorizontalScrollRange()I move-result v0 return v0 .end method .method public computeScroll()V .locals 14 .prologue const/4 v10, 0x1 const/4 v5, 0x0 .line 1421 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->computeScrollOffset()Z move-result v0 if-eqz v0, :cond_2 .line 1422 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v3 .line 1423 .local v3, "oldX":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v4 .line 1424 .local v4, "oldY":I iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I move-result v12 .line 1425 .local v12, "x":I iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I move-result v13 .line 1427 .local v13, "y":I if-ne v3, v12, :cond_0 if-eq v4, v13, :cond_2 .line 1428 :cond_0 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v6 .line 1429 .local v6, "range":I invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I move-result v11 .line 1430 .local v11, "overscrollMode":I if-eqz v11, :cond_1 if-ne v11, v10, :cond_3 if-lez v6, :cond_3 .line 1433 .local v10, "canOverscroll":Z :cond_1 :goto_0 sub-int v1, v12, v3 sub-int v2, v13, v4 move-object v0, p0 move v7, v5 move v8, v5 move v9, v5 invoke-virtual/range {v0 .. v9}, Landroid/support/v4/widget/NestedScrollView;->overScrollByCompat(IIIIIIIIZ)Z .line 1436 if-eqz v10, :cond_2 .line 1437 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->ensureGlows()V .line 1438 if-gtz v13, :cond_4 if-lez v4, :cond_4 .line 1439 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->getCurrVelocity()F move-result v1 float-to-int v1, v1 invoke-virtual {v0, v1}, Landroid/support/v4/widget/EdgeEffectCompat;->onAbsorb(I)Z .line 1446 .end local v3 # "oldX":I .end local v4 # "oldY":I .end local v6 # "range":I .end local v10 # "canOverscroll":Z .end local v11 # "overscrollMode":I .end local v12 # "x":I .end local v13 # "y":I :cond_2 :goto_1 return-void .restart local v3 # "oldX":I .restart local v4 # "oldY":I .restart local v6 # "range":I .restart local v11 # "overscrollMode":I .restart local v12 # "x":I .restart local v13 # "y":I :cond_3 move v10, v5 .line 1430 goto :goto_0 .line 1440 .restart local v10 # "canOverscroll":Z :cond_4 if-lt v13, v6, :cond_2 if-ge v4, v6, :cond_2 .line 1441 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->getCurrVelocity()F move-result v1 float-to-int v1, v1 invoke-virtual {v0, v1}, Landroid/support/v4/widget/EdgeEffectCompat;->onAbsorb(I)Z goto :goto_1 .end method .method protected computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I .locals 10 .param p1, "rect" # Landroid/graphics/Rect; .prologue const/4 v7, 0x0 .line 1496 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v8 if-nez v8, :cond_1 move v6, v7 .line 1550 :cond_0 :goto_0 return v6 .line 1498 :cond_1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v3 .line 1499 .local v3, "height":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v5 .line 1500 .local v5, "screenTop":I add-int v4, v5, v3 .line 1502 .local v4, "screenBottom":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalFadingEdgeLength()I move-result v2 .line 1505 .local v2, "fadingEdge":I iget v8, p1, Landroid/graphics/Rect;->top:I if-lez v8, :cond_2 .line 1506 add-int/2addr v5, v2 .line 1510 :cond_2 iget v8, p1, Landroid/graphics/Rect;->bottom:I invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v9 invoke-virtual {v9}, Landroid/view/View;->getHeight()I move-result v9 if-ge v8, v9, :cond_3 .line 1511 sub-int/2addr v4, v2 .line 1514 :cond_3 const/4 v6, 0x0 .line 1516 .local v6, "scrollYDelta":I iget v8, p1, Landroid/graphics/Rect;->bottom:I if-le v8, v4, :cond_5 iget v8, p1, Landroid/graphics/Rect;->top:I if-le v8, v5, :cond_5 .line 1521 invoke-virtual {p1}, Landroid/graphics/Rect;->height()I move-result v8 if-le v8, v3, :cond_4 .line 1523 iget v8, p1, Landroid/graphics/Rect;->top:I sub-int/2addr v8, v5 add-int/2addr v6, v8 .line 1530 :goto_1 invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v7 invoke-virtual {v7}, Landroid/view/View;->getBottom()I move-result v0 .line 1531 .local v0, "bottom":I sub-int v1, v0, v4 .line 1532 .local v1, "distanceToBottom":I invoke-static {v6, v1}, Ljava/lang/Math;->min(II)I move-result v6 .line 1534 goto :goto_0 .line 1526 .end local v0 # "bottom":I .end local v1 # "distanceToBottom":I :cond_4 iget v8, p1, Landroid/graphics/Rect;->bottom:I sub-int/2addr v8, v4 add-int/2addr v6, v8 goto :goto_1 .line 1534 :cond_5 iget v7, p1, Landroid/graphics/Rect;->top:I if-ge v7, v5, :cond_0 iget v7, p1, Landroid/graphics/Rect;->bottom:I if-ge v7, v4, :cond_0 .line 1539 invoke-virtual {p1}, Landroid/graphics/Rect;->height()I move-result v7 if-le v7, v3, :cond_6 .line 1541 iget v7, p1, Landroid/graphics/Rect;->bottom:I sub-int v7, v4, v7 sub-int/2addr v6, v7 .line 1548 :goto_2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v7 neg-int v7, v7 invoke-static {v6, v7}, Ljava/lang/Math;->max(II)I move-result v6 goto :goto_0 .line 1544 :cond_6 iget v7, p1, Landroid/graphics/Rect;->top:I sub-int v7, v5, v7 sub-int/2addr v6, v7 goto :goto_2 .end method .method public computeVerticalScrollExtent()I .locals 1 .prologue .line 1369 invoke-super {p0}, Landroid/widget/FrameLayout;->computeVerticalScrollExtent()I move-result v0 return v0 .end method .method public computeVerticalScrollOffset()I .locals 2 .prologue .line 1363 const/4 v0, 0x0 invoke-super {p0}, Landroid/widget/FrameLayout;->computeVerticalScrollOffset()I move-result v1 invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I move-result v0 return v0 .end method .method public computeVerticalScrollRange()I .locals 8 .prologue const/4 v7, 0x0 .line 1342 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v1 .line 1343 .local v1, "count":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v5 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v6 sub-int/2addr v5, v6 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v6 sub-int v0, v5, v6 .line 1344 .local v0, "contentHeight":I if-nez v1, :cond_0 .line 1357 .end local v0 # "contentHeight":I :goto_0 return v0 .line 1348 .restart local v0 # "contentHeight":I :cond_0 invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v5 invoke-virtual {v5}, Landroid/view/View;->getBottom()I move-result v3 .line 1349 .local v3, "scrollRange":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v4 .line 1350 .local v4, "scrollY":I sub-int v5, v3, v0 invoke-static {v7, v5}, Ljava/lang/Math;->max(II)I move-result v2 .line 1351 .local v2, "overscrollBottom":I if-gez v4, :cond_2 .line 1352 sub-int/2addr v3, v4 :cond_1 :goto_1 move v0, v3 .line 1357 goto :goto_0 .line 1353 :cond_2 if-le v4, v2, :cond_1 .line 1354 sub-int v5, v4, v2 add-int/2addr v3, v5 goto :goto_1 .end method .method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z .locals 1 .param p1, "event" # Landroid/view/KeyEvent; .prologue .line 513 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z move-result v0 if-nez v0, :cond_0 invoke-virtual {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->executeKeyEvent(Landroid/view/KeyEvent;)Z move-result v0 if-eqz v0, :cond_1 :cond_0 const/4 v0, 0x1 :goto_0 return v0 :cond_1 const/4 v0, 0x0 goto :goto_0 .end method .method public dispatchNestedFling(FFZ)Z .locals 1 .param p1, "velocityX" # F .param p2, "velocityY" # F .param p3, "consumed" # Z .prologue .line 249 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0, p1, p2, p3}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z move-result v0 return v0 .end method .method public dispatchNestedPreFling(FF)Z .locals 1 .param p1, "velocityX" # F .param p2, "velocityY" # F .prologue .line 254 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0, p1, p2}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z move-result v0 return v0 .end method .method public dispatchNestedPreScroll(II[I[I)Z .locals 1 .param p1, "dx" # I .param p2, "dy" # I .param p3, "consumed" # [I .param p4, "offsetInWindow" # [I .prologue .line 244 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0, p1, p2, p3, p4}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z move-result v0 return v0 .end method .method public dispatchNestedScroll(IIII[I)Z .locals 6 .param p1, "dxConsumed" # I .param p2, "dyConsumed" # I .param p3, "dxUnconsumed" # I .param p4, "dyUnconsumed" # I .param p5, "offsetInWindow" # [I .prologue .line 238 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 invoke-virtual/range {v0 .. v5}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z move-result v0 return v0 .end method .method public draw(Landroid/graphics/Canvas;)V .locals 7 .param p1, "canvas" # Landroid/graphics/Canvas; .prologue .line 1761 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->draw(Landroid/graphics/Canvas;)V .line 1762 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; if-eqz v4, :cond_3 .line 1763 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v2 .line 1764 .local v2, "scrollY":I iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v4}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z move-result v4 if-nez v4, :cond_1 .line 1765 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v1 .line 1766 .local v1, "restoreCount":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I move-result v4 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v5 sub-int/2addr v4, v5 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I move-result v5 sub-int v3, v4, v5 .line 1768 .local v3, "width":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v4 int-to-float v4, v4 const/4 v5, 0x0 invoke-static {v5, v2}, Ljava/lang/Math;->min(II)I move-result v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V .line 1769 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v5 invoke-virtual {v4, v3, v5}, Landroid/support/v4/widget/EdgeEffectCompat;->setSize(II)V .line 1770 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v4, p1}, Landroid/support/v4/widget/EdgeEffectCompat;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_0 .line 1771 invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V .line 1773 :cond_0 invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V .line 1775 .end local v1 # "restoreCount":I .end local v3 # "width":I :cond_1 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v4}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z move-result v4 if-nez v4, :cond_3 .line 1776 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v1 .line 1777 .restart local v1 # "restoreCount":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I move-result v4 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v5 sub-int/2addr v4, v5 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I move-result v5 sub-int v3, v4, v5 .line 1778 .restart local v3 # "width":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v0 .line 1780 .local v0, "height":I neg-int v4, v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v5 add-int/2addr v4, v5 int-to-float v4, v4 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v5 invoke-static {v5, v2}, Ljava/lang/Math;->max(II)I move-result v5 add-int/2addr v5, v0 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V .line 1782 const/high16 v4, 0x43340000 # 180.0f int-to-float v5, v3 const/4 v6, 0x0 invoke-virtual {p1, v4, v5, v6}, Landroid/graphics/Canvas;->rotate(FFF)V .line 1783 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v4, v3, v0}, Landroid/support/v4/widget/EdgeEffectCompat;->setSize(II)V .line 1784 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v4, p1}, Landroid/support/v4/widget/EdgeEffectCompat;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_2 .line 1785 invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V .line 1787 :cond_2 invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V .line 1790 .end local v0 # "height":I .end local v1 # "restoreCount":I .end local v2 # "scrollY":I .end local v3 # "width":I :cond_3 return-void .end method .method public executeKeyEvent(Landroid/view/KeyEvent;)Z .locals 7 .param p1, "event" # Landroid/view/KeyEvent; .prologue const/4 v3, 0x0 const/16 v4, 0x21 const/16 v5, 0x82 .line 525 iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v6}, Landroid/graphics/Rect;->setEmpty()V .line 527 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->canScroll()Z move-result v6 if-nez v6, :cond_2 .line 528 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->isFocused()Z move-result v4 if-eqz v4, :cond_1 invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I move-result v4 const/4 v6, 0x4 if-eq v4, v6, :cond_1 .line 529 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View; move-result-object v0 .line 530 .local v0, "currentFocused":Landroid/view/View; if-ne v0, p0, :cond_0 const/4 v0, 0x0 .line 531 :cond_0 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v4 invoke-virtual {v4, p0, v0, v5}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v2 .line 533 .local v2, "nextFocused":Landroid/view/View; if-eqz v2, :cond_1 if-eq v2, p0, :cond_1 invoke-virtual {v2, v5}, Landroid/view/View;->requestFocus(I)Z move-result v4 if-eqz v4, :cond_1 const/4 v3, 0x1 .line 563 .end local v0 # "currentFocused":Landroid/view/View; .end local v2 # "nextFocused":Landroid/view/View; :cond_1 :goto_0 return v3 .line 540 :cond_2 const/4 v1, 0x0 .line 541 .local v1, "handled":Z invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v3 if-nez v3, :cond_3 .line 542 invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I move-result v3 sparse-switch v3, :sswitch_data_0 :cond_3 :goto_1 move v3, v1 .line 563 goto :goto_0 .line 544 :sswitch_0 invoke-virtual {p1}, Landroid/view/KeyEvent;->isAltPressed()Z move-result v3 if-nez v3, :cond_4 .line 545 invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->arrowScroll(I)Z move-result v1 goto :goto_1 .line 547 :cond_4 invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->fullScroll(I)Z move-result v1 .line 549 goto :goto_1 .line 551 :sswitch_1 invoke-virtual {p1}, Landroid/view/KeyEvent;->isAltPressed()Z move-result v3 if-nez v3, :cond_5 .line 552 invoke-virtual {p0, v5}, Landroid/support/v4/widget/NestedScrollView;->arrowScroll(I)Z move-result v1 goto :goto_1 .line 554 :cond_5 invoke-virtual {p0, v5}, Landroid/support/v4/widget/NestedScrollView;->fullScroll(I)Z move-result v1 .line 556 goto :goto_1 .line 558 :sswitch_2 invoke-virtual {p1}, Landroid/view/KeyEvent;->isShiftPressed()Z move-result v3 if-eqz v3, :cond_6 move v3, v4 :goto_2 invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->pageScroll(I)Z goto :goto_1 :cond_6 move v3, v5 goto :goto_2 .line 542 nop :sswitch_data_0 .sparse-switch 0x13 -> :sswitch_0 0x14 -> :sswitch_1 0x3e -> :sswitch_2 .end sparse-switch .end method .method public fling(I)V .locals 13 .param p1, "velocityY" # I .prologue const/4 v3, 0x0 .line 1693 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 if-lez v0, :cond_0 .line 1694 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v1 sub-int/2addr v0, v1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v1 sub-int v12, v0, v1 .line 1695 .local v12, "height":I invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v11 .line 1697 .local v11, "bottom":I iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v2 sub-int v4, v11, v12 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v8 div-int/lit8 v10, v12, 0x2 move v4, p1 move v5, v3 move v6, v3 move v7, v3 move v9, v3 invoke-virtual/range {v0 .. v10}, Landroid/support/v4/widget/ScrollerCompat;->fling(IIIIIIIIII)V .line 1700 invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V .line 1702 .end local v11 # "bottom":I .end local v12 # "height":I :cond_0 return-void .end method .method public fullScroll(I)Z .locals 7 .param p1, "direction" # I .prologue const/4 v4, 0x0 .line 1147 const/16 v5, 0x82 if-ne p1, v5, :cond_1 const/4 v1, 0x1 .line 1148 .local v1, "down":Z :goto_0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v2 .line 1150 .local v2, "height":I iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iput v4, v5, Landroid/graphics/Rect;->top:I .line 1151 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iput v2, v4, Landroid/graphics/Rect;->bottom:I .line 1153 if-eqz v1, :cond_0 .line 1154 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 .line 1155 .local v0, "count":I if-lez v0, :cond_0 .line 1156 add-int/lit8 v4, v0, -0x1 invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v3 .line 1157 .local v3, "view":Landroid/view/View; iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v3}, Landroid/view/View;->getBottom()I move-result v5 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v6 add-int/2addr v5, v6 iput v5, v4, Landroid/graphics/Rect;->bottom:I .line 1158 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v5, v5, Landroid/graphics/Rect;->bottom:I sub-int/2addr v5, v2 iput v5, v4, Landroid/graphics/Rect;->top:I .line 1162 .end local v0 # "count":I .end local v3 # "view":Landroid/view/View; :cond_0 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v5, v5, Landroid/graphics/Rect;->bottom:I invoke-direct {p0, p1, v4, v5}, Landroid/support/v4/widget/NestedScrollView;->scrollAndFocus(III)Z move-result v4 return v4 .end local v1 # "down":Z .end local v2 # "height":I :cond_1 move v1, v4 .line 1147 goto :goto_0 .end method .method protected getBottomFadingEdgeStrength()F .locals 5 .prologue .line 334 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v3 if-nez v3, :cond_0 .line 335 const/4 v3, 0x0 .line 345 :goto_0 return v3 .line 338 :cond_0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalFadingEdgeLength()I move-result v1 .line 339 .local v1, "length":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v4 sub-int v0, v3, v4 .line 340 .local v0, "bottomEdge":I const/4 v3, 0x0 invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-virtual {v3}, Landroid/view/View;->getBottom()I move-result v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v4 sub-int/2addr v3, v4 sub-int v2, v3, v0 .line 341 .local v2, "span":I if-ge v2, v1, :cond_1 .line 342 int-to-float v3, v2 int-to-float v4, v1 div-float/2addr v3, v4 goto :goto_0 .line 345 :cond_1 const/high16 v3, 0x3f800000 # 1.0f goto :goto_0 .end method .method public getMaxScrollAmount()I .locals 2 .prologue .line 353 const/high16 v0, 0x3f000000 # 0.5f invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v1 int-to-float v1, v1 mul-float/2addr v0, v1 float-to-int v0, v0 return v0 .end method .method public getNestedScrollAxes()I .locals 1 .prologue .line 308 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper; invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingParentHelper;->getNestedScrollAxes()I move-result v0 return v0 .end method .method protected getTopFadingEdgeStrength()F .locals 4 .prologue .line 319 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v2 if-nez v2, :cond_0 .line 320 const/4 v2, 0x0 .line 329 :goto_0 return v2 .line 323 :cond_0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalFadingEdgeLength()I move-result v0 .line 324 .local v0, "length":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 .line 325 .local v1, "scrollY":I if-ge v1, v0, :cond_1 .line 326 int-to-float v2, v1 int-to-float v3, v0 div-float/2addr v2, v3 goto :goto_0 .line 329 :cond_1 const/high16 v2, 0x3f800000 # 1.0f goto :goto_0 .end method .method public hasNestedScrollingParent()Z .locals 1 .prologue .line 232 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z move-result v0 return v0 .end method .method public isFillViewport()Z .locals 1 .prologue .line 436 iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z return v0 .end method .method public isNestedScrollingEnabled()Z .locals 1 .prologue .line 217 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z move-result v0 return v0 .end method .method public isSmoothScrollingEnabled()Z .locals 1 .prologue .line 459 iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z return v0 .end method .method protected measureChild(Landroid/view/View;II)V .locals 6 .param p1, "child" # Landroid/view/View; .param p2, "parentWidthMeasureSpec" # I .param p3, "parentHeightMeasureSpec" # I .prologue const/4 v5, 0x0 .line 1392 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v2 .line 1397 .local v2, "lp":Landroid/view/ViewGroup$LayoutParams; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I move-result v4 add-int/2addr v3, v4 iget v4, v2, Landroid/view/ViewGroup$LayoutParams;->width:I invoke-static {p2, v3, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildMeasureSpec(III)I move-result v1 .line 1400 .local v1, "childWidthMeasureSpec":I invoke-static {v5, v5}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v0 .line 1402 .local v0, "childHeightMeasureSpec":I invoke-virtual {p1, v1, v0}, Landroid/view/View;->measure(II)V .line 1403 return-void .end method .method protected measureChildWithMargins(Landroid/view/View;IIII)V .locals 5 .param p1, "child" # Landroid/view/View; .param p2, "parentWidthMeasureSpec" # I .param p3, "widthUsed" # I .param p4, "parentHeightMeasureSpec" # I .param p5, "heightUsed" # I .prologue .line 1408 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v2 check-cast v2, Landroid/view/ViewGroup$MarginLayoutParams; .line 1410 .local v2, "lp":Landroid/view/ViewGroup$MarginLayoutParams; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I move-result v4 add-int/2addr v3, v4 iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I add-int/2addr v3, v4 iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I add-int/2addr v3, v4 add-int/2addr v3, p3 iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->width:I invoke-static {p2, v3, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildMeasureSpec(III)I move-result v1 .line 1413 .local v1, "childWidthMeasureSpec":I iget v3, v2, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I add-int/2addr v3, v4 const/4 v4, 0x0 invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v0 .line 1416 .local v0, "childHeightMeasureSpec":I invoke-virtual {p1, v1, v0}, Landroid/view/View;->measure(II)V .line 1417 return-void .end method .method public onAttachedToWindow()V .locals 1 .prologue .line 1651 const/4 v0, 0x0 iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z .line 1652 return-void .end method .method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z .locals 6 .param p1, "event" # Landroid/view/MotionEvent; .prologue .line 899 invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getSource(Landroid/view/MotionEvent;)I move-result v5 and-int/lit8 v5, v5, 0x2 if-eqz v5, :cond_0 .line 900 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v5 packed-switch v5, :pswitch_data_0 .line 924 :cond_0 const/4 v5, 0x0 :goto_0 return v5 .line 902 :pswitch_0 iget-boolean v5, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-nez v5, :cond_0 .line 903 const/16 v5, 0x9 invoke-static {p1, v5}, Landroid/support/v4/view/MotionEventCompat;->getAxisValue(Landroid/view/MotionEvent;I)F move-result v4 .line 905 .local v4, "vscroll":F const/4 v5, 0x0 cmpl-float v5, v4, v5 if-eqz v5, :cond_0 .line 906 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalScrollFactorCompat()F move-result v5 mul-float/2addr v5, v4 float-to-int v0, v5 .line 907 .local v0, "delta":I invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v3 .line 908 .local v3, "range":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v2 .line 909 .local v2, "oldScrollY":I sub-int v1, v2, v0 .line 910 .local v1, "newScrollY":I if-gez v1, :cond_2 .line 911 const/4 v1, 0x0 .line 915 :cond_1 :goto_1 if-eq v1, v2, :cond_0 .line 916 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v5 invoke-super {p0, v5, v1}, Landroid/widget/FrameLayout;->scrollTo(II)V .line 917 const/4 v5, 0x1 goto :goto_0 .line 912 :cond_2 if-le v1, v3, :cond_1 .line 913 move v1, v3 goto :goto_1 .line 900 :pswitch_data_0 .packed-switch 0x8 :pswitch_0 .end packed-switch .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 13 .param p1, "ev" # Landroid/view/MotionEvent; .prologue const/4 v4, 0x2 const/4 v2, -0x1 const/4 v0, 0x1 const/4 v3, 0x0 .line 621 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v7 .line 622 .local v7, "action":I if-ne v7, v4, :cond_0 iget-boolean v1, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-eqz v1, :cond_0 .line 716 :goto_0 return v0 .line 626 :cond_0 and-int/lit16 v1, v7, 0xff packed-switch v1, :pswitch_data_0 .line 716 :cond_1 :goto_1 :pswitch_0 iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z goto :goto_0 .line 637 :pswitch_1 iget v8, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 638 .local v8, "activePointerId":I if-eq v8, v2, :cond_1 .line 643 invoke-static {p1, v8}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I move-result v10 .line 644 .local v10, "pointerIndex":I if-ne v10, v2, :cond_2 .line 645 const-string v0, "NestedScrollView" new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Invalid pointerId=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " in onInterceptTouchEvent" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I goto :goto_1 .line 650 :cond_2 invoke-static {p1, v10}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v1 float-to-int v11, v1 .line 651 .local v11, "y":I iget v1, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I sub-int v1, v11, v1 invoke-static {v1}, Ljava/lang/Math;->abs(I)I move-result v12 .line 652 .local v12, "yDiff":I iget v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I if-le v12, v1, :cond_1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getNestedScrollAxes()I move-result v1 and-int/lit8 v1, v1, 0x2 if-nez v1, :cond_1 .line 654 iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 655 iput v11, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 656 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->initVelocityTrackerIfNotExists()V .line 657 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v1, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 658 iput v3, p0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I .line 659 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getParent()Landroid/view/ViewParent; move-result-object v9 .line 660 .local v9, "parent":Landroid/view/ViewParent; if-eqz v9, :cond_1 .line 661 invoke-interface {v9, v0}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V goto :goto_1 .line 668 .end local v8 # "activePointerId":I .end local v9 # "parent":Landroid/view/ViewParent; .end local v10 # "pointerIndex":I .end local v11 # "y":I .end local v12 # "yDiff":I :pswitch_2 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v1 float-to-int v11, v1 .line 669 .restart local v11 # "y":I invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v1 float-to-int v1, v1 invoke-direct {p0, v1, v11}, Landroid/support/v4/widget/NestedScrollView;->inChild(II)Z move-result v1 if-nez v1, :cond_3 .line 670 iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 671 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V goto :goto_1 .line 679 :cond_3 iput v11, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 680 invoke-static {p1, v3}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v1 iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 682 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->initOrResetVelocityTracker()V .line 683 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v1, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 690 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->computeScrollOffset()Z .line 691 iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z move-result v1 if-nez v1, :cond_4 move v3, v0 :cond_4 iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 692 invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->startNestedScroll(I)Z goto/16 :goto_1 .line 699 .end local v11 # "y":I :pswitch_3 iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 700 iput v2, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 701 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V .line 702 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v2 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v6 move v4, v3 move v5, v3 invoke-virtual/range {v0 .. v6}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z move-result v0 if-eqz v0, :cond_5 .line 703 invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V .line 705 :cond_5 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->stopNestedScroll()V goto/16 :goto_1 .line 708 :pswitch_4 invoke-direct {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_1 .line 626 :pswitch_data_0 .packed-switch 0x0 :pswitch_2 :pswitch_3 :pswitch_1 :pswitch_3 :pswitch_0 :pswitch_0 :pswitch_4 .end packed-switch .end method .method protected onLayout(ZIIII)V .locals 6 .param p1, "changed" # Z .param p2, "l" # I .param p3, "t" # I .param p4, "r" # I .param p5, "b" # I .prologue const/4 v5, 0x0 const/4 v2, 0x0 .line 1618 invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V .line 1619 iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z .line 1621 iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View; if-eqz v3, :cond_0 iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View; invoke-static {v3, p0}, Landroid/support/v4/widget/NestedScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z move-result v3 if-eqz v3, :cond_0 .line 1622 iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View; invoke-direct {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->scrollToChild(Landroid/view/View;)V .line 1624 :cond_0 iput-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View; .line 1626 iget-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z if-nez v3, :cond_2 .line 1627 iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState; if-eqz v3, :cond_1 .line 1628 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v3 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState; iget v4, v4, Landroid/support/v4/widget/NestedScrollView$SavedState;->scrollPosition:I invoke-virtual {p0, v3, v4}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V .line 1629 iput-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState; .line 1632 :cond_1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v3 if-lez v3, :cond_3 invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-virtual {v3}, Landroid/view/View;->getMeasuredHeight()I move-result v0 .line 1633 .local v0, "childHeight":I :goto_0 sub-int v3, p5, p3 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v4 sub-int/2addr v3, v4 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v4 sub-int/2addr v3, v4 sub-int v3, v0, v3 invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I move-result v1 .line 1637 .local v1, "scrollRange":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v3 if-le v3, v1, :cond_4 .line 1638 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v2 invoke-virtual {p0, v2, v1}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V .line 1645 .end local v0 # "childHeight":I .end local v1 # "scrollRange":I :cond_2 :goto_1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v3 invoke-virtual {p0, v2, v3}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V .line 1646 const/4 v2, 0x1 iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z .line 1647 return-void :cond_3 move v0, v2 .line 1632 goto :goto_0 .line 1639 .restart local v0 # "childHeight":I .restart local v1 # "scrollRange":I :cond_4 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v3 if-gez v3, :cond_2 .line 1640 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v3 invoke-virtual {p0, v3, v2}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V goto :goto_1 .end method .method protected onMeasure(II)V .locals 8 .param p1, "widthMeasureSpec" # I .param p2, "heightMeasureSpec" # I .prologue .line 481 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onMeasure(II)V .line 483 iget-boolean v6, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z if-nez v6, :cond_1 .line 508 :cond_0 :goto_0 return-void .line 487 :cond_1 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v4 .line 488 .local v4, "heightMode":I if-eqz v4, :cond_0 .line 492 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v6 if-lez v6, :cond_0 .line 493 const/4 v6, 0x0 invoke-virtual {p0, v6}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 .line 494 .local v0, "child":Landroid/view/View; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getMeasuredHeight()I move-result v3 .line 495 .local v3, "height":I invoke-virtual {v0}, Landroid/view/View;->getMeasuredHeight()I move-result v6 if-ge v6, v3, :cond_0 .line 496 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v5 check-cast v5, Landroid/widget/FrameLayout$LayoutParams; .line 498 .local v5, "lp":Landroid/widget/FrameLayout$LayoutParams; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v6 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I move-result v7 add-int/2addr v6, v7 iget v7, v5, Landroid/widget/FrameLayout$LayoutParams;->width:I invoke-static {p1, v6, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildMeasureSpec(III)I move-result v2 .line 500 .local v2, "childWidthMeasureSpec":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v6 sub-int/2addr v3, v6 .line 501 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v6 sub-int/2addr v3, v6 .line 502 const/high16 v6, 0x40000000 # 2.0f invoke-static {v3, v6}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v1 .line 505 .local v1, "childHeightMeasureSpec":I invoke-virtual {v0, v2, v1}, Landroid/view/View;->measure(II)V goto :goto_0 .end method .method public onNestedFling(Landroid/view/View;FFZ)Z .locals 1 .param p1, "target" # Landroid/view/View; .param p2, "velocityX" # F .param p3, "velocityY" # F .param p4, "consumed" # Z .prologue .line 293 if-nez p4, :cond_0 .line 294 float-to-int v0, p3 invoke-direct {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->flingWithNestedDispatch(I)V .line 295 const/4 v0, 0x1 .line 297 :goto_0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 .end method .method public onNestedPreFling(Landroid/view/View;FF)Z .locals 1 .param p1, "target" # Landroid/view/View; .param p2, "velocityX" # F .param p3, "velocityY" # F .prologue .line 303 const/4 v0, 0x0 return v0 .end method .method public onNestedPreScroll(Landroid/view/View;II[I)V .locals 0 .param p1, "target" # Landroid/view/View; .param p2, "dx" # I .param p3, "dy" # I .param p4, "consumed" # [I .prologue .line 289 return-void .end method .method public onNestedScroll(Landroid/view/View;IIII)V .locals 7 .param p1, "target" # Landroid/view/View; .param p2, "dxConsumed" # I .param p3, "dyConsumed" # I .param p4, "dxUnconsumed" # I .param p5, "dyUnconsumed" # I .prologue const/4 v1, 0x0 .line 279 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v6 .line 280 .local v6, "oldScrollY":I invoke-virtual {p0, v1, p5}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V .line 281 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v0 sub-int v2, v0, v6 .line 282 .local v2, "myConsumed":I sub-int v4, p5, v2 .line 283 .local v4, "myUnconsumed":I const/4 v5, 0x0 move-object v0, p0 move v3, v1 invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedScroll(IIII[I)Z .line 284 return-void .end method .method public onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;I)V .locals 1 .param p1, "child" # Landroid/view/View; .param p2, "target" # Landroid/view/View; .param p3, "nestedScrollAxes" # I .prologue .line 266 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper; invoke-virtual {v0, p1, p2, p3}, Landroid/support/v4/view/NestedScrollingParentHelper;->onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;I)V .line 267 const/4 v0, 0x2 invoke-virtual {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->startNestedScroll(I)Z .line 268 return-void .end method .method protected onOverScrolled(IIZZ)V .locals 0 .param p1, "scrollX" # I .param p2, "scrollY" # I .param p3, "clampedX" # Z .param p4, "clampedY" # Z .prologue .line 944 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->scrollTo(II)V .line 945 return-void .end method .method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z .locals 4 .param p1, "direction" # I .param p2, "previouslyFocusedRect" # Landroid/graphics/Rect; .prologue const/4 v1, 0x0 .line 1578 const/4 v2, 0x2 if-ne p1, v2, :cond_2 .line 1579 const/16 p1, 0x82 .line 1584 :cond_0 :goto_0 if-nez p2, :cond_3 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v2 const/4 v3, 0x0 invoke-virtual {v2, p0, v3, p1}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v0 .line 1589 .local v0, "nextFocus":Landroid/view/View; :goto_1 if-nez v0, :cond_4 .line 1597 :cond_1 :goto_2 return v1 .line 1580 .end local v0 # "nextFocus":Landroid/view/View; :cond_2 const/4 v2, 0x1 if-ne p1, v2, :cond_0 .line 1581 const/16 p1, 0x21 goto :goto_0 .line 1584 :cond_3 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v2 invoke-virtual {v2, p0, p2, p1}, Landroid/view/FocusFinder;->findNextFocusFromRect(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View; move-result-object v0 goto :goto_1 .line 1593 .restart local v0 # "nextFocus":Landroid/view/View; :cond_4 invoke-direct {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->isOffScreen(Landroid/view/View;)Z move-result v2 if-nez v2, :cond_1 .line 1597 invoke-virtual {v0, p1, p2}, Landroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z move-result v1 goto :goto_2 .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 2 .param p1, "state" # Landroid/os/Parcelable; .prologue .line 1824 move-object v0, p1 check-cast v0, Landroid/support/v4/widget/NestedScrollView$SavedState; .line 1825 .local v0, "ss":Landroid/support/v4/widget/NestedScrollView$SavedState; invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView$SavedState;->getSuperState()Landroid/os/Parcelable; move-result-object v1 invoke-super {p0, v1}, Landroid/widget/FrameLayout;->onRestoreInstanceState(Landroid/os/Parcelable;)V .line 1826 iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState; .line 1827 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->requestLayout()V .line 1828 return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 3 .prologue .line 1832 invoke-super {p0}, Landroid/widget/FrameLayout;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v1 .line 1833 .local v1, "superState":Landroid/os/Parcelable; new-instance v0, Landroid/support/v4/widget/NestedScrollView$SavedState; invoke-direct {v0, v1}, Landroid/support/v4/widget/NestedScrollView$SavedState;->(Landroid/os/Parcelable;)V .line 1834 .local v0, "ss":Landroid/support/v4/widget/NestedScrollView$SavedState; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v2 iput v2, v0, Landroid/support/v4/widget/NestedScrollView$SavedState;->scrollPosition:I .line 1835 return-object v0 .end method .method protected onScrollChanged(IIII)V .locals 6 .param p1, "l" # I .param p2, "t" # I .param p3, "oldl" # I .param p4, "oldt" # I .prologue .line 472 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->onScrollChanged(IIII)V .line 474 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener; if-eqz v0, :cond_0 .line 475 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener; move-object v1, p0 move v2, p1 move v3, p2 move v4, p3 move v5, p4 invoke-interface/range {v0 .. v5}, Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;->onScrollChange(Landroid/support/v4/widget/NestedScrollView;IIII)V .line 477 :cond_0 return-void .end method .method protected onSizeChanged(IIII)V .locals 3 .param p1, "w" # I .param p2, "h" # I .param p3, "oldw" # I .param p4, "oldh" # I .prologue .line 1656 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->onSizeChanged(IIII)V .line 1658 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View; move-result-object v0 .line 1659 .local v0, "currentFocused":Landroid/view/View; if-eqz v0, :cond_0 if-ne p0, v0, :cond_1 .line 1671 :cond_0 :goto_0 return-void .line 1665 :cond_1 const/4 v2, 0x0 invoke-direct {p0, v0, v2, p4}, Landroid/support/v4/widget/NestedScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z move-result v2 if-eqz v2, :cond_0 .line 1666 iget-object v2, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v0, v2}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V .line 1667 iget-object v2, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, v0, v2}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 1668 iget-object v2, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I move-result v1 .line 1669 .local v1, "scrollDelta":I invoke-direct {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V goto :goto_0 .end method .method public onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z .locals 1 .param p1, "child" # Landroid/view/View; .param p2, "target" # Landroid/view/View; .param p3, "nestedScrollAxes" # I .prologue .line 261 and-int/lit8 v0, p3, 0x2 if-eqz v0, :cond_0 const/4 v0, 0x1 :goto_0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 .end method .method public onStopNestedScroll(Landroid/view/View;)V .locals 1 .param p1, "target" # Landroid/view/View; .prologue .line 272 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper; invoke-virtual {v0, p1}, Landroid/support/v4/view/NestedScrollingParentHelper;->onStopNestedScroll(Landroid/view/View;)V .line 273 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->stopNestedScroll()V .line 274 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 33 .param p1, "ev" # Landroid/view/MotionEvent; .prologue .line 721 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->initVelocityTrackerIfNotExists()V .line 723 invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object v31 .line 725 .local v31, "vtev":Landroid/view/MotionEvent; invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I move-result v21 .line 727 .local v21, "actionMasked":I if-nez v21, :cond_0 .line 728 const/4 v2, 0x0 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I .line 730 :cond_0 const/4 v2, 0x0 move-object/from16 v0, p0 iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I int-to-float v3, v3 move-object/from16 v0, v31 invoke-virtual {v0, v2, v3}, Landroid/view/MotionEvent;->offsetLocation(FF)V .line 732 packed-switch v21, :pswitch_data_0 .line 874 :cond_1 :goto_0 :pswitch_0 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v2, :cond_2 .line 875 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; move-object/from16 v0, v31 invoke-virtual {v2, v0}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 877 :cond_2 invoke-virtual/range {v31 .. v31}, Landroid/view/MotionEvent;->recycle()V .line 878 const/4 v2, 0x1 :goto_1 return v2 .line 734 :pswitch_1 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v2 if-nez v2, :cond_3 .line 735 const/4 v2, 0x0 goto :goto_1 .line 737 :cond_3 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v2}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z move-result v2 if-nez v2, :cond_6 const/4 v2, 0x1 :goto_2 move-object/from16 v0, p0 iput-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-eqz v2, :cond_4 .line 738 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getParent()Landroid/view/ViewParent; move-result-object v28 .line 739 .local v28, "parent":Landroid/view/ViewParent; if-eqz v28, :cond_4 .line 740 const/4 v2, 0x1 move-object/from16 v0, v28 invoke-interface {v0, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 748 .end local v28 # "parent":Landroid/view/ViewParent; :cond_4 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v2}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z move-result v2 if-nez v2, :cond_5 .line 749 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v2}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V .line 753 :cond_5 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F move-result v2 float-to-int v2, v2 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 754 const/4 v2, 0x0 move-object/from16 v0, p1 invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v2 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 755 const/4 v2, 0x2 move-object/from16 v0, p0 invoke-virtual {v0, v2}, Landroid/support/v4/widget/NestedScrollView;->startNestedScroll(I)Z goto :goto_0 .line 737 :cond_6 const/4 v2, 0x0 goto :goto_2 .line 759 :pswitch_2 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I move-object/from16 v0, p1 invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I move-result v22 .line 761 .local v22, "activePointerIndex":I const/4 v2, -0x1 move/from16 v0, v22 if-ne v0, v2, :cond_7 .line 762 const-string v2, "NestedScrollView" new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v5, "Invalid pointerId=" invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 move-object/from16 v0, p0 iget v5, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v3 const-string v5, " in onTouchEvent" invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I goto/16 :goto_0 .line 766 :cond_7 move-object/from16 v0, p1 move/from16 v1, v22 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v2 float-to-int v0, v2 move/from16 v32, v0 .line 767 .local v32, "y":I move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I sub-int v4, v2, v32 .line 768 .local v4, "deltaY":I const/4 v2, 0x0 move-object/from16 v0, p0 iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollConsumed:[I move-object/from16 v0, p0 iget-object v5, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I move-object/from16 v0, p0 invoke-virtual {v0, v2, v4, v3, v5}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedPreScroll(II[I[I)Z move-result v2 if-eqz v2, :cond_8 .line 769 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollConsumed:[I const/4 v3, 0x1 aget v2, v2, v3 sub-int/2addr v4, v2 .line 770 const/4 v2, 0x0 move-object/from16 v0, p0 iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I const/4 v5, 0x1 aget v3, v3, v5 int-to-float v3, v3 move-object/from16 v0, v31 invoke-virtual {v0, v2, v3}, Landroid/view/MotionEvent;->offsetLocation(FF)V .line 771 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I move-object/from16 v0, p0 iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I const/4 v5, 0x1 aget v3, v3, v5 add-int/2addr v2, v3 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I .line 773 :cond_8 move-object/from16 v0, p0 iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-nez v2, :cond_a invoke-static {v4}, Ljava/lang/Math;->abs(I)I move-result v2 move-object/from16 v0, p0 iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I if-le v2, v3, :cond_a .line 774 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getParent()Landroid/view/ViewParent; move-result-object v28 .line 775 .restart local v28 # "parent":Landroid/view/ViewParent; if-eqz v28, :cond_9 .line 776 const/4 v2, 0x1 move-object/from16 v0, v28 invoke-interface {v0, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 778 :cond_9 const/4 v2, 0x1 move-object/from16 v0, p0 iput-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z .line 779 if-lez v4, :cond_d .line 780 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I sub-int/2addr v4, v2 .line 785 .end local v28 # "parent":Landroid/view/ViewParent; :cond_a :goto_3 move-object/from16 v0, p0 iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-eqz v2, :cond_1 .line 787 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I const/4 v3, 0x1 aget v2, v2, v3 sub-int v2, v32, v2 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 789 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v26 .line 790 .local v26, "oldY":I invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v8 .line 791 .local v8, "range":I invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I move-result v27 .line 792 .local v27, "overscrollMode":I if-eqz v27, :cond_b const/4 v2, 0x1 move/from16 v0, v27 if-ne v0, v2, :cond_e if-lez v8, :cond_e :cond_b const/16 v23, 0x1 .line 798 .local v23, "canOverscroll":Z :goto_4 const/4 v3, 0x0 const/4 v5, 0x0 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v6 const/4 v7, 0x0 const/4 v9, 0x0 const/4 v10, 0x0 const/4 v11, 0x1 move-object/from16 v2, p0 invoke-virtual/range {v2 .. v11}, Landroid/support/v4/widget/NestedScrollView;->overScrollByCompat(IIIIIIIIZ)Z move-result v2 if-eqz v2, :cond_c invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->hasNestedScrollingParent()Z move-result v2 if-nez v2, :cond_c .line 801 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v2}, Landroid/view/VelocityTracker;->clear()V .line 804 :cond_c invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v2 sub-int v11, v2, v26 .line 805 .local v11, "scrolledDeltaY":I sub-int v13, v4, v11 .line 806 .local v13, "unconsumedY":I const/4 v10, 0x0 const/4 v12, 0x0 move-object/from16 v0, p0 iget-object v14, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I move-object/from16 v9, p0 invoke-virtual/range {v9 .. v14}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedScroll(IIII[I)Z move-result v2 if-eqz v2, :cond_f .line 807 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I move-object/from16 v0, p0 iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I const/4 v5, 0x1 aget v3, v3, v5 sub-int/2addr v2, v3 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 808 const/4 v2, 0x0 move-object/from16 v0, p0 iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I const/4 v5, 0x1 aget v3, v3, v5 int-to-float v3, v3 move-object/from16 v0, v31 invoke-virtual {v0, v2, v3}, Landroid/view/MotionEvent;->offsetLocation(FF)V .line 809 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I move-object/from16 v0, p0 iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I const/4 v5, 0x1 aget v3, v3, v5 add-int/2addr v2, v3 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I goto/16 :goto_0 .line 782 .end local v8 # "range":I .end local v11 # "scrolledDeltaY":I .end local v13 # "unconsumedY":I .end local v23 # "canOverscroll":Z .end local v26 # "oldY":I .end local v27 # "overscrollMode":I .restart local v28 # "parent":Landroid/view/ViewParent; :cond_d move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I add-int/2addr v4, v2 goto/16 :goto_3 .line 792 .end local v28 # "parent":Landroid/view/ViewParent; .restart local v8 # "range":I .restart local v26 # "oldY":I .restart local v27 # "overscrollMode":I :cond_e const/16 v23, 0x0 goto :goto_4 .line 810 .restart local v11 # "scrolledDeltaY":I .restart local v13 # "unconsumedY":I .restart local v23 # "canOverscroll":Z :cond_f if-eqz v23, :cond_1 .line 811 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->ensureGlows()V .line 812 add-int v29, v26, v4 .line 813 .local v29, "pulledToY":I if-gez v29, :cond_12 .line 814 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; int-to-float v3, v4 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr v3, v5 move-object/from16 v0, p1 move/from16 v1, v22 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v5 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I move-result v6 int-to-float v6, v6 div-float/2addr v5, v6 invoke-virtual {v2, v3, v5}, Landroid/support/v4/widget/EdgeEffectCompat;->onPull(FF)Z .line 816 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z move-result v2 if-nez v2, :cond_10 .line 817 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z .line 827 :cond_10 :goto_5 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; if-eqz v2, :cond_1 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z move-result v2 if-eqz v2, :cond_11 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z move-result v2 if-nez v2, :cond_1 .line 829 :cond_11 invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V goto/16 :goto_0 .line 819 :cond_12 move/from16 v0, v29 if-le v0, v8, :cond_10 .line 820 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat; int-to-float v3, v4 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr v3, v5 const/high16 v5, 0x3f800000 # 1.0f move-object/from16 v0, p1 move/from16 v1, v22 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v6 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I move-result v7 int-to-float v7, v7 div-float/2addr v6, v7 sub-float/2addr v5, v6 invoke-virtual {v2, v3, v5}, Landroid/support/v4/widget/EdgeEffectCompat;->onPull(FF)Z .line 823 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z move-result v2 if-nez v2, :cond_10 .line 824 move-object/from16 v0, p0 iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat; invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z goto :goto_5 .line 835 .end local v4 # "deltaY":I .end local v8 # "range":I .end local v11 # "scrolledDeltaY":I .end local v13 # "unconsumedY":I .end local v22 # "activePointerIndex":I .end local v23 # "canOverscroll":Z .end local v26 # "oldY":I .end local v27 # "overscrollMode":I .end local v29 # "pulledToY":I .end local v32 # "y":I :pswitch_3 move-object/from16 v0, p0 iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-eqz v2, :cond_13 .line 836 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker; move-object/from16 v30, v0 .line 837 .local v30, "velocityTracker":Landroid/view/VelocityTracker; const/16 v2, 0x3e8 move-object/from16 v0, p0 iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mMaximumVelocity:I int-to-float v3, v3 move-object/from16 v0, v30 invoke-virtual {v0, v2, v3}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V .line 838 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I move-object/from16 v0, v30 invoke-static {v0, v2}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F move-result v2 float-to-int v0, v2 move/from16 v25, v0 .line 841 .local v25, "initialVelocity":I invoke-static/range {v25 .. v25}, Ljava/lang/Math;->abs(I)I move-result v2 move-object/from16 v0, p0 iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mMinimumVelocity:I if-le v2, v3, :cond_14 .line 842 move/from16 v0, v25 neg-int v2, v0 move-object/from16 v0, p0 invoke-direct {v0, v2}, Landroid/support/v4/widget/NestedScrollView;->flingWithNestedDispatch(I)V .line 848 .end local v25 # "initialVelocity":I .end local v30 # "velocityTracker":Landroid/view/VelocityTracker; :cond_13 :goto_6 const/4 v2, -0x1 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 849 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->endDrag()V goto/16 :goto_0 .line 843 .restart local v25 # "initialVelocity":I .restart local v30 # "velocityTracker":Landroid/view/VelocityTracker; :cond_14 move-object/from16 v0, p0 iget-object v14, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v15 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v16 const/16 v17, 0x0 const/16 v18, 0x0 const/16 v19, 0x0 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v20 invoke-virtual/range {v14 .. v20}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z move-result v2 if-eqz v2, :cond_13 .line 845 invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V goto :goto_6 .line 852 .end local v25 # "initialVelocity":I .end local v30 # "velocityTracker":Landroid/view/VelocityTracker; :pswitch_4 move-object/from16 v0, p0 iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z if-eqz v2, :cond_15 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v2 if-lez v2, :cond_15 .line 853 move-object/from16 v0, p0 iget-object v14, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v15 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v16 const/16 v17, 0x0 const/16 v18, 0x0 const/16 v19, 0x0 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v20 invoke-virtual/range {v14 .. v20}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z move-result v2 if-eqz v2, :cond_15 .line 855 invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V .line 858 :cond_15 const/4 v2, -0x1 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I .line 859 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->endDrag()V goto/16 :goto_0 .line 862 :pswitch_5 invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionIndex(Landroid/view/MotionEvent;)I move-result v24 .line 863 .local v24, "index":I move-object/from16 v0, p1 move/from16 v1, v24 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v2 float-to-int v2, v2 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I .line 864 move-object/from16 v0, p1 move/from16 v1, v24 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v2 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I goto/16 :goto_0 .line 868 .end local v24 # "index":I :pswitch_6 invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/NestedScrollView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V .line 869 move-object/from16 v0, p0 iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I move-object/from16 v0, p1 invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I move-result v2 move-object/from16 v0, p1 invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v2 float-to-int v2, v2 move-object/from16 v0, p0 iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I goto/16 :goto_0 .line 732 :pswitch_data_0 .packed-switch 0x0 :pswitch_1 :pswitch_3 :pswitch_2 :pswitch_4 :pswitch_0 :pswitch_5 :pswitch_6 .end packed-switch .end method .method overScrollByCompat(IIIIIIIIZ)Z .locals 19 .param p1, "deltaX" # I .param p2, "deltaY" # I .param p3, "scrollX" # I .param p4, "scrollY" # I .param p5, "scrollRangeX" # I .param p6, "scrollRangeY" # I .param p7, "maxOverScrollX" # I .param p8, "maxOverScrollY" # I .param p9, "isTouchEvent" # Z .prologue .line 952 invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I move-result v15 .line 953 .local v15, "overScrollMode":I invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeHorizontalScrollRange()I move-result v1 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeHorizontalScrollExtent()I move-result v4 if-le v1, v4, :cond_8 const/4 v9, 0x1 .line 955 .local v9, "canScrollHorizontal":Z :goto_0 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeVerticalScrollRange()I move-result v1 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeVerticalScrollExtent()I move-result v4 if-le v1, v4, :cond_9 const/4 v10, 0x1 .line 957 .local v10, "canScrollVertical":Z :goto_1 if-eqz v15, :cond_0 const/4 v1, 0x1 if-ne v15, v1, :cond_a if-eqz v9, :cond_a :cond_0 const/4 v14, 0x1 .line 959 .local v14, "overScrollHorizontal":Z :goto_2 if-eqz v15, :cond_1 const/4 v1, 0x1 if-ne v15, v1, :cond_b if-eqz v10, :cond_b :cond_1 const/16 v16, 0x1 .line 962 .local v16, "overScrollVertical":Z :goto_3 add-int v2, p3, p1 .line 963 .local v2, "newScrollX":I if-nez v14, :cond_2 .line 964 const/16 p7, 0x0 .line 967 :cond_2 add-int v3, p4, p2 .line 968 .local v3, "newScrollY":I if-nez v16, :cond_3 .line 969 const/16 p8, 0x0 .line 973 :cond_3 move/from16 v0, p7 neg-int v13, v0 .line 974 .local v13, "left":I add-int v17, p7, p5 .line 975 .local v17, "right":I move/from16 v0, p8 neg-int v0, v0 move/from16 v18, v0 .line 976 .local v18, "top":I add-int v8, p8, p6 .line 978 .local v8, "bottom":I const/4 v11, 0x0 .line 979 .local v11, "clampedX":Z move/from16 v0, v17 if-le v2, v0, :cond_c .line 980 move/from16 v2, v17 .line 981 const/4 v11, 0x1 .line 987 :cond_4 :goto_4 const/4 v12, 0x0 .line 988 .local v12, "clampedY":Z if-le v3, v8, :cond_d .line 989 move v3, v8 .line 990 const/4 v12, 0x1 .line 996 :cond_5 :goto_5 if-eqz v12, :cond_6 .line 997 move-object/from16 v0, p0 iget-object v1, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I move-result v7 invoke-virtual/range {v1 .. v7}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z .line 1000 :cond_6 move-object/from16 v0, p0 invoke-virtual {v0, v2, v3, v11, v12}, Landroid/support/v4/widget/NestedScrollView;->onOverScrolled(IIZZ)V .line 1002 if-nez v11, :cond_7 if-eqz v12, :cond_e :cond_7 const/4 v1, 0x1 :goto_6 return v1 .line 953 .end local v2 # "newScrollX":I .end local v3 # "newScrollY":I .end local v8 # "bottom":I .end local v9 # "canScrollHorizontal":Z .end local v10 # "canScrollVertical":Z .end local v11 # "clampedX":Z .end local v12 # "clampedY":Z .end local v13 # "left":I .end local v14 # "overScrollHorizontal":Z .end local v16 # "overScrollVertical":Z .end local v17 # "right":I .end local v18 # "top":I :cond_8 const/4 v9, 0x0 goto :goto_0 .line 955 .restart local v9 # "canScrollHorizontal":Z :cond_9 const/4 v10, 0x0 goto :goto_1 .line 957 .restart local v10 # "canScrollVertical":Z :cond_a const/4 v14, 0x0 goto :goto_2 .line 959 .restart local v14 # "overScrollHorizontal":Z :cond_b const/16 v16, 0x0 goto :goto_3 .line 982 .restart local v2 # "newScrollX":I .restart local v3 # "newScrollY":I .restart local v8 # "bottom":I .restart local v11 # "clampedX":Z .restart local v13 # "left":I .restart local v16 # "overScrollVertical":Z .restart local v17 # "right":I .restart local v18 # "top":I :cond_c if-ge v2, v13, :cond_4 .line 983 move v2, v13 .line 984 const/4 v11, 0x1 goto :goto_4 .line 991 .restart local v12 # "clampedY":Z :cond_d move/from16 v0, v18 if-ge v3, v0, :cond_5 .line 992 move/from16 v3, v18 .line 993 const/4 v12, 0x1 goto :goto_5 .line 1002 :cond_e const/4 v1, 0x0 goto :goto_6 .end method .method public pageScroll(I)Z .locals 7 .param p1, "direction" # I .prologue const/4 v4, 0x0 .line 1111 const/16 v5, 0x82 if-ne p1, v5, :cond_1 const/4 v1, 0x1 .line 1112 .local v1, "down":Z :goto_0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v2 .line 1114 .local v2, "height":I if-eqz v1, :cond_2 .line 1115 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v5 add-int/2addr v5, v2 iput v5, v4, Landroid/graphics/Rect;->top:I .line 1116 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v0 .line 1117 .local v0, "count":I if-lez v0, :cond_0 .line 1118 add-int/lit8 v4, v0, -0x1 invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v3 .line 1119 .local v3, "view":Landroid/view/View; iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I add-int/2addr v4, v2 invoke-virtual {v3}, Landroid/view/View;->getBottom()I move-result v5 if-le v4, v5, :cond_0 .line 1120 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v3}, Landroid/view/View;->getBottom()I move-result v5 sub-int/2addr v5, v2 iput v5, v4, Landroid/graphics/Rect;->top:I .line 1129 .end local v0 # "count":I .end local v3 # "view":Landroid/view/View; :cond_0 :goto_1 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v5, v5, Landroid/graphics/Rect;->top:I add-int/2addr v5, v2 iput v5, v4, Landroid/graphics/Rect;->bottom:I .line 1131 iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v5, v5, Landroid/graphics/Rect;->bottom:I invoke-direct {p0, p1, v4, v5}, Landroid/support/v4/widget/NestedScrollView;->scrollAndFocus(III)Z move-result v4 return v4 .end local v1 # "down":Z .end local v2 # "height":I :cond_1 move v1, v4 .line 1111 goto :goto_0 .line 1124 .restart local v1 # "down":Z .restart local v2 # "height":I :cond_2 iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v6 sub-int/2addr v6, v2 iput v6, v5, Landroid/graphics/Rect;->top:I .line 1125 iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iget v5, v5, Landroid/graphics/Rect;->top:I if-gez v5, :cond_0 .line 1126 iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect; iput v4, v5, Landroid/graphics/Rect;->top:I goto :goto_1 .end method .method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V .locals 1 .param p1, "child" # Landroid/view/View; .param p2, "focused" # Landroid/view/View; .prologue .line 1555 iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z if-nez v0, :cond_0 .line 1556 invoke-direct {p0, p2}, Landroid/support/v4/widget/NestedScrollView;->scrollToChild(Landroid/view/View;)V .line 1561 :goto_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V .line 1562 return-void .line 1559 :cond_0 iput-object p2, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View; goto :goto_0 .end method .method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z .locals 3 .param p1, "child" # Landroid/view/View; .param p2, "rectangle" # Landroid/graphics/Rect; .param p3, "immediate" # Z .prologue .line 1604 invoke-virtual {p1}, Landroid/view/View;->getLeft()I move-result v0 invoke-virtual {p1}, Landroid/view/View;->getScrollX()I move-result v1 sub-int/2addr v0, v1 invoke-virtual {p1}, Landroid/view/View;->getTop()I move-result v1 invoke-virtual {p1}, Landroid/view/View;->getScrollY()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p2, v0, v1}, Landroid/graphics/Rect;->offset(II)V .line 1607 invoke-direct {p0, p2, p3}, Landroid/support/v4/widget/NestedScrollView;->scrollToChildRect(Landroid/graphics/Rect;Z)Z move-result v0 return v0 .end method .method public requestDisallowInterceptTouchEvent(Z)V .locals 0 .param p1, "disallowIntercept" # Z .prologue .line 601 if-eqz p1, :cond_0 .line 602 invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V .line 604 :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->requestDisallowInterceptTouchEvent(Z)V .line 605 return-void .end method .method public requestLayout()V .locals 1 .prologue .line 1612 const/4 v0, 0x1 iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z .line 1613 invoke-super {p0}, Landroid/widget/FrameLayout;->requestLayout()V .line 1614 return-void .end method .method public scrollTo(II)V .locals 3 .param p1, "x" # I .param p2, "y" # I .prologue .line 1736 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v1 if-lez v1, :cond_1 .line 1737 const/4 v1, 0x0 invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v0 .line 1738 .local v0, "child":Landroid/view/View; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I move-result v1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {v0}, Landroid/view/View;->getWidth()I move-result v2 invoke-static {p1, v1, v2}, Landroid/support/v4/widget/NestedScrollView;->clamp(III)I move-result p1 .line 1739 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v1 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v2 invoke-static {p2, v1, v2}, Landroid/support/v4/widget/NestedScrollView;->clamp(III)I move-result p2 .line 1740 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v1 if-ne p1, v1, :cond_0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 if-eq p2, v1, :cond_1 .line 1741 :cond_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->scrollTo(II)V .line 1744 .end local v0 # "child":Landroid/view/View; :cond_1 return-void .end method .method public setFillViewport(Z)V .locals 1 .param p1, "fillViewport" # Z .prologue .line 449 iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z if-eq p1, v0, :cond_0 .line 450 iput-boolean p1, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z .line 451 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->requestLayout()V .line 453 :cond_0 return-void .end method .method public setNestedScrollingEnabled(Z)V .locals 1 .param p1, "enabled" # Z .prologue .line 212 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0, p1}, Landroid/support/v4/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V .line 213 return-void .end method .method public setOnScrollChangeListener(Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;)V .locals 0 .param p1, "l" # Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener; .prologue .line 413 iput-object p1, p0, Landroid/support/v4/widget/NestedScrollView;->mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener; .line 414 return-void .end method .method public setSmoothScrollingEnabled(Z)V .locals 0 .param p1, "smoothScrollingEnabled" # Z .prologue .line 467 iput-boolean p1, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z .line 468 return-void .end method .method public shouldDelayChildPressedState()Z .locals 1 .prologue .line 314 const/4 v0, 0x1 return v0 .end method .method public final smoothScrollBy(II)V .locals 11 .param p1, "dx" # I .param p2, "dy" # I .prologue const/4 v10, 0x0 .line 1302 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I move-result v6 if-nez v6, :cond_0 .line 1323 :goto_0 return-void .line 1306 :cond_0 invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v6 iget-wide v8, p0, Landroid/support/v4/widget/NestedScrollView;->mLastScroll:J sub-long v1, v6, v8 .line 1307 .local v1, "duration":J const-wide/16 v6, 0xfa cmp-long v6, v1, v6 if-lez v6, :cond_1 .line 1308 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I move-result v6 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I move-result v7 sub-int/2addr v6, v7 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I move-result v7 sub-int v3, v6, v7 .line 1309 .local v3, "height":I invoke-virtual {p0, v10}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View; move-result-object v6 invoke-virtual {v6}, Landroid/view/View;->getHeight()I move-result v0 .line 1310 .local v0, "bottom":I sub-int v6, v0, v3 invoke-static {v10, v6}, Ljava/lang/Math;->max(II)I move-result v4 .line 1311 .local v4, "maxY":I invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v5 .line 1312 .local v5, "scrollY":I add-int v6, v5, p2 invoke-static {v6, v4}, Ljava/lang/Math;->min(II)I move-result v6 invoke-static {v10, v6}, Ljava/lang/Math;->max(II)I move-result v6 sub-int p2, v6, v5 .line 1314 iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v7 invoke-virtual {v6, v7, v5, v10, p2}, Landroid/support/v4/widget/ScrollerCompat;->startScroll(IIII)V .line 1315 invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V .line 1322 .end local v0 # "bottom":I .end local v3 # "height":I .end local v4 # "maxY":I .end local v5 # "scrollY":I :goto_1 invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v6 iput-wide v6, p0, Landroid/support/v4/widget/NestedScrollView;->mLastScroll:J goto :goto_0 .line 1317 :cond_1 iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v6}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z move-result v6 if-nez v6, :cond_2 .line 1318 iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v6}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V .line 1320 :cond_2 invoke-virtual {p0, p1, p2}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V goto :goto_1 .end method .method public final smoothScrollTo(II)V .locals 2 .param p1, "x" # I .param p2, "y" # I .prologue .line 1332 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I move-result v0 sub-int v0, p1, v0 invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I move-result v1 sub-int v1, p2, v1 invoke-virtual {p0, v0, v1}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollBy(II)V .line 1333 return-void .end method .method public startNestedScroll(I)Z .locals 1 .param p1, "axes" # I .prologue .line 222 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0, p1}, Landroid/support/v4/view/NestedScrollingChildHelper;->startNestedScroll(I)Z move-result v0 return v0 .end method .method public stopNestedScroll()V .locals 1 .prologue .line 227 iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingChildHelper;->stopNestedScroll()V .line 228 return-void .end method