public class android.widget.ScrollView extends android.widget.FrameLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.ScrollView
  super_class: android.widget.FrameLayout
{
  static final int ANIMATED_SCROLL_GAP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 250

  static final float MAX_SCROLL_FACTOR;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0.5

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ScrollView"

  private long mLastScroll;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final android.graphics.Rect mTempRect;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.widget.OverScroller mScroller;
    descriptor: Landroid/widget/OverScroller;
    flags: (0x0002) ACC_PRIVATE

  private android.widget.EdgeEffect mEdgeGlowTop;
    descriptor: Landroid/widget/EdgeEffect;
    flags: (0x0002) ACC_PRIVATE

  private android.widget.EdgeEffect mEdgeGlowBottom;
    descriptor: Landroid/widget/EdgeEffect;
    flags: (0x0002) ACC_PRIVATE

  private int mLastMotionY;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean mIsLayoutDirty;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.view.View mChildToScrollTo;
    descriptor: Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE

  private boolean mIsBeingDragged;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.view.VelocityTracker mVelocityTracker;
    descriptor: Landroid/view/VelocityTracker;
    flags: (0x0002) ACC_PRIVATE

  private boolean mFillViewport;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      android.view.ViewDebug$ExportedProperty(category = "layout")

  private boolean mSmoothScrollingEnabled;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int mTouchSlop;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mMinimumVelocity;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mMaximumVelocity;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mOverscrollDistance;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mOverflingDistance;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private float mVerticalScrollFactor;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private int mActivePointerId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final int[] mScrollOffset;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] mScrollConsumed;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int mNestedYOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.os.StrictMode$Span mScrollStrictSpan;
    descriptor: Landroid/os/StrictMode$Span;
    flags: (0x0002) ACC_PRIVATE

  private android.os.StrictMode$Span mFlingStrictSpan;
    descriptor: Landroid/os/StrictMode$Span;
    flags: (0x0002) ACC_PRIVATE

  private static final int INVALID_POINTER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private android.widget.ScrollView$SavedState mSavedState;
    descriptor: Landroid/widget/ScrollView$SavedState;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.content.Context context
         0: .line 173
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial android.widget.ScrollView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
         1: .line 174
            return
        end local 1 // android.content.Context context
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/widget/ScrollView;
            0    2     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(android.content.Context, android.util.AttributeSet);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.ScrollView this
         0: .line 48
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;
    MethodParameters:
         Name  Flags
      context  
      attrs    

  public void <init>(android.content.Context, android.util.AttributeSet, int);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.content.Context context
        start local 2 // android.util.AttributeSet attrs
        start local 3 // int defStyleAttr
         0: .line 181
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* attrs */
            iload 3 /* defStyleAttr */
            iconst_0
            invokespecial android.widget.ScrollView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
         1: .line 182
            return
        end local 3 // int defStyleAttr
        end local 2 // android.util.AttributeSet attrs
        end local 1 // android.content.Context context
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Landroid/widget/ScrollView;
            0    2     1       context  Landroid/content/Context;
            0    2     2         attrs  Landroid/util/AttributeSet;
            0    2     3  defStyleAttr  I
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  

  public void <init>(android.content.Context, android.util.AttributeSet, int, int);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.widget.ScrollView this
         0: .line 48
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  
      defStyleRes   

  public boolean shouldDelayChildPressedState();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 202
            iconst_1
            ireturn
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;

  protected float getTopFadingEdgeStrength();
    descriptor: ()F
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 207
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifne 2
         1: .line 208
            fconst_0
            freturn
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getVerticalFadingEdgeLength:()I
            istore 1 /* length */
        start local 1 // int length
         3: .line 212
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 1 /* length */
            if_icmpge 5
         4: .line 213
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            i2f
            iload 1 /* length */
            i2f
            fdiv
            freturn
         5: .line 216
      StackMap locals: int
      StackMap stack:
            fconst_1
            freturn
        end local 1 // int length
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/widget/ScrollView;
            3    6     1  length  I

  protected float getBottomFadingEdgeStrength();
    descriptor: ()F
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 221
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifne 2
         1: .line 222
            fconst_0
            freturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getVerticalFadingEdgeLength:()I
            istore 1 /* length */
        start local 1 // int length
         3: .line 226
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            istore 2 /* bottomEdge */
        start local 2 // int bottomEdge
         4: .line 227
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            isub
            iload 2 /* bottomEdge */
            isub
            istore 3 /* span */
        start local 3 // int span
         5: .line 228
            iload 3 /* span */
            iload 1 /* length */
            if_icmpge 7
         6: .line 229
            iload 3 /* span */
            i2f
            iload 1 /* length */
            i2f
            fdiv
            freturn
         7: .line 232
      StackMap locals: int int int
      StackMap stack:
            fconst_1
            freturn
        end local 3 // int span
        end local 2 // int bottomEdge
        end local 1 // int length
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Landroid/widget/ScrollView;
            3    8     1      length  I
            4    8     2  bottomEdge  I
            5    8     3        span  I

  public int getMaxScrollAmount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 240
            ldc 0.5
            aload 0 /* this */
            getfield android.widget.ScrollView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mTop:I
            isub
            i2f
            fmul
            f2i
            ireturn
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;

  private void initScrollView();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 245
            aload 0 /* this */
            new android.widget.OverScroller
            dup
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getContext:()Landroid/content/Context;
            invokespecial android.widget.OverScroller.<init>:(Landroid/content/Context;)V
            putfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
         1: .line 246
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.ScrollView.setFocusable:(Z)V
         2: .line 247
            aload 0 /* this */
            ldc 262144
            invokevirtual android.widget.ScrollView.setDescendantFocusability:(I)V
         3: .line 248
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.setWillNotDraw:(Z)V
         4: .line 249
            aload 0 /* this */
            getfield android.widget.ScrollView.mContext:Landroid/content/Context;
            invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
            astore 1 /* configuration */
        start local 1 // android.view.ViewConfiguration configuration
         5: .line 250
            aload 0 /* this */
            aload 1 /* configuration */
            invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
            putfield android.widget.ScrollView.mTouchSlop:I
         6: .line 251
            aload 0 /* this */
            aload 1 /* configuration */
            invokevirtual android.view.ViewConfiguration.getScaledMinimumFlingVelocity:()I
            putfield android.widget.ScrollView.mMinimumVelocity:I
         7: .line 252
            aload 0 /* this */
            aload 1 /* configuration */
            invokevirtual android.view.ViewConfiguration.getScaledMaximumFlingVelocity:()I
            putfield android.widget.ScrollView.mMaximumVelocity:I
         8: .line 253
            aload 0 /* this */
            aload 1 /* configuration */
            invokevirtual android.view.ViewConfiguration.getScaledOverscrollDistance:()I
            putfield android.widget.ScrollView.mOverscrollDistance:I
         9: .line 254
            aload 0 /* this */
            aload 1 /* configuration */
            invokevirtual android.view.ViewConfiguration.getScaledOverflingDistance:()I
            putfield android.widget.ScrollView.mOverflingDistance:I
        10: .line 255
            aload 0 /* this */
            aload 1 /* configuration */
            invokevirtual android.view.ViewConfiguration.getScaledVerticalScrollFactor:()F
            putfield android.widget.ScrollView.mVerticalScrollFactor:F
        11: .line 256
            return
        end local 1 // android.view.ViewConfiguration configuration
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Landroid/widget/ScrollView;
            5   12     1  configuration  Landroid/view/ViewConfiguration;

  public void addView(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
         0: .line 260
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 2
         1: .line 261
            new java.lang.IllegalStateException
            dup
            ldc "ScrollView can host only one direct child"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;)V
         3: .line 265
            return
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/widget/ScrollView;
            0    4     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  public void addView(android.view.View, int);
    descriptor: (Landroid/view/View;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // int index
         0: .line 269
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 2
         1: .line 270
            new java.lang.IllegalStateException
            dup
            ldc "ScrollView can host only one direct child"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* index */
            invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;I)V
         3: .line 274
            return
        end local 2 // int index
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/widget/ScrollView;
            0    4     1  child  Landroid/view/View;
            0    4     2  index  I
    MethodParameters:
       Name  Flags
      child  
      index  

  public void addView(android.view.View, android.view.ViewGroup$LayoutParams);
    descriptor: (Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // android.view.ViewGroup$LayoutParams params
         0: .line 278
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 2
         1: .line 279
            new java.lang.IllegalStateException
            dup
            ldc "ScrollView can host only one direct child"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            aload 2 /* params */
            invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
         3: .line 283
            return
        end local 2 // android.view.ViewGroup$LayoutParams params
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/widget/ScrollView;
            0    4     1   child  Landroid/view/View;
            0    4     2  params  Landroid/view/ViewGroup$LayoutParams;
    MethodParameters:
        Name  Flags
      child   
      params  

  public void addView(android.view.View, int, android.view.ViewGroup$LayoutParams);
    descriptor: (Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // int index
        start local 3 // android.view.ViewGroup$LayoutParams params
         0: .line 287
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 2
         1: .line 288
            new java.lang.IllegalStateException
            dup
            ldc "ScrollView can host only one direct child"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* index */
            aload 3 /* params */
            invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
         3: .line 292
            return
        end local 3 // android.view.ViewGroup$LayoutParams params
        end local 2 // int index
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/widget/ScrollView;
            0    4     1   child  Landroid/view/View;
            0    4     2   index  I
            0    4     3  params  Landroid/view/ViewGroup$LayoutParams;
    MethodParameters:
        Name  Flags
      child   
      index   
      params  

  private boolean canScroll();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 298
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 1 /* child */
        start local 1 // android.view.View child
         1: .line 299
            aload 1 /* child */
            ifnull 5
         2: .line 300
            aload 1 /* child */
            invokevirtual android.view.View.getHeight:()I
            istore 2 /* childHeight */
        start local 2 // int childHeight
         3: .line 301
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            iload 2 /* childHeight */
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            iadd
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            iadd
            if_icmpge 4
            iconst_1
            ireturn
      StackMap locals: android.view.View int
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // int childHeight
         5: .line 303
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/widget/ScrollView;
            1    6     1        child  Landroid/view/View;
            3    5     2  childHeight  I

  public boolean isFillViewport();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 314
            aload 0 /* this */
            getfield android.widget.ScrollView.mFillViewport:Z
            ireturn
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;

  public void setFillViewport(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // boolean fillViewport
         0: .line 327
            iload 1 /* fillViewport */
            aload 0 /* this */
            getfield android.widget.ScrollView.mFillViewport:Z
            if_icmpeq 3
         1: .line 328
            aload 0 /* this */
            iload 1 /* fillViewport */
            putfield android.widget.ScrollView.mFillViewport:Z
         2: .line 329
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.requestLayout:()V
         3: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean fillViewport
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Landroid/widget/ScrollView;
            0    4     1  fillViewport  Z
    MethodParameters:
              Name  Flags
      fillViewport  

  public boolean isSmoothScrollingEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 337
            aload 0 /* this */
            getfield android.widget.ScrollView.mSmoothScrollingEnabled:Z
            ireturn
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;

  public void setSmoothScrollingEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // boolean smoothScrollingEnabled
         0: .line 345
            aload 0 /* this */
            iload 1 /* smoothScrollingEnabled */
            putfield android.widget.ScrollView.mSmoothScrollingEnabled:Z
         1: .line 346
            return
        end local 1 // boolean smoothScrollingEnabled
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Landroid/widget/ScrollView;
            0    2     1  smoothScrollingEnabled  Z
    MethodParameters:
                        Name  Flags
      smoothScrollingEnabled  

  protected void onMeasure(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=12, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 350
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokespecial android.widget.FrameLayout.onMeasure:(II)V
         1: .line 352
            aload 0 /* this */
            getfield android.widget.ScrollView.mFillViewport:Z
            ifne 3
         2: .line 353
            return
         3: .line 356
      StackMap locals:
      StackMap stack:
            iload 2 /* heightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getMode:(I)I
            istore 3 /* heightMode */
        start local 3 // int heightMode
         4: .line 357
            iload 3 /* heightMode */
            ifne 6
         5: .line 358
            return
         6: .line 361
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 23
         7: .line 362
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 4 /* child */
        start local 4 // android.view.View child
         8: .line 365
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getContext:()Landroid/content/Context;
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            istore 7 /* targetSdkVersion */
        start local 7 // int targetSdkVersion
         9: .line 366
            aload 4 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.FrameLayout$LayoutParams
            astore 8 /* lp */
        start local 8 // android.widget.FrameLayout$LayoutParams lp
        10: .line 367
            iload 7 /* targetSdkVersion */
            bipush 23
            if_icmplt 14
        11: .line 368
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            iadd
            aload 8 /* lp */
            getfield android.widget.FrameLayout$LayoutParams.leftMargin:I
            iadd
            aload 8 /* lp */
            getfield android.widget.FrameLayout$LayoutParams.rightMargin:I
            iadd
            istore 5 /* widthPadding */
        start local 5 // int widthPadding
        12: .line 369
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            iadd
            aload 8 /* lp */
            getfield android.widget.FrameLayout$LayoutParams.topMargin:I
            iadd
            aload 8 /* lp */
            getfield android.widget.FrameLayout$LayoutParams.bottomMargin:I
            iadd
            istore 6 /* heightPadding */
        start local 6 // int heightPadding
        13: .line 370
            goto 16
        end local 6 // int heightPadding
        end local 5 // int widthPadding
        14: .line 371
      StackMap locals: android.widget.ScrollView int int int android.view.View top top int android.widget.FrameLayout$LayoutParams
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            iadd
            istore 5 /* widthPadding */
        start local 5 // int widthPadding
        15: .line 372
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            iadd
            istore 6 /* heightPadding */
        start local 6 // int heightPadding
        16: .line 375
      StackMap locals: android.widget.ScrollView int int int android.view.View int int int android.widget.FrameLayout$LayoutParams
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getMeasuredHeight:()I
            iload 6 /* heightPadding */
            isub
            istore 9 /* desiredHeight */
        start local 9 // int desiredHeight
        17: .line 376
            aload 4 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            iload 9 /* desiredHeight */
            if_icmpge 23
        18: .line 378
            iload 1 /* widthMeasureSpec */
            iload 5 /* widthPadding */
            aload 8 /* lp */
            getfield android.widget.FrameLayout$LayoutParams.width:I
        19: .line 377
            invokestatic android.widget.ScrollView.getChildMeasureSpec:(III)I
            istore 10 /* childWidthMeasureSpec */
        start local 10 // int childWidthMeasureSpec
        20: .line 380
            iload 9 /* desiredHeight */
            ldc 1073741824
        21: .line 379
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 11 /* childHeightMeasureSpec */
        start local 11 // int childHeightMeasureSpec
        22: .line 381
            aload 4 /* child */
            iload 10 /* childWidthMeasureSpec */
            iload 11 /* childHeightMeasureSpec */
            invokevirtual android.view.View.measure:(II)V
        end local 11 // int childHeightMeasureSpec
        end local 10 // int childWidthMeasureSpec
        end local 9 // int desiredHeight
        end local 8 // android.widget.FrameLayout$LayoutParams lp
        end local 7 // int targetSdkVersion
        end local 6 // int heightPadding
        end local 5 // int widthPadding
        end local 4 // android.view.View child
        23: .line 384
      StackMap locals: android.widget.ScrollView int int int
      StackMap stack:
            return
        end local 3 // int heightMode
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   24     0                    this  Landroid/widget/ScrollView;
            0   24     1        widthMeasureSpec  I
            0   24     2       heightMeasureSpec  I
            4   24     3              heightMode  I
            8   23     4                   child  Landroid/view/View;
           12   14     5            widthPadding  I
           15   23     5            widthPadding  I
           13   14     6           heightPadding  I
           16   23     6           heightPadding  I
            9   23     7        targetSdkVersion  I
           10   23     8                      lp  Landroid/widget/FrameLayout$LayoutParams;
           17   23     9           desiredHeight  I
           20   23    10   childWidthMeasureSpec  I
           22   23    11  childHeightMeasureSpec  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  public boolean dispatchKeyEvent(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.KeyEvent event
         0: .line 389
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.FrameLayout.dispatchKeyEvent:(Landroid/view/KeyEvent;)Z
            ifne 1
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.widget.ScrollView.executeKeyEvent:(Landroid/view/KeyEvent;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // android.view.KeyEvent event
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/widget/ScrollView;
            0    2     1  event  Landroid/view/KeyEvent;
    MethodParameters:
       Name  Flags
      event  

  public boolean executeKeyEvent(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.KeyEvent event
         0: .line 401
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.setEmpty:()V
         1: .line 403
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.canScroll:()Z
            ifne 14
         2: .line 404
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.isFocused:()Z
            ifeq 13
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getKeyCode:()I
            iconst_4
            if_icmpeq 13
         3: .line 405
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
            astore 2 /* currentFocused */
        start local 2 // android.view.View currentFocused
         4: .line 406
            aload 2 /* currentFocused */
            aload 0 /* this */
            if_acmpne 5
            aconst_null
            astore 2 /* currentFocused */
         5: .line 407
      StackMap locals: android.view.View
      StackMap stack:
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
         6: .line 408
            aload 2 /* currentFocused */
            sipush 130
         7: .line 407
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            astore 3 /* nextFocused */
        start local 3 // android.view.View nextFocused
         8: .line 409
            aload 3 /* nextFocused */
            ifnull 12
         9: .line 410
            aload 3 /* nextFocused */
            aload 0 /* this */
            if_acmpeq 12
        10: .line 411
            aload 3 /* nextFocused */
            sipush 130
            invokevirtual android.view.View.requestFocus:(I)Z
            ifeq 12
        11: .line 409
            iconst_1
            ireturn
      StackMap locals: android.view.View
      StackMap stack:
        12: iconst_0
            ireturn
        end local 3 // android.view.View nextFocused
        end local 2 // android.view.View currentFocused
        13: .line 413
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 416
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* handled */
        start local 2 // boolean handled
        15: .line 417
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getAction:()I
            ifne 30
        16: .line 418
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getKeyCode:()I
            lookupswitch { // 3
                   19: 17
                   20: 22
                   62: 27
              default: 30
          }
        17: .line 420
      StackMap locals: int
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.isAltPressed:()Z
            ifne 20
        18: .line 421
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ScrollView.arrowScroll:(I)Z
            istore 2 /* handled */
        19: .line 422
            goto 30
        20: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ScrollView.fullScroll:(I)Z
            istore 2 /* handled */
        21: .line 425
            goto 30
        22: .line 427
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.isAltPressed:()Z
            ifne 25
        23: .line 428
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ScrollView.arrowScroll:(I)Z
            istore 2 /* handled */
        24: .line 429
            goto 30
        25: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ScrollView.fullScroll:(I)Z
            istore 2 /* handled */
        26: .line 432
            goto 30
        27: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.isShiftPressed:()Z
            ifeq 28
            bipush 33
            goto 29
      StackMap locals:
      StackMap stack: android.widget.ScrollView
        28: sipush 130
      StackMap locals: android.widget.ScrollView android.view.KeyEvent int
      StackMap stack: android.widget.ScrollView int
        29: invokevirtual android.widget.ScrollView.pageScroll:(I)Z
            pop
        30: .line 439
      StackMap locals:
      StackMap stack:
            iload 2 /* handled */
            ireturn
        end local 2 // boolean handled
        end local 1 // android.view.KeyEvent event
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Landroid/widget/ScrollView;
            0   31     1           event  Landroid/view/KeyEvent;
            4   13     2  currentFocused  Landroid/view/View;
            8   13     3     nextFocused  Landroid/view/View;
           15   31     2         handled  Z
    MethodParameters:
       Name  Flags
      event  

  private boolean inChild(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // int x
        start local 2 // int y
         0: .line 443
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 11
         1: .line 444
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 3 /* scrollY */
        start local 3 // int scrollY
         2: .line 445
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 4 /* child */
        start local 4 // android.view.View child
         3: .line 446
            iload 2 /* y */
            aload 4 /* child */
            invokevirtual android.view.View.getTop:()I
            iload 3 /* scrollY */
            isub
            if_icmplt 8
         4: .line 447
            iload 2 /* y */
            aload 4 /* child */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* scrollY */
            isub
            if_icmpge 8
         5: .line 448
            iload 1 /* x */
            aload 4 /* child */
            invokevirtual android.view.View.getLeft:()I
            if_icmplt 8
         6: .line 449
            iload 1 /* x */
            aload 4 /* child */
            invokevirtual android.view.View.getRight:()I
         7: .line 446
            if_icmplt 9
      StackMap locals: int android.view.View
      StackMap stack:
         8: iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 4 // android.view.View child
        end local 3 // int scrollY
        11: .line 451
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int y
        end local 1 // int x
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Landroid/widget/ScrollView;
            0   12     1        x  I
            0   12     2        y  I
            2   11     3  scrollY  I
            3   11     4    child  Landroid/view/View;
    MethodParameters:
      Name  Flags
      x     
      y     

  private void initOrResetVelocityTracker();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 455
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            ifnonnull 3
         1: .line 456
            aload 0 /* this */
            invokestatic android.view.VelocityTracker.obtain:()Landroid/view/VelocityTracker;
            putfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
         2: .line 457
            goto 4
         3: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            invokevirtual android.view.VelocityTracker.clear:()V
         4: .line 460
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/widget/ScrollView;

  private void initVelocityTrackerIfNotExists();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 463
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            ifnonnull 2
         1: .line 464
            aload 0 /* this */
            invokestatic android.view.VelocityTracker.obtain:()Landroid/view/VelocityTracker;
            putfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
         2: .line 466
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/ScrollView;

  private void recycleVelocityTracker();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 469
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            ifnull 3
         1: .line 470
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            invokevirtual android.view.VelocityTracker.recycle:()V
         2: .line 471
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
         3: .line 473
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/ScrollView;

  public void requestDisallowInterceptTouchEvent(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // boolean disallowIntercept
         0: .line 477
            iload 1 /* disallowIntercept */
            ifeq 2
         1: .line 478
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
         2: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* disallowIntercept */
            invokespecial android.widget.FrameLayout.requestDisallowInterceptTouchEvent:(Z)V
         3: .line 481
            return
        end local 1 // boolean disallowIntercept
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Landroid/widget/ScrollView;
            0    4     1  disallowIntercept  Z
    MethodParameters:
                   Name  Flags
      disallowIntercept  

  public boolean onInterceptTouchEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.MotionEvent ev
         0: .line 497
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getAction:()I
            istore 2 /* action */
        start local 2 // int action
         1: .line 498
            iload 2 /* action */
            iconst_2
            if_icmpne 3
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ifeq 3
         2: .line 499
            iconst_1
            ireturn
         3: .line 502
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            invokespecial android.widget.FrameLayout.onInterceptTouchEvent:(Landroid/view/MotionEvent;)Z
            ifeq 5
         4: .line 503
            iconst_1
            ireturn
         5: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            ifne 7
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.ScrollView.canScrollVertically:(I)Z
            ifne 7
         6: .line 510
            iconst_0
            ireturn
         7: .line 513
      StackMap locals:
      StackMap stack:
            iload 2 /* action */
            sipush 255
            iand
            tableswitch { // 0 - 6
                    0: 31
                    1: 48
                    2: 8
                    3: 48
                    4: 56
                    5: 56
                    6: 55
              default: 56
          }
         8: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mActivePointerId:I
            istore 3 /* activePointerId */
        start local 3 // int activePointerId
         9: .line 525
            iload 3 /* activePointerId */
            iconst_m1
            if_icmpne 11
        10: .line 527
            goto 56
        11: .line 530
      StackMap locals: int
      StackMap stack:
            aload 1 /* ev */
            iload 3 /* activePointerId */
            invokevirtual android.view.MotionEvent.findPointerIndex:(I)I
            istore 4 /* pointerIndex */
        start local 4 // int pointerIndex
        12: .line 531
            iload 4 /* pointerIndex */
            iconst_m1
            if_icmpne 17
        13: .line 532
            ldc "ScrollView"
            new java.lang.StringBuilder
            dup
            ldc "Invalid pointerId="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* activePointerId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        14: .line 533
            ldc " in onInterceptTouchEvent"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 532
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        16: .line 534
            goto 56
        17: .line 537
      StackMap locals: int
      StackMap stack:
            aload 1 /* ev */
            iload 4 /* pointerIndex */
            invokevirtual android.view.MotionEvent.getY:(I)F
            f2i
            istore 5 /* y */
        start local 5 // int y
        18: .line 538
            iload 5 /* y */
            aload 0 /* this */
            getfield android.widget.ScrollView.mLastMotionY:I
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 6 /* yDiff */
        start local 6 // int yDiff
        19: .line 539
            iload 6 /* yDiff */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTouchSlop:I
            if_icmple 56
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getNestedScrollAxes:()I
            iconst_2
            iand
            ifne 56
        20: .line 540
            aload 0 /* this */
            iconst_1
            putfield android.widget.ScrollView.mIsBeingDragged:Z
        21: .line 541
            aload 0 /* this */
            iload 5 /* y */
            putfield android.widget.ScrollView.mLastMotionY:I
        22: .line 542
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.initVelocityTrackerIfNotExists:()V
        23: .line 543
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            aload 1 /* ev */
            invokevirtual android.view.VelocityTracker.addMovement:(Landroid/view/MotionEvent;)V
        24: .line 544
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mNestedYOffset:I
        25: .line 545
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
            ifnonnull 27
        26: .line 546
            aload 0 /* this */
            ldc "ScrollView-scroll"
            invokestatic android.os.StrictMode.enterCriticalSpan:(Ljava/lang/String;)Landroid/os/StrictMode$Span;
            putfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
        27: .line 548
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getParent:()Landroid/view/ViewParent;
            astore 7 /* parent */
        start local 7 // android.view.ViewParent parent
        28: .line 549
            aload 7 /* parent */
            ifnull 56
        29: .line 550
            aload 7 /* parent */
            iconst_1
            invokeinterface android.view.ViewParent.requestDisallowInterceptTouchEvent:(Z)V
        end local 7 // android.view.ViewParent parent
        30: .line 553
            goto 56
        end local 6 // int yDiff
        end local 5 // int y
        end local 4 // int pointerIndex
        end local 3 // int activePointerId
        31: .line 557
      StackMap locals: android.widget.ScrollView android.view.MotionEvent int
      StackMap stack:
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getY:()F
            f2i
            istore 3 /* y */
        start local 3 // int y
        32: .line 558
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getX:()F
            f2i
            iload 3 /* y */
            invokevirtual android.widget.ScrollView.inChild:(II)Z
            ifne 36
        33: .line 559
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mIsBeingDragged:Z
        34: .line 560
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
        35: .line 561
            goto 56
        36: .line 568
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* y */
            putfield android.widget.ScrollView.mLastMotionY:I
        37: .line 569
            aload 0 /* this */
            aload 1 /* ev */
            iconst_0
            invokevirtual android.view.MotionEvent.getPointerId:(I)I
            putfield android.widget.ScrollView.mActivePointerId:I
        38: .line 571
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.initOrResetVelocityTracker:()V
        39: .line 572
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            aload 1 /* ev */
            invokevirtual android.view.VelocityTracker.addMovement:(Landroid/view/MotionEvent;)V
        40: .line 579
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.computeScrollOffset:()Z
            pop
        41: .line 580
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifeq 42
            iconst_0
            goto 43
      StackMap locals:
      StackMap stack: android.widget.ScrollView
        42: iconst_1
      StackMap locals: android.widget.ScrollView android.view.MotionEvent int int
      StackMap stack: android.widget.ScrollView int
        43: putfield android.widget.ScrollView.mIsBeingDragged:Z
        44: .line 581
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ifeq 46
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
            ifnonnull 46
        45: .line 582
            aload 0 /* this */
            ldc "ScrollView-scroll"
            invokestatic android.os.StrictMode.enterCriticalSpan:(Ljava/lang/String;)Landroid/os/StrictMode$Span;
            putfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
        46: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual android.widget.ScrollView.startNestedScroll:(I)Z
            pop
        47: .line 585
            goto 56
        end local 3 // int y
        48: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mIsBeingDragged:Z
        49: .line 592
            aload 0 /* this */
            iconst_m1
            putfield android.widget.ScrollView.mActivePointerId:I
        50: .line 593
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
        51: .line 594
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iconst_0
            iconst_0
            iconst_0
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
            ifeq 53
        52: .line 595
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        53: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.stopNestedScroll:()V
        54: .line 598
            goto 56
        55: .line 600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.widget.ScrollView.onSecondaryPointerUp:(Landroid/view/MotionEvent;)V
        56: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ireturn
        end local 2 // int action
        end local 1 // android.view.MotionEvent ev
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   57     0             this  Landroid/widget/ScrollView;
            0   57     1               ev  Landroid/view/MotionEvent;
            1   57     2           action  I
            9   31     3  activePointerId  I
           12   31     4     pointerIndex  I
           18   31     5                y  I
           19   31     6            yDiff  I
           28   30     7           parent  Landroid/view/ViewParent;
           32   48     3                y  I
    MethodParameters:
      Name  Flags
      ev    

  public boolean onTouchEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=14, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.MotionEvent ev
         0: .line 613
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.initVelocityTrackerIfNotExists:()V
         1: .line 615
            aload 1 /* ev */
            invokestatic android.view.MotionEvent.obtain:(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
            astore 2 /* vtev */
        start local 2 // android.view.MotionEvent vtev
         2: .line 617
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getActionMasked:()I
            istore 3 /* actionMasked */
        start local 3 // int actionMasked
         3: .line 619
            iload 3 /* actionMasked */
            ifne 5
         4: .line 620
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mNestedYOffset:I
         5: .line 622
      StackMap locals: android.view.MotionEvent int
      StackMap stack:
            aload 2 /* vtev */
            fconst_0
            aload 0 /* this */
            getfield android.widget.ScrollView.mNestedYOffset:I
            i2f
            invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
         6: .line 624
            iload 3 /* actionMasked */
            tableswitch { // 0 - 6
                    0: 7
                    1: 83
                    2: 24
                    3: 98
                    4: 110
                    5: 104
                    6: 108
              default: 110
          }
         7: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifne 9
         8: .line 627
            iconst_0
            ireturn
         9: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals:
      StackMap stack: android.widget.ScrollView
        10: iconst_1
      StackMap locals: android.widget.ScrollView android.view.MotionEvent android.view.MotionEvent int
      StackMap stack: android.widget.ScrollView int
        11: dup_x1
            putfield android.widget.ScrollView.mIsBeingDragged:Z
            ifeq 15
        12: .line 630
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getParent:()Landroid/view/ViewParent;
            astore 4 /* parent */
        start local 4 // android.view.ViewParent parent
        13: .line 631
            aload 4 /* parent */
            ifnull 15
        14: .line 632
            aload 4 /* parent */
            iconst_1
            invokeinterface android.view.ViewParent.requestDisallowInterceptTouchEvent:(Z)V
        end local 4 // android.view.ViewParent parent
        15: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifne 20
        16: .line 641
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.abortAnimation:()V
        17: .line 642
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            ifnull 20
        18: .line 643
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            invokevirtual android.os.StrictMode$Span.finish:()V
        19: .line 644
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
        20: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getY:()F
            f2i
            putfield android.widget.ScrollView.mLastMotionY:I
        21: .line 650
            aload 0 /* this */
            aload 1 /* ev */
            iconst_0
            invokevirtual android.view.MotionEvent.getPointerId:(I)I
            putfield android.widget.ScrollView.mActivePointerId:I
        22: .line 651
            aload 0 /* this */
            iconst_2
            invokevirtual android.widget.ScrollView.startNestedScroll:(I)Z
            pop
        23: .line 652
            goto 110
        24: .line 655
      StackMap locals:
      StackMap stack:
            aload 1 /* ev */
            aload 0 /* this */
            getfield android.widget.ScrollView.mActivePointerId:I
            invokevirtual android.view.MotionEvent.findPointerIndex:(I)I
            istore 4 /* activePointerIndex */
        start local 4 // int activePointerIndex
        25: .line 656
            iload 4 /* activePointerIndex */
            iconst_m1
            if_icmpne 28
        26: .line 657
            ldc "ScrollView"
            new java.lang.StringBuilder
            dup
            ldc "Invalid pointerId="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.widget.ScrollView.mActivePointerId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " in onTouchEvent"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        27: .line 658
            goto 110
        28: .line 661
      StackMap locals: int
      StackMap stack:
            aload 1 /* ev */
            iload 4 /* activePointerIndex */
            invokevirtual android.view.MotionEvent.getY:(I)F
            f2i
            istore 5 /* y */
        start local 5 // int y
        29: .line 662
            aload 0 /* this */
            getfield android.widget.ScrollView.mLastMotionY:I
            iload 5 /* y */
            isub
            istore 6 /* deltaY */
        start local 6 // int deltaY
        30: .line 663
            aload 0 /* this */
            iconst_0
            iload 6 /* deltaY */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollConsumed:[I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            invokevirtual android.widget.ScrollView.dispatchNestedPreScroll:(II[I[I)Z
            ifeq 34
        31: .line 664
            iload 6 /* deltaY */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollConsumed:[I
            iconst_1
            iaload
            isub
            istore 6 /* deltaY */
        32: .line 665
            aload 2 /* vtev */
            fconst_0
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            iconst_1
            iaload
            i2f
            invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
        33: .line 666
            aload 0 /* this */
            dup
            getfield android.widget.ScrollView.mNestedYOffset:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            iconst_1
            iaload
            iadd
            putfield android.widget.ScrollView.mNestedYOffset:I
        34: .line 668
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ifne 43
            iload 6 /* deltaY */
            invokestatic java.lang.Math.abs:(I)I
            aload 0 /* this */
            getfield android.widget.ScrollView.mTouchSlop:I
            if_icmple 43
        35: .line 669
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getParent:()Landroid/view/ViewParent;
            astore 7 /* parent */
        start local 7 // android.view.ViewParent parent
        36: .line 670
            aload 7 /* parent */
            ifnull 38
        37: .line 671
            aload 7 /* parent */
            iconst_1
            invokeinterface android.view.ViewParent.requestDisallowInterceptTouchEvent:(Z)V
        38: .line 673
      StackMap locals: android.view.ViewParent
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.widget.ScrollView.mIsBeingDragged:Z
        39: .line 674
            iload 6 /* deltaY */
            ifle 42
        40: .line 675
            iload 6 /* deltaY */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTouchSlop:I
            isub
            istore 6 /* deltaY */
        41: .line 676
            goto 43
        42: .line 677
      StackMap locals:
      StackMap stack:
            iload 6 /* deltaY */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTouchSlop:I
            iadd
            istore 6 /* deltaY */
        end local 7 // android.view.ViewParent parent
        43: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ifeq 110
        44: .line 682
            aload 0 /* this */
            iload 5 /* y */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            iconst_1
            iaload
            isub
            putfield android.widget.ScrollView.mLastMotionY:I
        45: .line 684
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 7 /* oldY */
        start local 7 // int oldY
        46: .line 685
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            istore 8 /* range */
        start local 8 // int range
        47: .line 686
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getOverScrollMode:()I
            istore 9 /* overscrollMode */
        start local 9 // int overscrollMode
        48: .line 687
            iload 9 /* overscrollMode */
            ifeq 52
        49: .line 688
            iload 9 /* overscrollMode */
            iconst_1
            if_icmpne 51
            iload 8 /* range */
        50: .line 687
            ifgt 52
      StackMap locals: int int int
      StackMap stack:
        51: iconst_0
            goto 53
      StackMap locals:
      StackMap stack:
        52: iconst_1
      StackMap locals:
      StackMap stack: int
        53: istore 10 /* canOverscroll */
        start local 10 // boolean canOverscroll
        54: .line 692
            aload 0 /* this */
            iconst_0
            iload 6 /* deltaY */
            iconst_0
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iconst_0
            iload 8 /* range */
            iconst_0
            aload 0 /* this */
            getfield android.widget.ScrollView.mOverscrollDistance:I
            iconst_1
            invokevirtual android.widget.ScrollView.overScrollBy:(IIIIIIIIZ)Z
            ifeq 57
        55: .line 693
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.hasNestedScrollingParent:()Z
            ifne 57
        56: .line 695
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            invokevirtual android.view.VelocityTracker.clear:()V
        57: .line 698
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 7 /* oldY */
            isub
            istore 11 /* scrolledDeltaY */
        start local 11 // int scrolledDeltaY
        58: .line 699
            iload 6 /* deltaY */
            iload 11 /* scrolledDeltaY */
            isub
            istore 12 /* unconsumedY */
        start local 12 // int unconsumedY
        59: .line 700
            aload 0 /* this */
            iconst_0
            iload 11 /* scrolledDeltaY */
            iconst_0
            iload 12 /* unconsumedY */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            invokevirtual android.widget.ScrollView.dispatchNestedScroll:(IIII[I)Z
            ifeq 64
        60: .line 701
            aload 0 /* this */
            dup
            getfield android.widget.ScrollView.mLastMotionY:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            iconst_1
            iaload
            isub
            putfield android.widget.ScrollView.mLastMotionY:I
        61: .line 702
            aload 2 /* vtev */
            fconst_0
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            iconst_1
            iaload
            i2f
            invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
        62: .line 703
            aload 0 /* this */
            dup
            getfield android.widget.ScrollView.mNestedYOffset:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollOffset:[I
            iconst_1
            iaload
            iadd
            putfield android.widget.ScrollView.mNestedYOffset:I
        63: .line 704
            goto 110
      StackMap locals: int int
      StackMap stack:
        64: iload 10 /* canOverscroll */
            ifeq 110
        65: .line 705
            iload 7 /* oldY */
            iload 6 /* deltaY */
            iadd
            istore 13 /* pulledToY */
        start local 13 // int pulledToY
        66: .line 706
            iload 13 /* pulledToY */
            ifge 73
        67: .line 707
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            iload 6 /* deltaY */
            i2f
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            i2f
            fdiv
        68: .line 708
            aload 1 /* ev */
            iload 4 /* activePointerIndex */
            invokevirtual android.view.MotionEvent.getX:(I)F
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            i2f
            fdiv
        69: .line 707
            invokevirtual android.widget.EdgeEffect.onPull:(FF)V
        70: .line 709
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.isFinished:()Z
            ifne 79
        71: .line 710
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.onRelease:()V
        72: .line 712
            goto 79
      StackMap locals: int
      StackMap stack:
        73: iload 13 /* pulledToY */
            iload 8 /* range */
            if_icmple 79
        74: .line 713
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            iload 6 /* deltaY */
            i2f
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            i2f
            fdiv
        75: .line 714
            fconst_1
            aload 1 /* ev */
            iload 4 /* activePointerIndex */
            invokevirtual android.view.MotionEvent.getX:(I)F
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            i2f
            fdiv
            fsub
        76: .line 713
            invokevirtual android.widget.EdgeEffect.onPull:(FF)V
        77: .line 715
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.isFinished:()Z
            ifne 79
        78: .line 716
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.onRelease:()V
        79: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            ifnull 110
        80: .line 720
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.isFinished:()Z
            ifeq 81
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.isFinished:()Z
            ifne 110
        81: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        end local 13 // int pulledToY
        end local 12 // int unconsumedY
        end local 11 // int scrolledDeltaY
        end local 10 // boolean canOverscroll
        end local 9 // int overscrollMode
        end local 8 // int range
        end local 7 // int oldY
        82: .line 725
            goto 110
        end local 6 // int deltaY
        end local 5 // int y
        end local 4 // int activePointerIndex
        83: .line 727
      StackMap locals: android.widget.ScrollView android.view.MotionEvent android.view.MotionEvent int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ifeq 110
        84: .line 728
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            astore 7 /* velocityTracker */
        start local 7 // android.view.VelocityTracker velocityTracker
        85: .line 729
            aload 7 /* velocityTracker */
            sipush 1000
            aload 0 /* this */
            getfield android.widget.ScrollView.mMaximumVelocity:I
            i2f
            invokevirtual android.view.VelocityTracker.computeCurrentVelocity:(IF)V
        86: .line 730
            aload 7 /* velocityTracker */
            aload 0 /* this */
            getfield android.widget.ScrollView.mActivePointerId:I
            invokevirtual android.view.VelocityTracker.getYVelocity:(I)F
            f2i
            istore 8 /* initialVelocity */
        start local 8 // int initialVelocity
        87: .line 732
            iload 8 /* initialVelocity */
            invokestatic java.lang.Math.abs:(I)I
            aload 0 /* this */
            getfield android.widget.ScrollView.mMinimumVelocity:I
            if_icmple 90
        88: .line 733
            aload 0 /* this */
            iload 8 /* initialVelocity */
            ineg
            invokevirtual android.widget.ScrollView.flingWithNestedDispatch:(I)V
        89: .line 734
            goto 95
      StackMap locals: android.widget.ScrollView android.view.MotionEvent android.view.MotionEvent int top top top android.view.VelocityTracker int
      StackMap stack:
        90: aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iconst_0
            iconst_0
            iconst_0
        91: .line 735
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
        92: .line 734
            invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
        93: .line 735
            ifeq 95
        94: .line 736
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        95: .line 739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield android.widget.ScrollView.mActivePointerId:I
        96: .line 740
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.endDrag:()V
        end local 8 // int initialVelocity
        end local 7 // android.view.VelocityTracker velocityTracker
        97: .line 742
            goto 110
        98: .line 744
      StackMap locals: android.widget.ScrollView android.view.MotionEvent android.view.MotionEvent int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsBeingDragged:Z
            ifeq 110
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 110
        99: .line 745
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iconst_0
            iconst_0
            iconst_0
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
            ifeq 101
       100: .line 746
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
       101: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield android.widget.ScrollView.mActivePointerId:I
       102: .line 749
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.endDrag:()V
       103: .line 751
            goto 110
       104: .line 753
      StackMap locals:
      StackMap stack:
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getActionIndex:()I
            istore 7 /* index */
        start local 7 // int index
       105: .line 754
            aload 0 /* this */
            aload 1 /* ev */
            iload 7 /* index */
            invokevirtual android.view.MotionEvent.getY:(I)F
            f2i
            putfield android.widget.ScrollView.mLastMotionY:I
       106: .line 755
            aload 0 /* this */
            aload 1 /* ev */
            iload 7 /* index */
            invokevirtual android.view.MotionEvent.getPointerId:(I)I
            putfield android.widget.ScrollView.mActivePointerId:I
       107: .line 756
            goto 110
        end local 7 // int index
       108: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.widget.ScrollView.onSecondaryPointerUp:(Landroid/view/MotionEvent;)V
       109: .line 760
            aload 0 /* this */
            aload 1 /* ev */
            aload 1 /* ev */
            aload 0 /* this */
            getfield android.widget.ScrollView.mActivePointerId:I
            invokevirtual android.view.MotionEvent.findPointerIndex:(I)I
            invokevirtual android.view.MotionEvent.getY:(I)F
            f2i
            putfield android.widget.ScrollView.mLastMotionY:I
       110: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            ifnull 112
       111: .line 765
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            aload 2 /* vtev */
            invokevirtual android.view.VelocityTracker.addMovement:(Landroid/view/MotionEvent;)V
       112: .line 767
      StackMap locals:
      StackMap stack:
            aload 2 /* vtev */
            invokevirtual android.view.MotionEvent.recycle:()V
       113: .line 768
            iconst_1
            ireturn
        end local 3 // int actionMasked
        end local 2 // android.view.MotionEvent vtev
        end local 1 // android.view.MotionEvent ev
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  114     0                this  Landroid/widget/ScrollView;
            0  114     1                  ev  Landroid/view/MotionEvent;
            2  114     2                vtev  Landroid/view/MotionEvent;
            3  114     3        actionMasked  I
           13   15     4              parent  Landroid/view/ViewParent;
           25   83     4  activePointerIndex  I
           29   83     5                   y  I
           30   83     6              deltaY  I
           36   43     7              parent  Landroid/view/ViewParent;
           46   82     7                oldY  I
           47   82     8               range  I
           48   82     9      overscrollMode  I
           54   82    10       canOverscroll  Z
           58   82    11      scrolledDeltaY  I
           59   82    12         unconsumedY  I
           66   82    13           pulledToY  I
           85   97     7     velocityTracker  Landroid/view/VelocityTracker;
           87   97     8     initialVelocity  I
          105  108     7               index  I
    MethodParameters:
      Name  Flags
      ev    

  private void onSecondaryPointerUp(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.MotionEvent ev
         0: .line 772
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getAction:()I
            ldc 65280
            iand
         1: .line 773
            bipush 8
         2: .line 772
            ishr
            istore 2 /* pointerIndex */
        start local 2 // int pointerIndex
         3: .line 774
            aload 1 /* ev */
            iload 2 /* pointerIndex */
            invokevirtual android.view.MotionEvent.getPointerId:(I)I
            istore 3 /* pointerId */
        start local 3 // int pointerId
         4: .line 775
            iload 3 /* pointerId */
            aload 0 /* this */
            getfield android.widget.ScrollView.mActivePointerId:I
            if_icmpne 12
         5: .line 779
            iload 2 /* pointerIndex */
            ifne 6
            iconst_1
            goto 7
      StackMap locals: int int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* newPointerIndex */
        start local 4 // int newPointerIndex
         8: .line 780
            aload 0 /* this */
            aload 1 /* ev */
            iload 4 /* newPointerIndex */
            invokevirtual android.view.MotionEvent.getY:(I)F
            f2i
            putfield android.widget.ScrollView.mLastMotionY:I
         9: .line 781
            aload 0 /* this */
            aload 1 /* ev */
            iload 4 /* newPointerIndex */
            invokevirtual android.view.MotionEvent.getPointerId:(I)I
            putfield android.widget.ScrollView.mActivePointerId:I
        10: .line 782
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            ifnull 12
        11: .line 783
            aload 0 /* this */
            getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
            invokevirtual android.view.VelocityTracker.clear:()V
        end local 4 // int newPointerIndex
        12: .line 786
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int pointerId
        end local 2 // int pointerIndex
        end local 1 // android.view.MotionEvent ev
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Landroid/widget/ScrollView;
            0   13     1               ev  Landroid/view/MotionEvent;
            3   13     2     pointerIndex  I
            4   13     3        pointerId  I
            8   12     4  newPointerIndex  I
    MethodParameters:
      Name  Flags
      ev    

  public boolean onGenericMotionEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.MotionEvent event
         0: .line 790
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getAction:()I
            tableswitch { // 8 - 8
                    8: 1
              default: 21
          }
         1: .line 793
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            iconst_2
            invokevirtual android.view.MotionEvent.isFromSource:(I)Z
            ifeq 4
         2: .line 794
            aload 1 /* event */
            bipush 9
            invokevirtual android.view.MotionEvent.getAxisValue:(I)F
            fstore 2 /* axisValue */
        start local 2 // float axisValue
         3: .line 795
            goto 8
        end local 2 // float axisValue
      StackMap locals:
      StackMap stack:
         4: aload 1 /* event */
            ldc 4194304
            invokevirtual android.view.MotionEvent.isFromSource:(I)Z
            ifeq 7
         5: .line 796
            aload 1 /* event */
            bipush 26
            invokevirtual android.view.MotionEvent.getAxisValue:(I)F
            fstore 2 /* axisValue */
        start local 2 // float axisValue
         6: .line 797
            goto 8
        end local 2 // float axisValue
         7: .line 798
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 2 /* axisValue */
        start local 2 // float axisValue
         8: .line 801
      StackMap locals: float
      StackMap stack:
            fload 2 /* axisValue */
            aload 0 /* this */
            getfield android.widget.ScrollView.mVerticalScrollFactor:F
            fmul
            invokestatic java.lang.Math.round:(F)I
            istore 3 /* delta */
        start local 3 // int delta
         9: .line 802
            iload 3 /* delta */
            ifeq 21
        10: .line 803
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            istore 4 /* range */
        start local 4 // int range
        11: .line 804
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 5 /* oldScrollY */
        start local 5 // int oldScrollY
        12: .line 805
            iload 5 /* oldScrollY */
            iload 3 /* delta */
            isub
            istore 6 /* newScrollY */
        start local 6 // int newScrollY
        13: .line 806
            iload 6 /* newScrollY */
            ifge 16
        14: .line 807
            iconst_0
            istore 6 /* newScrollY */
        15: .line 808
            goto 18
      StackMap locals: android.widget.ScrollView android.view.MotionEvent float int int int int
      StackMap stack:
        16: iload 6 /* newScrollY */
            iload 4 /* range */
            if_icmple 18
        17: .line 809
            iload 4 /* range */
            istore 6 /* newScrollY */
        18: .line 811
      StackMap locals:
      StackMap stack:
            iload 6 /* newScrollY */
            iload 5 /* oldScrollY */
            if_icmpeq 21
        19: .line 812
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            iload 6 /* newScrollY */
            invokespecial android.widget.FrameLayout.scrollTo:(II)V
        20: .line 813
            iconst_1
            ireturn
        end local 6 // int newScrollY
        end local 5 // int oldScrollY
        end local 4 // int range
        end local 3 // int delta
        end local 2 // float axisValue
        21: .line 819
      StackMap locals: android.widget.ScrollView android.view.MotionEvent
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.FrameLayout.onGenericMotionEvent:(Landroid/view/MotionEvent;)Z
            ireturn
        end local 1 // android.view.MotionEvent event
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Landroid/widget/ScrollView;
            0   22     1       event  Landroid/view/MotionEvent;
            3    4     2   axisValue  F
            6    7     2   axisValue  F
            8   21     2   axisValue  F
            9   21     3       delta  I
           11   21     4       range  I
           12   21     5  oldScrollY  I
           13   21     6  newScrollY  I
    MethodParameters:
       Name  Flags
      event  

  protected void onOverScrolled(int, int, boolean, boolean);
    descriptor: (IIZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // android.widget.ScrollView this
        start local 1 // int scrollX
        start local 2 // int scrollY
        start local 3 // boolean clampedX
        start local 4 // boolean clampedY
         0: .line 826
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifne 10
         1: .line 827
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            istore 5 /* oldX */
        start local 5 // int oldX
         2: .line 828
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 6 /* oldY */
        start local 6 // int oldY
         3: .line 829
            aload 0 /* this */
            iload 1 /* scrollX */
            putfield android.widget.ScrollView.mScrollX:I
         4: .line 830
            aload 0 /* this */
            iload 2 /* scrollY */
            putfield android.widget.ScrollView.mScrollY:I
         5: .line 831
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.invalidateParentIfNeeded:()V
         6: .line 832
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 5 /* oldX */
            iload 6 /* oldY */
            invokevirtual android.widget.ScrollView.onScrollChanged:(IIII)V
         7: .line 833
            iload 4 /* clampedY */
            ifeq 11
         8: .line 834
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iconst_0
            iconst_0
            iconst_0
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
            pop
        end local 6 // int oldY
        end local 5 // int oldX
         9: .line 836
            goto 11
        10: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* scrollX */
            iload 2 /* scrollY */
            invokespecial android.widget.FrameLayout.scrollTo:(II)V
        11: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.awakenScrollBars:()Z
            pop
        12: .line 841
            return
        end local 4 // boolean clampedY
        end local 3 // boolean clampedX
        end local 2 // int scrollY
        end local 1 // int scrollX
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Landroid/widget/ScrollView;
            0   13     1   scrollX  I
            0   13     2   scrollY  I
            0   13     3  clampedX  Z
            0   13     4  clampedY  Z
            2    9     5      oldX  I
            3    9     6      oldY  I
    MethodParameters:
          Name  Flags
      scrollX   
      scrollY   
      clampedX  
      clampedY  

  public boolean performAccessibilityActionInternal(int, android.os.Bundle);
    descriptor: (ILandroid/os/Bundle;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.ScrollView this
         0: .line 854
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;
    MethodParameters:
           Name  Flags
      action     
      arguments  

  public java.lang.CharSequence getAccessibilityClassName();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 877
            ldc Landroid/widget/ScrollView;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;

  public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
    descriptor: (Landroid/view/accessibility/AccessibilityNodeInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.accessibility.AccessibilityNodeInfo info
         0: .line 883
            aload 0 /* this */
            aload 1 /* info */
            invokespecial android.widget.FrameLayout.onInitializeAccessibilityNodeInfoInternal:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
         1: .line 884
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.isEnabled:()Z
            ifeq 13
         2: .line 885
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            istore 2 /* scrollRange */
        start local 2 // int scrollRange
         3: .line 886
            iload 2 /* scrollRange */
            ifle 13
         4: .line 887
            aload 1 /* info */
            iconst_1
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setScrollable:(Z)V
         5: .line 888
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            ifle 10
         6: .line 889
            aload 1 /* info */
         7: .line 890
            getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_BACKWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
         8: .line 889
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
         9: .line 891
            aload 1 /* info */
            getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_UP:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
        10: .line 893
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 2 /* scrollRange */
            if_icmpge 13
        11: .line 894
            aload 1 /* info */
            getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_FORWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
        12: .line 895
            aload 1 /* info */
            getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_DOWN:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
        end local 2 // int scrollRange
        13: .line 899
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.accessibility.AccessibilityNodeInfo info
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Landroid/widget/ScrollView;
            0   14     1         info  Landroid/view/accessibility/AccessibilityNodeInfo;
            3   13     2  scrollRange  I
    MethodParameters:
      Name  Flags
      info  

  public void onInitializeAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
    descriptor: (Landroid/view/accessibility/AccessibilityEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.accessibility.AccessibilityEvent event
         0: .line 904
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.FrameLayout.onInitializeAccessibilityEventInternal:(Landroid/view/accessibility/AccessibilityEvent;)V
         1: .line 905
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            ifle 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* scrollable */
        start local 2 // boolean scrollable
         4: .line 906
            aload 1 /* event */
            iload 2 /* scrollable */
            invokevirtual android.view.accessibility.AccessibilityEvent.setScrollable:(Z)V
         5: .line 907
            aload 1 /* event */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            invokevirtual android.view.accessibility.AccessibilityEvent.setScrollX:(I)V
         6: .line 908
            aload 1 /* event */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            invokevirtual android.view.accessibility.AccessibilityEvent.setScrollY:(I)V
         7: .line 909
            aload 1 /* event */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            invokevirtual android.view.accessibility.AccessibilityEvent.setMaxScrollX:(I)V
         8: .line 910
            aload 1 /* event */
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            invokevirtual android.view.accessibility.AccessibilityEvent.setMaxScrollY:(I)V
         9: .line 911
            return
        end local 2 // boolean scrollable
        end local 1 // android.view.accessibility.AccessibilityEvent event
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Landroid/widget/ScrollView;
            0   10     1       event  Landroid/view/accessibility/AccessibilityEvent;
            4   10     2  scrollable  Z
    MethodParameters:
       Name  Flags
      event  

  private int getScrollRange();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 914
            iconst_0
            istore 1 /* scrollRange */
        start local 1 // int scrollRange
         1: .line 915
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 6
         2: .line 916
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 2 /* child */
        start local 2 // android.view.View child
         3: .line 917
            iconst_0
         4: .line 918
            aload 2 /* child */
            invokevirtual android.view.View.getHeight:()I
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            isub
         5: .line 917
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* scrollRange */
        end local 2 // android.view.View child
         6: .line 920
      StackMap locals: int
      StackMap stack:
            iload 1 /* scrollRange */
            ireturn
        end local 1 // int scrollRange
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Landroid/widget/ScrollView;
            1    7     1  scrollRange  I
            3    6     2        child  Landroid/view/View;

  private android.view.View findFocusableViewInBounds(boolean, int, int);
    descriptor: (ZII)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=14, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // boolean topFocus
        start local 2 // int top
        start local 3 // int bottom
         0: .line 940
            aload 0 /* this */
            iconst_2
            invokevirtual android.widget.ScrollView.getFocusables:(I)Ljava/util/ArrayList;
            astore 4 /* focusables */
        start local 4 // java.util.List focusables
         1: .line 941
            aconst_null
            astore 5 /* focusCandidate */
        start local 5 // android.view.View focusCandidate
         2: .line 950
            iconst_0
            istore 6 /* foundFullyContainedFocusable */
        start local 6 // boolean foundFullyContainedFocusable
         3: .line 952
            aload 4 /* focusables */
            invokeinterface java.util.List.size:()I
            istore 7 /* count */
        start local 7 // int count
         4: .line 953
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 37
         6: .line 954
      StackMap locals: android.widget.ScrollView int int int java.util.List android.view.View int int int
      StackMap stack:
            aload 4 /* focusables */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.view.View
            astore 9 /* view */
        start local 9 // android.view.View view
         7: .line 955
            aload 9 /* view */
            invokevirtual android.view.View.getTop:()I
            istore 10 /* viewTop */
        start local 10 // int viewTop
         8: .line 956
            aload 9 /* view */
            invokevirtual android.view.View.getBottom:()I
            istore 11 /* viewBottom */
        start local 11 // int viewBottom
         9: .line 958
            iload 2 /* top */
            iload 11 /* viewBottom */
            if_icmpge 36
            iload 10 /* viewTop */
            iload 3 /* bottom */
            if_icmpge 36
        10: .line 964
            iload 2 /* top */
            iload 10 /* viewTop */
            if_icmpge 13
        11: .line 965
            iload 11 /* viewBottom */
            iload 3 /* bottom */
        12: .line 964
            if_icmpge 13
            iconst_1
            goto 14
      StackMap locals: android.view.View int int
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 12 /* viewIsFullyContained */
        start local 12 // boolean viewIsFullyContained
        15: .line 967
            aload 5 /* focusCandidate */
            ifnonnull 19
        16: .line 969
            aload 9 /* view */
            astore 5 /* focusCandidate */
        17: .line 970
            iload 12 /* viewIsFullyContained */
            istore 6 /* foundFullyContainedFocusable */
        18: .line 971
            goto 36
        19: .line 973
      StackMap locals: int
      StackMap stack:
            iload 1 /* topFocus */
            ifeq 20
            iload 10 /* viewTop */
            aload 5 /* focusCandidate */
            invokevirtual android.view.View.getTop:()I
            if_icmplt 24
        20: .line 974
      StackMap locals:
      StackMap stack:
            iload 1 /* topFocus */
            ifne 23
            iload 11 /* viewBottom */
            aload 5 /* focusCandidate */
        21: .line 975
            invokevirtual android.view.View.getBottom:()I
        22: .line 972
            if_icmpgt 24
      StackMap locals:
      StackMap stack:
        23: iconst_0
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: istore 13 /* viewIsCloserToBoundary */
        start local 13 // boolean viewIsCloserToBoundary
        26: .line 977
            iload 6 /* foundFullyContainedFocusable */
            ifeq 30
        27: .line 978
            iload 12 /* viewIsFullyContained */
            ifeq 36
            iload 13 /* viewIsCloserToBoundary */
            ifeq 36
        28: .line 984
            aload 9 /* view */
            astore 5 /* focusCandidate */
        29: .line 986
            goto 36
        30: .line 987
      StackMap locals: int
      StackMap stack:
            iload 12 /* viewIsFullyContained */
            ifeq 34
        31: .line 989
            aload 9 /* view */
            astore 5 /* focusCandidate */
        32: .line 990
            iconst_1
            istore 6 /* foundFullyContainedFocusable */
        33: .line 991
            goto 36
      StackMap locals:
      StackMap stack:
        34: iload 13 /* viewIsCloserToBoundary */
            ifeq 36
        35: .line 996
            aload 9 /* view */
            astore 5 /* focusCandidate */
        end local 13 // boolean viewIsCloserToBoundary
        end local 12 // boolean viewIsFullyContained
        end local 11 // int viewBottom
        end local 10 // int viewTop
        end local 9 // android.view.View view
        36: .line 953
      StackMap locals: android.widget.ScrollView int int int java.util.List android.view.View int int int
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 8 /* i */
            iload 7 /* count */
            if_icmplt 6
        end local 8 // int i
        38: .line 1003
            aload 5 /* focusCandidate */
            areturn
        end local 7 // int count
        end local 6 // boolean foundFullyContainedFocusable
        end local 5 // android.view.View focusCandidate
        end local 4 // java.util.List focusables
        end local 3 // int bottom
        end local 2 // int top
        end local 1 // boolean topFocus
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   39     0                          this  Landroid/widget/ScrollView;
            0   39     1                      topFocus  Z
            0   39     2                           top  I
            0   39     3                        bottom  I
            1   39     4                    focusables  Ljava/util/List<Landroid/view/View;>;
            2   39     5                focusCandidate  Landroid/view/View;
            3   39     6  foundFullyContainedFocusable  Z
            4   39     7                         count  I
            5   38     8                             i  I
            7   36     9                          view  Landroid/view/View;
            8   36    10                       viewTop  I
            9   36    11                    viewBottom  I
           15   36    12          viewIsFullyContained  Z
           26   36    13        viewIsCloserToBoundary  Z
    MethodParameters:
          Name  Flags
      topFocus  
      top       
      bottom    

  public boolean pageScroll(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int direction
         0: .line 1019
            iload 1 /* direction */
            sipush 130
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* down */
        start local 2 // boolean down
         3: .line 1020
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            istore 3 /* height */
        start local 3 // int height
         4: .line 1022
            iload 2 /* down */
            ifeq 12
         5: .line 1023
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            iload 3 /* height */
            iadd
            putfield android.graphics.Rect.top:I
         6: .line 1024
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            istore 4 /* count */
        start local 4 // int count
         7: .line 1025
            iload 4 /* count */
            ifle 15
         8: .line 1026
            aload 0 /* this */
            iload 4 /* count */
            iconst_1
            isub
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 5 /* view */
        start local 5 // android.view.View view
         9: .line 1027
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 3 /* height */
            iadd
            aload 5 /* view */
            invokevirtual android.view.View.getBottom:()I
            if_icmple 15
        10: .line 1028
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            aload 5 /* view */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* height */
            isub
            putfield android.graphics.Rect.top:I
        end local 5 // android.view.View view
        end local 4 // int count
        11: .line 1031
            goto 15
        12: .line 1032
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            iload 3 /* height */
            isub
            putfield android.graphics.Rect.top:I
        13: .line 1033
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            ifge 15
        14: .line 1034
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            iconst_0
            putfield android.graphics.Rect.top:I
        15: .line 1037
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 3 /* height */
            iadd
            putfield android.graphics.Rect.bottom:I
        16: .line 1039
            aload 0 /* this */
            iload 1 /* direction */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            invokevirtual android.widget.ScrollView.scrollAndFocus:(III)Z
            ireturn
        end local 3 // int height
        end local 2 // boolean down
        end local 1 // int direction
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Landroid/widget/ScrollView;
            0   17     1  direction  I
            3   17     2       down  Z
            4   17     3     height  I
            7   11     4      count  I
            9   11     5       view  Landroid/view/View;
    MethodParameters:
           Name  Flags
      direction  

  public boolean fullScroll(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int direction
         0: .line 1055
            iload 1 /* direction */
            sipush 130
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* down */
        start local 2 // boolean down
         3: .line 1056
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            istore 3 /* height */
        start local 3 // int height
         4: .line 1058
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            iconst_0
            putfield android.graphics.Rect.top:I
         5: .line 1059
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            iload 3 /* height */
            putfield android.graphics.Rect.bottom:I
         6: .line 1061
            iload 2 /* down */
            ifeq 12
         7: .line 1062
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            istore 4 /* count */
        start local 4 // int count
         8: .line 1063
            iload 4 /* count */
            ifle 12
         9: .line 1064
            aload 0 /* this */
            iload 4 /* count */
            iconst_1
            isub
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 5 /* view */
        start local 5 // android.view.View view
        10: .line 1065
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            aload 5 /* view */
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            iadd
            putfield android.graphics.Rect.bottom:I
        11: .line 1066
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iload 3 /* height */
            isub
            putfield android.graphics.Rect.top:I
        end local 5 // android.view.View view
        end local 4 // int count
        12: .line 1070
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* direction */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            invokevirtual android.widget.ScrollView.scrollAndFocus:(III)Z
            ireturn
        end local 3 // int height
        end local 2 // boolean down
        end local 1 // int direction
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Landroid/widget/ScrollView;
            0   13     1  direction  I
            3   13     2       down  Z
            4   13     3     height  I
            8   12     4      count  I
           10   12     5       view  Landroid/view/View;
    MethodParameters:
           Name  Flags
      direction  

  private boolean scrollAndFocus(int, int, int);
    descriptor: (III)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // int direction
        start local 2 // int top
        start local 3 // int bottom
         0: .line 1086
            iconst_1
            istore 4 /* handled */
        start local 4 // boolean handled
         1: .line 1088
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            istore 5 /* height */
        start local 5 // int height
         2: .line 1089
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            istore 6 /* containerTop */
        start local 6 // int containerTop
         3: .line 1090
            iload 6 /* containerTop */
            iload 5 /* height */
            iadd
            istore 7 /* containerBottom */
        start local 7 // int containerBottom
         4: .line 1091
            iload 1 /* direction */
            bipush 33
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals: android.widget.ScrollView int int int int int int int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* up */
        start local 8 // boolean up
         7: .line 1093
            aload 0 /* this */
            iload 8 /* up */
            iload 2 /* top */
            iload 3 /* bottom */
            invokevirtual android.widget.ScrollView.findFocusableViewInBounds:(ZII)Landroid/view/View;
            astore 9 /* newFocused */
        start local 9 // android.view.View newFocused
         8: .line 1094
            aload 9 /* newFocused */
            ifnonnull 10
         9: .line 1095
            aload 0 /* this */
            astore 9 /* newFocused */
        10: .line 1098
      StackMap locals: int android.view.View
      StackMap stack:
            iload 2 /* top */
            iload 6 /* containerTop */
            if_icmplt 13
            iload 3 /* bottom */
            iload 7 /* containerBottom */
            if_icmpgt 13
        11: .line 1099
            iconst_0
            istore 4 /* handled */
        12: .line 1100
            goto 17
        13: .line 1101
      StackMap locals:
      StackMap stack:
            iload 8 /* up */
            ifeq 14
            iload 2 /* top */
            iload 6 /* containerTop */
            isub
            goto 15
      StackMap locals:
      StackMap stack:
        14: iload 3 /* bottom */
            iload 7 /* containerBottom */
            isub
      StackMap locals:
      StackMap stack: int
        15: istore 10 /* delta */
        start local 10 // int delta
        16: .line 1102
            aload 0 /* this */
            iload 10 /* delta */
            invokevirtual android.widget.ScrollView.doScrollY:(I)V
        end local 10 // int delta
        17: .line 1105
      StackMap locals:
      StackMap stack:
            aload 9 /* newFocused */
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
            if_acmpeq 18
            aload 9 /* newFocused */
            iload 1 /* direction */
            invokevirtual android.view.View.requestFocus:(I)Z
            pop
        18: .line 1107
      StackMap locals:
      StackMap stack:
            iload 4 /* handled */
            ireturn
        end local 9 // android.view.View newFocused
        end local 8 // boolean up
        end local 7 // int containerBottom
        end local 6 // int containerTop
        end local 5 // int height
        end local 4 // boolean handled
        end local 3 // int bottom
        end local 2 // int top
        end local 1 // int direction
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Landroid/widget/ScrollView;
            0   19     1        direction  I
            0   19     2              top  I
            0   19     3           bottom  I
            1   19     4          handled  Z
            2   19     5           height  I
            3   19     6     containerTop  I
            4   19     7  containerBottom  I
            7   19     8               up  Z
            8   19     9       newFocused  Landroid/view/View;
           16   17    10            delta  I
    MethodParameters:
           Name  Flags
      direction  
      top        
      bottom     

  public boolean arrowScroll(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int direction
         0: .line 1119
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
            astore 2 /* currentFocused */
        start local 2 // android.view.View currentFocused
         1: .line 1120
            aload 2 /* currentFocused */
            aload 0 /* this */
            if_acmpne 2
            aconst_null
            astore 2 /* currentFocused */
         2: .line 1122
      StackMap locals: android.view.View
      StackMap stack:
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
            aload 2 /* currentFocused */
            iload 1 /* direction */
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            astore 3 /* nextFocused */
        start local 3 // android.view.View nextFocused
         3: .line 1124
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getMaxScrollAmount:()I
            istore 4 /* maxJump */
        start local 4 // int maxJump
         4: .line 1126
            aload 3 /* nextFocused */
            ifnull 11
            aload 0 /* this */
            aload 3 /* nextFocused */
            iload 4 /* maxJump */
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            invokevirtual android.widget.ScrollView.isWithinDeltaOfScreen:(Landroid/view/View;II)Z
            ifeq 11
         5: .line 1127
            aload 3 /* nextFocused */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
         6: .line 1128
            aload 0 /* this */
            aload 3 /* nextFocused */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
         7: .line 1129
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
            istore 5 /* scrollDelta */
        start local 5 // int scrollDelta
         8: .line 1130
            aload 0 /* this */
            iload 5 /* scrollDelta */
            invokevirtual android.widget.ScrollView.doScrollY:(I)V
         9: .line 1131
            aload 3 /* nextFocused */
            iload 1 /* direction */
            invokevirtual android.view.View.requestFocus:(I)Z
            pop
        end local 5 // int scrollDelta
        10: .line 1132
            goto 26
        11: .line 1134
      StackMap locals: android.view.View int
      StackMap stack:
            iload 4 /* maxJump */
            istore 5 /* scrollDelta */
        start local 5 // int scrollDelta
        12: .line 1136
            iload 1 /* direction */
            bipush 33
            if_icmpne 15
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            iload 5 /* scrollDelta */
            if_icmpge 15
        13: .line 1137
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            istore 5 /* scrollDelta */
        14: .line 1138
            goto 21
      StackMap locals: int
      StackMap stack:
        15: iload 1 /* direction */
            sipush 130
            if_icmpne 21
        16: .line 1139
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 21
        17: .line 1140
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            istore 6 /* daBottom */
        start local 6 // int daBottom
        18: .line 1141
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            iadd
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            istore 7 /* screenBottom */
        start local 7 // int screenBottom
        19: .line 1142
            iload 6 /* daBottom */
            iload 7 /* screenBottom */
            isub
            iload 4 /* maxJump */
            if_icmpge 21
        20: .line 1143
            iload 6 /* daBottom */
            iload 7 /* screenBottom */
            isub
            istore 5 /* scrollDelta */
        end local 7 // int screenBottom
        end local 6 // int daBottom
        21: .line 1147
      StackMap locals:
      StackMap stack:
            iload 5 /* scrollDelta */
            ifne 23
        22: .line 1148
            iconst_0
            ireturn
        23: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* direction */
            sipush 130
            if_icmpne 24
            iload 5 /* scrollDelta */
            goto 25
      StackMap locals:
      StackMap stack: android.widget.ScrollView
        24: iload 5 /* scrollDelta */
            ineg
      StackMap locals: android.widget.ScrollView int android.view.View android.view.View int int
      StackMap stack: android.widget.ScrollView int
        25: invokevirtual android.widget.ScrollView.doScrollY:(I)V
        end local 5 // int scrollDelta
        26: .line 1153
      StackMap locals:
      StackMap stack:
            aload 2 /* currentFocused */
            ifnull 32
            aload 2 /* currentFocused */
            invokevirtual android.view.View.isFocused:()Z
            ifeq 32
        27: .line 1154
            aload 0 /* this */
            aload 2 /* currentFocused */
            invokevirtual android.widget.ScrollView.isOffScreen:(Landroid/view/View;)Z
            ifeq 32
        28: .line 1160
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getDescendantFocusability:()I
            istore 5 /* descendantFocusability */
        start local 5 // int descendantFocusability
        29: .line 1161
            aload 0 /* this */
            ldc 131072
            invokevirtual android.widget.ScrollView.setDescendantFocusability:(I)V
        30: .line 1162
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.requestFocus:()Z
            pop
        31: .line 1163
            aload 0 /* this */
            iload 5 /* descendantFocusability */
            invokevirtual android.widget.ScrollView.setDescendantFocusability:(I)V
        end local 5 // int descendantFocusability
        32: .line 1165
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int maxJump
        end local 3 // android.view.View nextFocused
        end local 2 // android.view.View currentFocused
        end local 1 // int direction
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   33     0                    this  Landroid/widget/ScrollView;
            0   33     1               direction  I
            1   33     2          currentFocused  Landroid/view/View;
            3   33     3             nextFocused  Landroid/view/View;
            4   33     4                 maxJump  I
            8   10     5             scrollDelta  I
           12   26     5             scrollDelta  I
           18   21     6                daBottom  I
           19   21     7            screenBottom  I
           29   32     5  descendantFocusability  I
    MethodParameters:
           Name  Flags
      direction  

  private boolean isOffScreen(android.view.View);
    descriptor: (Landroid/view/View;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View descendant
         0: .line 1173
            aload 0 /* this */
            aload 1 /* descendant */
            iconst_0
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            invokevirtual android.widget.ScrollView.isWithinDeltaOfScreen:(Landroid/view/View;II)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // android.view.View descendant
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Landroid/widget/ScrollView;
            0    3     1  descendant  Landroid/view/View;
    MethodParameters:
            Name  Flags
      descendant  

  private boolean isWithinDeltaOfScreen(android.view.View, int, int);
    descriptor: (Landroid/view/View;II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View descendant
        start local 2 // int delta
        start local 3 // int height
         0: .line 1181
            aload 1 /* descendant */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
         1: .line 1182
            aload 0 /* this */
            aload 1 /* descendant */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
         2: .line 1184
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iload 2 /* delta */
            iadd
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            if_icmplt 5
         3: .line 1185
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 2 /* delta */
            isub
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            iload 3 /* height */
            iadd
         4: .line 1184
            if_icmpgt 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 3 // int height
        end local 2 // int delta
        end local 1 // android.view.View descendant
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/widget/ScrollView;
            0    6     1  descendant  Landroid/view/View;
            0    6     2       delta  I
            0    6     3      height  I
    MethodParameters:
            Name  Flags
      descendant  
      delta       
      height      

  private void doScrollY(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int delta
         0: .line 1194
            iload 1 /* delta */
            ifeq 5
         1: .line 1195
            aload 0 /* this */
            getfield android.widget.ScrollView.mSmoothScrollingEnabled:Z
            ifeq 4
         2: .line 1196
            aload 0 /* this */
            iconst_0
            iload 1 /* delta */
            invokevirtual android.widget.ScrollView.smoothScrollBy:(II)V
         3: .line 1197
            goto 5
         4: .line 1198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 1 /* delta */
            invokevirtual android.widget.ScrollView.scrollBy:(II)V
         5: .line 1201
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int delta
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/widget/ScrollView;
            0    6     1  delta  I
    MethodParameters:
       Name  Flags
      delta  

  public final void smoothScrollBy(int, int);
    descriptor: (II)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // int dx
        start local 2 // int dy
         0: .line 1210
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifne 2
         1: .line 1212
            return
         2: .line 1214
      StackMap locals:
      StackMap stack:
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            aload 0 /* this */
            getfield android.widget.ScrollView.mLastScroll:J
            lsub
            lstore 3 /* duration */
        start local 3 // long duration
         3: .line 1215
            lload 3 /* duration */
            ldc 250
            lcmp
            ifle 12
         4: .line 1216
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            istore 5 /* height */
        start local 5 // int height
         5: .line 1217
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            istore 6 /* bottom */
        start local 6 // int bottom
         6: .line 1218
            iconst_0
            iload 6 /* bottom */
            iload 5 /* height */
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* maxY */
        start local 7 // int maxY
         7: .line 1219
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 8 /* scrollY */
        start local 8 // int scrollY
         8: .line 1220
            iconst_0
            iload 8 /* scrollY */
            iload 2 /* dy */
            iadd
            iload 7 /* maxY */
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Math.max:(II)I
            iload 8 /* scrollY */
            isub
            istore 2 /* dy */
         9: .line 1222
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            iload 8 /* scrollY */
            iconst_0
            iload 2 /* dy */
            invokevirtual android.widget.OverScroller.startScroll:(IIII)V
        10: .line 1223
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        end local 8 // int scrollY
        end local 7 // int maxY
        end local 6 // int bottom
        end local 5 // int height
        11: .line 1224
            goto 18
        12: .line 1225
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifne 17
        13: .line 1226
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.abortAnimation:()V
        14: .line 1227
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            ifnull 17
        15: .line 1228
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            invokevirtual android.os.StrictMode$Span.finish:()V
        16: .line 1229
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
        17: .line 1232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* dx */
            iload 2 /* dy */
            invokevirtual android.widget.ScrollView.scrollBy:(II)V
        18: .line 1234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.ScrollView.mLastScroll:J
        19: .line 1235
            return
        end local 3 // long duration
        end local 2 // int dy
        end local 1 // int dx
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Landroid/widget/ScrollView;
            0   20     1        dx  I
            0   20     2        dy  I
            3   20     3  duration  J
            5   11     5    height  I
            6   11     6    bottom  I
            7   11     7      maxY  I
            8   11     8   scrollY  I
    MethodParameters:
      Name  Flags
      dx    
      dy    

  public final void smoothScrollTo(int, int);
    descriptor: (II)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // int x
        start local 2 // int y
         0: .line 1244
            aload 0 /* this */
            iload 1 /* x */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            isub
            iload 2 /* y */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            isub
            invokevirtual android.widget.ScrollView.smoothScrollBy:(II)V
         1: .line 1245
            return
        end local 2 // int y
        end local 1 // int x
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/ScrollView;
            0    2     1     x  I
            0    2     2     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  protected int computeVerticalScrollRange();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1253
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 1254
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            istore 2 /* contentHeight */
        start local 2 // int contentHeight
         2: .line 1255
            iload 1 /* count */
            ifne 4
         3: .line 1256
            iload 2 /* contentHeight */
            ireturn
         4: .line 1259
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            istore 3 /* scrollRange */
        start local 3 // int scrollRange
         5: .line 1260
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 4 /* scrollY */
        start local 4 // int scrollY
         6: .line 1261
            iconst_0
            iload 3 /* scrollRange */
            iload 2 /* contentHeight */
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* overscrollBottom */
        start local 5 // int overscrollBottom
         7: .line 1262
            iload 4 /* scrollY */
            ifge 10
         8: .line 1263
            iload 3 /* scrollRange */
            iload 4 /* scrollY */
            isub
            istore 3 /* scrollRange */
         9: .line 1264
            goto 12
      StackMap locals: int int int
      StackMap stack:
        10: iload 4 /* scrollY */
            iload 5 /* overscrollBottom */
            if_icmple 12
        11: .line 1265
            iload 3 /* scrollRange */
            iload 4 /* scrollY */
            iload 5 /* overscrollBottom */
            isub
            iadd
            istore 3 /* scrollRange */
        12: .line 1268
      StackMap locals:
      StackMap stack:
            iload 3 /* scrollRange */
            ireturn
        end local 5 // int overscrollBottom
        end local 4 // int scrollY
        end local 3 // int scrollRange
        end local 2 // int contentHeight
        end local 1 // int count
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Landroid/widget/ScrollView;
            1   13     1             count  I
            2   13     2     contentHeight  I
            5   13     3       scrollRange  I
            6   13     4           scrollY  I
            7   13     5  overscrollBottom  I

  protected int computeVerticalScrollOffset();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1273
            iconst_0
            aload 0 /* this */
            invokespecial android.widget.FrameLayout.computeVerticalScrollOffset:()I
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ScrollView;

  protected void measureChild(android.view.View, int, int);
    descriptor: (Landroid/view/View;II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // int parentWidthMeasureSpec
        start local 3 // int parentHeightMeasureSpec
         0: .line 1279
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            astore 4 /* lp */
        start local 4 // android.view.ViewGroup$LayoutParams lp
         1: .line 1284
            iload 2 /* parentWidthMeasureSpec */
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
         2: .line 1285
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            iadd
            aload 4 /* lp */
            getfield android.view.ViewGroup$LayoutParams.width:I
         3: .line 1284
            invokestatic android.widget.ScrollView.getChildMeasureSpec:(III)I
            istore 5 /* childWidthMeasureSpec */
        start local 5 // int childWidthMeasureSpec
         4: .line 1286
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            iadd
            istore 7 /* verticalPadding */
        start local 7 // int verticalPadding
         5: .line 1288
            iconst_0
            iload 3 /* parentHeightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            iload 7 /* verticalPadding */
            isub
            invokestatic java.lang.Math.max:(II)I
         6: .line 1289
            iconst_0
         7: .line 1287
            invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
            istore 6 /* childHeightMeasureSpec */
        start local 6 // int childHeightMeasureSpec
         8: .line 1291
            aload 1 /* child */
            iload 5 /* childWidthMeasureSpec */
            iload 6 /* childHeightMeasureSpec */
            invokevirtual android.view.View.measure:(II)V
         9: .line 1292
            return
        end local 7 // int verticalPadding
        end local 6 // int childHeightMeasureSpec
        end local 5 // int childWidthMeasureSpec
        end local 4 // android.view.ViewGroup$LayoutParams lp
        end local 3 // int parentHeightMeasureSpec
        end local 2 // int parentWidthMeasureSpec
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Landroid/widget/ScrollView;
            0   10     1                    child  Landroid/view/View;
            0   10     2   parentWidthMeasureSpec  I
            0   10     3  parentHeightMeasureSpec  I
            1   10     4                       lp  Landroid/view/ViewGroup$LayoutParams;
            4   10     5    childWidthMeasureSpec  I
            8   10     6   childHeightMeasureSpec  I
            5   10     7          verticalPadding  I
    MethodParameters:
                         Name  Flags
      child                    
      parentWidthMeasureSpec   
      parentHeightMeasureSpec  

  protected void measureChildWithMargins(android.view.View, int, int, int, int);
    descriptor: (Landroid/view/View;IIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=6
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // int parentWidthMeasureSpec
        start local 3 // int widthUsed
        start local 4 // int parentHeightMeasureSpec
        start local 5 // int heightUsed
         0: .line 1297
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.view.ViewGroup$MarginLayoutParams
            astore 6 /* lp */
        start local 6 // android.view.ViewGroup$MarginLayoutParams lp
         1: .line 1299
            iload 2 /* parentWidthMeasureSpec */
         2: .line 1300
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            iadd
            aload 6 /* lp */
            getfield android.view.ViewGroup$MarginLayoutParams.leftMargin:I
            iadd
            aload 6 /* lp */
            getfield android.view.ViewGroup$MarginLayoutParams.rightMargin:I
            iadd
         3: .line 1301
            iload 3 /* widthUsed */
         4: .line 1300
            iadd
         5: .line 1301
            aload 6 /* lp */
            getfield android.view.ViewGroup$MarginLayoutParams.width:I
         6: .line 1299
            invokestatic android.widget.ScrollView.getChildMeasureSpec:(III)I
            istore 7 /* childWidthMeasureSpec */
        start local 7 // int childWidthMeasureSpec
         7: .line 1302
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            iadd
            aload 6 /* lp */
            getfield android.view.ViewGroup$MarginLayoutParams.topMargin:I
            iadd
            aload 6 /* lp */
            getfield android.view.ViewGroup$MarginLayoutParams.bottomMargin:I
            iadd
         8: .line 1303
            iload 5 /* heightUsed */
         9: .line 1302
            iadd
            istore 8 /* usedTotal */
        start local 8 // int usedTotal
        10: .line 1305
            iconst_0
            iload 4 /* parentHeightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            iload 8 /* usedTotal */
            isub
            invokestatic java.lang.Math.max:(II)I
        11: .line 1306
            iconst_0
        12: .line 1304
            invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
            istore 9 /* childHeightMeasureSpec */
        start local 9 // int childHeightMeasureSpec
        13: .line 1308
            aload 1 /* child */
            iload 7 /* childWidthMeasureSpec */
            iload 9 /* childHeightMeasureSpec */
            invokevirtual android.view.View.measure:(II)V
        14: .line 1309
            return
        end local 9 // int childHeightMeasureSpec
        end local 8 // int usedTotal
        end local 7 // int childWidthMeasureSpec
        end local 6 // android.view.ViewGroup$MarginLayoutParams lp
        end local 5 // int heightUsed
        end local 4 // int parentHeightMeasureSpec
        end local 3 // int widthUsed
        end local 2 // int parentWidthMeasureSpec
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   15     0                     this  Landroid/widget/ScrollView;
            0   15     1                    child  Landroid/view/View;
            0   15     2   parentWidthMeasureSpec  I
            0   15     3                widthUsed  I
            0   15     4  parentHeightMeasureSpec  I
            0   15     5               heightUsed  I
            1   15     6                       lp  Landroid/view/ViewGroup$MarginLayoutParams;
            7   15     7    childWidthMeasureSpec  I
           10   15     8                usedTotal  I
           13   15     9   childHeightMeasureSpec  I
    MethodParameters:
                         Name  Flags
      child                    
      parentWidthMeasureSpec   
      widthUsed                
      parentHeightMeasureSpec  
      heightUsed               

  public void computeScroll();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1313
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.computeScrollOffset:()Z
            ifeq 27
         1: .line 1330
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            istore 1 /* oldX */
        start local 1 // int oldX
         2: .line 1331
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 2 /* oldY */
        start local 2 // int oldY
         3: .line 1332
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.getCurrX:()I
            istore 3 /* x */
        start local 3 // int x
         4: .line 1333
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.getCurrY:()I
            istore 4 /* y */
        start local 4 // int y
         5: .line 1335
            iload 1 /* oldX */
            iload 3 /* x */
            if_icmpne 6
            iload 2 /* oldY */
            iload 4 /* y */
            if_icmpeq 24
         6: .line 1336
      StackMap locals: android.widget.ScrollView int int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            istore 5 /* range */
        start local 5 // int range
         7: .line 1337
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getOverScrollMode:()I
            istore 6 /* overscrollMode */
        start local 6 // int overscrollMode
         8: .line 1338
            iload 6 /* overscrollMode */
            ifeq 12
         9: .line 1339
            iload 6 /* overscrollMode */
            iconst_1
            if_icmpne 11
            iload 5 /* range */
        10: .line 1338
            ifgt 12
      StackMap locals: int int
      StackMap stack:
        11: iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* canOverscroll */
        start local 7 // boolean canOverscroll
        14: .line 1341
            aload 0 /* this */
            iload 3 /* x */
            iload 1 /* oldX */
            isub
            iload 4 /* y */
            iload 2 /* oldY */
            isub
            iload 1 /* oldX */
            iload 2 /* oldY */
            iconst_0
            iload 5 /* range */
        15: .line 1342
            iconst_0
            aload 0 /* this */
            getfield android.widget.ScrollView.mOverflingDistance:I
            iconst_0
        16: .line 1341
            invokevirtual android.widget.ScrollView.overScrollBy:(IIIIIIIIZ)Z
            pop
        17: .line 1343
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 1 /* oldX */
            iload 2 /* oldY */
            invokevirtual android.widget.ScrollView.onScrollChanged:(IIII)V
        18: .line 1345
            iload 7 /* canOverscroll */
            ifeq 24
        19: .line 1346
            iload 4 /* y */
            ifge 22
            iload 2 /* oldY */
            iflt 22
        20: .line 1347
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.getCurrVelocity:()F
            f2i
            invokevirtual android.widget.EdgeEffect.onAbsorb:(I)V
        21: .line 1348
            goto 24
      StackMap locals: int
      StackMap stack:
        22: iload 4 /* y */
            iload 5 /* range */
            if_icmple 24
            iload 2 /* oldY */
            iload 5 /* range */
            if_icmpgt 24
        23: .line 1349
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            invokevirtual android.widget.OverScroller.getCurrVelocity:()F
            f2i
            invokevirtual android.widget.EdgeEffect.onAbsorb:(I)V
        end local 7 // boolean canOverscroll
        end local 6 // int overscrollMode
        end local 5 // int range
        24: .line 1354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.awakenScrollBars:()Z
            ifne 30
        25: .line 1356
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        end local 4 // int y
        end local 3 // int x
        end local 2 // int oldY
        end local 1 // int oldX
        26: .line 1358
            goto 30
        27: .line 1359
      StackMap locals: android.widget.ScrollView
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            ifnull 30
        28: .line 1360
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            invokevirtual android.os.StrictMode$Span.finish:()V
        29: .line 1361
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
        30: .line 1364
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Landroid/widget/ScrollView;
            2   26     1            oldX  I
            3   26     2            oldY  I
            4   26     3               x  I
            5   26     4               y  I
            7   24     5           range  I
            8   24     6  overscrollMode  I
           14   24     7   canOverscroll  Z

  private void scrollToChild(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
         0: .line 1372
            aload 1 /* child */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
         1: .line 1375
            aload 0 /* this */
            aload 1 /* child */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
         2: .line 1377
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
            istore 2 /* scrollDelta */
        start local 2 // int scrollDelta
         3: .line 1379
            iload 2 /* scrollDelta */
            ifeq 5
         4: .line 1380
            aload 0 /* this */
            iconst_0
            iload 2 /* scrollDelta */
            invokevirtual android.widget.ScrollView.scrollBy:(II)V
         5: .line 1382
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int scrollDelta
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/widget/ScrollView;
            0    6     1        child  Landroid/view/View;
            3    6     2  scrollDelta  I
    MethodParameters:
       Name  Flags
      child  

  private boolean scrollToChildRect(android.graphics.Rect, boolean);
    descriptor: (Landroid/graphics/Rect;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // android.graphics.Rect rect
        start local 2 // boolean immediate
         0: .line 1393
            aload 0 /* this */
            aload 1 /* rect */
            invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
            istore 3 /* delta */
        start local 3 // int delta
         1: .line 1394
            iload 3 /* delta */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* scroll */
        start local 4 // boolean scroll
         4: .line 1395
            iload 4 /* scroll */
            ifeq 9
         5: .line 1396
            iload 2 /* immediate */
            ifeq 8
         6: .line 1397
            aload 0 /* this */
            iconst_0
            iload 3 /* delta */
            invokevirtual android.widget.ScrollView.scrollBy:(II)V
         7: .line 1398
            goto 9
         8: .line 1399
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 3 /* delta */
            invokevirtual android.widget.ScrollView.smoothScrollBy:(II)V
         9: .line 1402
      StackMap locals:
      StackMap stack:
            iload 4 /* scroll */
            ireturn
        end local 4 // boolean scroll
        end local 3 // int delta
        end local 2 // boolean immediate
        end local 1 // android.graphics.Rect rect
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Landroid/widget/ScrollView;
            0   10     1       rect  Landroid/graphics/Rect;
            0   10     2  immediate  Z
            1   10     3      delta  I
            4   10     4     scroll  Z
    MethodParameters:
           Name  Flags
      rect       
      immediate  

  protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
    descriptor: (Landroid/graphics/Rect;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.graphics.Rect rect
         0: .line 1414
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifne 1
            iconst_0
            ireturn
         1: .line 1416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            istore 2 /* height */
        start local 2 // int height
         2: .line 1417
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            istore 3 /* screenTop */
        start local 3 // int screenTop
         3: .line 1418
            iload 3 /* screenTop */
            iload 2 /* height */
            iadd
            istore 4 /* screenBottom */
        start local 4 // int screenBottom
         4: .line 1420
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getVerticalFadingEdgeLength:()I
            istore 5 /* fadingEdge */
        start local 5 // int fadingEdge
         5: .line 1423
            aload 1 /* rect */
            getfield android.graphics.Rect.top:I
            ifle 7
         6: .line 1424
            iload 3 /* screenTop */
            iload 5 /* fadingEdge */
            iadd
            istore 3 /* screenTop */
         7: .line 1428
      StackMap locals: android.widget.ScrollView android.graphics.Rect int int int int
      StackMap stack:
            aload 1 /* rect */
            getfield android.graphics.Rect.bottom:I
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            if_icmpge 9
         8: .line 1429
            iload 4 /* screenBottom */
            iload 5 /* fadingEdge */
            isub
            istore 4 /* screenBottom */
         9: .line 1432
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* scrollYDelta */
        start local 6 // int scrollYDelta
        10: .line 1434
            aload 1 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 4 /* screenBottom */
            if_icmple 19
            aload 1 /* rect */
            getfield android.graphics.Rect.top:I
            iload 3 /* screenTop */
            if_icmple 19
        11: .line 1439
            aload 1 /* rect */
            invokevirtual android.graphics.Rect.height:()I
            iload 2 /* height */
            if_icmple 14
        12: .line 1441
            iload 6 /* scrollYDelta */
            aload 1 /* rect */
            getfield android.graphics.Rect.top:I
            iload 3 /* screenTop */
            isub
            iadd
            istore 6 /* scrollYDelta */
        13: .line 1442
            goto 15
        14: .line 1444
      StackMap locals: int
      StackMap stack:
            iload 6 /* scrollYDelta */
            aload 1 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 4 /* screenBottom */
            isub
            iadd
            istore 6 /* scrollYDelta */
        15: .line 1448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            istore 7 /* bottom */
        start local 7 // int bottom
        16: .line 1449
            iload 7 /* bottom */
            iload 4 /* screenBottom */
            isub
            istore 8 /* distanceToBottom */
        start local 8 // int distanceToBottom
        17: .line 1450
            iload 6 /* scrollYDelta */
            iload 8 /* distanceToBottom */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* scrollYDelta */
        end local 8 // int distanceToBottom
        end local 7 // int bottom
        18: .line 1452
            goto 25
      StackMap locals:
      StackMap stack:
        19: aload 1 /* rect */
            getfield android.graphics.Rect.top:I
            iload 3 /* screenTop */
            if_icmpge 25
            aload 1 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 4 /* screenBottom */
            if_icmpge 25
        20: .line 1457
            aload 1 /* rect */
            invokevirtual android.graphics.Rect.height:()I
            iload 2 /* height */
            if_icmple 23
        21: .line 1459
            iload 6 /* scrollYDelta */
            iload 4 /* screenBottom */
            aload 1 /* rect */
            getfield android.graphics.Rect.bottom:I
            isub
            isub
            istore 6 /* scrollYDelta */
        22: .line 1460
            goto 24
        23: .line 1462
      StackMap locals:
      StackMap stack:
            iload 6 /* scrollYDelta */
            iload 3 /* screenTop */
            aload 1 /* rect */
            getfield android.graphics.Rect.top:I
            isub
            isub
            istore 6 /* scrollYDelta */
        24: .line 1466
      StackMap locals:
      StackMap stack:
            iload 6 /* scrollYDelta */
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollY:()I
            ineg
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* scrollYDelta */
        25: .line 1468
      StackMap locals:
      StackMap stack:
            iload 6 /* scrollYDelta */
            ireturn
        end local 6 // int scrollYDelta
        end local 5 // int fadingEdge
        end local 4 // int screenBottom
        end local 3 // int screenTop
        end local 2 // int height
        end local 1 // android.graphics.Rect rect
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Landroid/widget/ScrollView;
            0   26     1              rect  Landroid/graphics/Rect;
            2   26     2            height  I
            3   26     3         screenTop  I
            4   26     4      screenBottom  I
            5   26     5        fadingEdge  I
           10   26     6      scrollYDelta  I
           16   18     7            bottom  I
           17   18     8  distanceToBottom  I
    MethodParameters:
      Name  Flags
      rect  

  public void requestChildFocus(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // android.view.View focused
         0: .line 1473
            aload 2 /* focused */
            ifnull 5
            aload 2 /* focused */
            invokevirtual android.view.View.getRevealOnFocusHint:()Z
            ifeq 5
         1: .line 1474
            aload 0 /* this */
            getfield android.widget.ScrollView.mIsLayoutDirty:Z
            ifne 4
         2: .line 1475
            aload 0 /* this */
            aload 2 /* focused */
            invokevirtual android.widget.ScrollView.scrollToChild:(Landroid/view/View;)V
         3: .line 1476
            goto 5
         4: .line 1478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* focused */
            putfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
         5: .line 1481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            aload 2 /* focused */
            invokespecial android.widget.FrameLayout.requestChildFocus:(Landroid/view/View;Landroid/view/View;)V
         6: .line 1482
            return
        end local 2 // android.view.View focused
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Landroid/widget/ScrollView;
            0    7     1    child  Landroid/view/View;
            0    7     2  focused  Landroid/view/View;
    MethodParameters:
         Name  Flags
      child    
      focused  

  protected boolean onRequestFocusInDescendants(int, android.graphics.Rect);
    descriptor: (ILandroid/graphics/Rect;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // int direction
        start local 2 // android.graphics.Rect previouslyFocusedRect
         0: .line 1498
            iload 1 /* direction */
            iconst_2
            if_icmpne 3
         1: .line 1499
            sipush 130
            istore 1 /* direction */
         2: .line 1500
            goto 5
      StackMap locals:
      StackMap stack:
         3: iload 1 /* direction */
            iconst_1
            if_icmpne 5
         4: .line 1501
            bipush 33
            istore 1 /* direction */
         5: .line 1504
      StackMap locals:
      StackMap stack:
            aload 2 /* previouslyFocusedRect */
            ifnonnull 7
         6: .line 1505
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
            aconst_null
            iload 1 /* direction */
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            goto 10
         7: .line 1506
      StackMap locals:
      StackMap stack:
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
         8: .line 1507
            aload 2 /* previouslyFocusedRect */
            iload 1 /* direction */
         9: .line 1506
            invokevirtual android.view.FocusFinder.findNextFocusFromRect:(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View;
        10: .line 1504
      StackMap locals:
      StackMap stack: android.view.View
            astore 3 /* nextFocus */
        start local 3 // android.view.View nextFocus
        11: .line 1509
            aload 3 /* nextFocus */
            ifnonnull 13
        12: .line 1510
            iconst_0
            ireturn
        13: .line 1513
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            aload 3 /* nextFocus */
            invokevirtual android.widget.ScrollView.isOffScreen:(Landroid/view/View;)Z
            ifeq 15
        14: .line 1514
            iconst_0
            ireturn
        15: .line 1517
      StackMap locals:
      StackMap stack:
            aload 3 /* nextFocus */
            iload 1 /* direction */
            aload 2 /* previouslyFocusedRect */
            invokevirtual android.view.View.requestFocus:(ILandroid/graphics/Rect;)Z
            ireturn
        end local 3 // android.view.View nextFocus
        end local 2 // android.graphics.Rect previouslyFocusedRect
        end local 1 // int direction
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Landroid/widget/ScrollView;
            0   16     1              direction  I
            0   16     2  previouslyFocusedRect  Landroid/graphics/Rect;
           11   16     3              nextFocus  Landroid/view/View;
    MethodParameters:
                       Name  Flags
      direction              
      previouslyFocusedRect  

  public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
    descriptor: (Landroid/view/View;Landroid/graphics/Rect;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // android.graphics.Rect rectangle
        start local 3 // boolean immediate
         0: .line 1524
            aload 2 /* rectangle */
            aload 1 /* child */
            invokevirtual android.view.View.getLeft:()I
            aload 1 /* child */
            invokevirtual android.view.View.getScrollX:()I
            isub
         1: .line 1525
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            aload 1 /* child */
            invokevirtual android.view.View.getScrollY:()I
            isub
         2: .line 1524
            invokevirtual android.graphics.Rect.offset:(II)V
         3: .line 1527
            aload 0 /* this */
            aload 2 /* rectangle */
            iload 3 /* immediate */
            invokevirtual android.widget.ScrollView.scrollToChildRect:(Landroid/graphics/Rect;Z)Z
            ireturn
        end local 3 // boolean immediate
        end local 2 // android.graphics.Rect rectangle
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/widget/ScrollView;
            0    4     1      child  Landroid/view/View;
            0    4     2  rectangle  Landroid/graphics/Rect;
            0    4     3  immediate  Z
    MethodParameters:
           Name  Flags
      child      
      rectangle  
      immediate  

  public void requestLayout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1532
            aload 0 /* this */
            iconst_1
            putfield android.widget.ScrollView.mIsLayoutDirty:Z
         1: .line 1533
            aload 0 /* this */
            invokespecial android.widget.FrameLayout.requestLayout:()V
         2: .line 1534
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/ScrollView;

  protected void onDetachedFromWindow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1538
            aload 0 /* this */
            invokespecial android.widget.FrameLayout.onDetachedFromWindow:()V
         1: .line 1540
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
            ifnull 4
         2: .line 1541
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
            invokevirtual android.os.StrictMode$Span.finish:()V
         3: .line 1542
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
         4: .line 1544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            ifnull 7
         5: .line 1545
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            invokevirtual android.os.StrictMode$Span.finish:()V
         6: .line 1546
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
         7: .line 1548
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/widget/ScrollView;

  protected void onLayout(boolean, int, int, int, int);
    descriptor: (ZIIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // android.widget.ScrollView this
        start local 1 // boolean changed
        start local 2 // int l
        start local 3 // int t
        start local 4 // int r
        start local 5 // int b
         0: .line 1552
            aload 0 /* this */
            iload 1 /* changed */
            iload 2 /* l */
            iload 3 /* t */
            iload 4 /* r */
            iload 5 /* b */
            invokespecial android.widget.FrameLayout.onLayout:(ZIIII)V
         1: .line 1553
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mIsLayoutDirty:Z
         2: .line 1555
            aload 0 /* this */
            getfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
            ifnull 4
            aload 0 /* this */
            getfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
            aload 0 /* this */
            invokestatic android.widget.ScrollView.isViewDescendantOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 4
         3: .line 1556
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
            invokevirtual android.widget.ScrollView.scrollToChild:(Landroid/view/View;)V
         4: .line 1558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
         5: .line 1560
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.isLaidOut:()Z
            ifne 20
         6: .line 1561
            aload 0 /* this */
            getfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
            ifnull 9
         7: .line 1562
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
            getfield android.widget.ScrollView$SavedState.scrollPosition:I
            putfield android.widget.ScrollView.mScrollY:I
         8: .line 1563
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
         9: .line 1566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 10
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getMeasuredHeight:()I
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* childHeight */
        start local 6 // int childHeight
        12: .line 1567
            iconst_0
        13: .line 1568
            iload 6 /* childHeight */
            iload 5 /* b */
            iload 3 /* t */
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            isub
        14: .line 1567
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* scrollRange */
        start local 7 // int scrollRange
        15: .line 1571
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 7 /* scrollRange */
            if_icmple 18
        16: .line 1572
            aload 0 /* this */
            iload 7 /* scrollRange */
            putfield android.widget.ScrollView.mScrollY:I
        17: .line 1573
            goto 20
      StackMap locals: int int
      StackMap stack:
        18: aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            ifge 20
        19: .line 1574
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mScrollY:I
        end local 7 // int scrollRange
        end local 6 // int childHeight
        20: .line 1579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            invokevirtual android.widget.ScrollView.scrollTo:(II)V
        21: .line 1580
            return
        end local 5 // int b
        end local 4 // int r
        end local 3 // int t
        end local 2 // int l
        end local 1 // boolean changed
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Landroid/widget/ScrollView;
            0   22     1      changed  Z
            0   22     2            l  I
            0   22     3            t  I
            0   22     4            r  I
            0   22     5            b  I
           12   20     6  childHeight  I
           15   20     7  scrollRange  I
    MethodParameters:
         Name  Flags
      changed  
      l        
      t        
      r        
      b        

  protected void onSizeChanged(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.widget.ScrollView this
        start local 1 // int w
        start local 2 // int h
        start local 3 // int oldw
        start local 4 // int oldh
         0: .line 1584
            aload 0 /* this */
            iload 1 /* w */
            iload 2 /* h */
            iload 3 /* oldw */
            iload 4 /* oldh */
            invokespecial android.widget.FrameLayout.onSizeChanged:(IIII)V
         1: .line 1586
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
            astore 5 /* currentFocused */
        start local 5 // android.view.View currentFocused
         2: .line 1587
            aload 5 /* currentFocused */
            ifnull 3
            aload 0 /* this */
            aload 5 /* currentFocused */
            if_acmpne 4
         3: .line 1588
      StackMap locals: android.view.View
      StackMap stack:
            return
         4: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* currentFocused */
            iconst_0
            iload 4 /* oldh */
            invokevirtual android.widget.ScrollView.isWithinDeltaOfScreen:(Landroid/view/View;II)Z
            ifeq 9
         5: .line 1594
            aload 5 /* currentFocused */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
         6: .line 1595
            aload 0 /* this */
            aload 5 /* currentFocused */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
         7: .line 1596
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
            istore 6 /* scrollDelta */
        start local 6 // int scrollDelta
         8: .line 1597
            aload 0 /* this */
            iload 6 /* scrollDelta */
            invokevirtual android.widget.ScrollView.doScrollY:(I)V
        end local 6 // int scrollDelta
         9: .line 1599
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.view.View currentFocused
        end local 4 // int oldh
        end local 3 // int oldw
        end local 2 // int h
        end local 1 // int w
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Landroid/widget/ScrollView;
            0   10     1               w  I
            0   10     2               h  I
            0   10     3            oldw  I
            0   10     4            oldh  I
            2   10     5  currentFocused  Landroid/view/View;
            8    9     6     scrollDelta  I
    MethodParameters:
      Name  Flags
      w     
      h     
      oldw  
      oldh  

  private static boolean isViewDescendantOf(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.view.View child
        start local 1 // android.view.View parent
         0: .line 1605
            aload 0 /* child */
            aload 1 /* parent */
            if_acmpne 2
         1: .line 1606
            iconst_1
            ireturn
         2: .line 1609
      StackMap locals:
      StackMap stack:
            aload 0 /* child */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 2 /* theParent */
        start local 2 // android.view.ViewParent theParent
         3: .line 1610
            aload 2 /* theParent */
            instanceof android.view.ViewGroup
            ifeq 4
            aload 2 /* theParent */
            checkcast android.view.View
            aload 1 /* parent */
            invokestatic android.widget.ScrollView.isViewDescendantOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: android.view.ViewParent
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // android.view.ViewParent theParent
        end local 1 // android.view.View parent
        end local 0 // android.view.View child
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      child  Landroid/view/View;
            0    5     1     parent  Landroid/view/View;
            3    5     2  theParent  Landroid/view/ViewParent;
    MethodParameters:
        Name  Flags
      child   
      parent  

  public void fling(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=4, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int velocityY
         0: .line 1621
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 9
         1: .line 1622
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            istore 2 /* height */
        start local 2 // int height
         2: .line 1623
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            istore 3 /* bottom */
        start local 3 // int bottom
         3: .line 1625
            aload 0 /* this */
            getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iconst_0
            iload 1 /* velocityY */
            iconst_0
            iconst_0
            iconst_0
         4: .line 1626
            iconst_0
            iload 3 /* bottom */
            iload 2 /* height */
            isub
            invokestatic java.lang.Math.max:(II)I
            iconst_0
            iload 2 /* height */
            iconst_2
            idiv
         5: .line 1625
            invokevirtual android.widget.OverScroller.fling:(IIIIIIIIII)V
         6: .line 1628
            aload 0 /* this */
            getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
            ifnonnull 8
         7: .line 1629
            aload 0 /* this */
            ldc "ScrollView-fling"
            invokestatic android.os.StrictMode.enterCriticalSpan:(Ljava/lang/String;)Landroid/os/StrictMode$Span;
            putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
         8: .line 1632
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        end local 3 // int bottom
        end local 2 // int height
         9: .line 1634
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int velocityY
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Landroid/widget/ScrollView;
            0   10     1  velocityY  I
            2    9     2     height  I
            3    9     3     bottom  I
    MethodParameters:
           Name  Flags
      velocityY  

  private void flingWithNestedDispatch(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int velocityY
         0: .line 1637
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            ifgt 1
            iload 1 /* velocityY */
            ifle 4
         1: .line 1638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            if_icmplt 3
            iload 1 /* velocityY */
         2: .line 1637
            ifge 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* canFling */
        start local 2 // boolean canFling
         6: .line 1639
            aload 0 /* this */
            fconst_0
            iload 1 /* velocityY */
            i2f
            invokevirtual android.widget.ScrollView.dispatchNestedPreFling:(FF)Z
            ifne 10
         7: .line 1640
            aload 0 /* this */
            fconst_0
            iload 1 /* velocityY */
            i2f
            iload 2 /* canFling */
            invokevirtual android.widget.ScrollView.dispatchNestedFling:(FFZ)Z
            pop
         8: .line 1641
            iload 2 /* canFling */
            ifeq 10
         9: .line 1642
            aload 0 /* this */
            iload 1 /* velocityY */
            invokevirtual android.widget.ScrollView.fling:(I)V
        10: .line 1645
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean canFling
        end local 1 // int velocityY
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Landroid/widget/ScrollView;
            0   11     1  velocityY  I
            6   11     2   canFling  Z
    MethodParameters:
           Name  Flags
      velocityY  

  private void endDrag();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1648
            aload 0 /* this */
            iconst_0
            putfield android.widget.ScrollView.mIsBeingDragged:Z
         1: .line 1650
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
         2: .line 1652
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            ifnull 5
         3: .line 1653
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.onRelease:()V
         4: .line 1654
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.onRelease:()V
         5: .line 1657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
            ifnull 8
         6: .line 1658
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
            invokevirtual android.os.StrictMode$Span.finish:()V
         7: .line 1659
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
         8: .line 1661
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/widget/ScrollView;

  public void scrollTo(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.widget.ScrollView this
        start local 1 // int x
        start local 2 // int y
         0: .line 1671
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getChildCount:()I
            ifle 6
         1: .line 1672
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
            astore 3 /* child */
        start local 3 // android.view.View child
         2: .line 1673
            iload 1 /* x */
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            isub
            aload 3 /* child */
            invokevirtual android.view.View.getWidth:()I
            invokestatic android.widget.ScrollView.clamp:(III)I
            istore 1 /* x */
         3: .line 1674
            iload 2 /* y */
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            aload 3 /* child */
            invokevirtual android.view.View.getHeight:()I
            invokestatic android.widget.ScrollView.clamp:(III)I
            istore 2 /* y */
         4: .line 1675
            iload 1 /* x */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollX:I
            if_icmpne 5
            iload 2 /* y */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            if_icmpeq 6
         5: .line 1676
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            iload 1 /* x */
            iload 2 /* y */
            invokespecial android.widget.FrameLayout.scrollTo:(II)V
        end local 3 // android.view.View child
         6: .line 1679
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int y
        end local 1 // int x
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/widget/ScrollView;
            0    7     1      x  I
            0    7     2      y  I
            2    6     3  child  Landroid/view/View;
    MethodParameters:
      Name  Flags
      x     
      y     

  public void setOverScrollMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // int mode
         0: .line 1683
            iload 1 /* mode */
            iconst_2
            if_icmpeq 6
         1: .line 1684
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            ifnonnull 8
         2: .line 1685
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getContext:()Landroid/content/Context;
            astore 2 /* context */
        start local 2 // android.content.Context context
         3: .line 1686
            aload 0 /* this */
            new android.widget.EdgeEffect
            dup
            aload 2 /* context */
            invokespecial android.widget.EdgeEffect.<init>:(Landroid/content/Context;)V
            putfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
         4: .line 1687
            aload 0 /* this */
            new android.widget.EdgeEffect
            dup
            aload 2 /* context */
            invokespecial android.widget.EdgeEffect.<init>:(Landroid/content/Context;)V
            putfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
        end local 2 // android.content.Context context
         5: .line 1689
            goto 8
         6: .line 1690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
         7: .line 1691
            aload 0 /* this */
            aconst_null
            putfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
         8: .line 1693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* mode */
            invokespecial android.widget.FrameLayout.setOverScrollMode:(I)V
         9: .line 1694
            return
        end local 1 // int mode
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/widget/ScrollView;
            0   10     1     mode  I
            3    5     2  context  Landroid/content/Context;
    MethodParameters:
      Name  Flags
      mode  

  public boolean onStartNestedScroll(android.view.View, android.view.View, int);
    descriptor: (Landroid/view/View;Landroid/view/View;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // android.view.View target
        start local 3 // int nestedScrollAxes
         0: .line 1698
            iload 3 /* nestedScrollAxes */
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 3 // int nestedScrollAxes
        end local 2 // android.view.View target
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Landroid/widget/ScrollView;
            0    2     1             child  Landroid/view/View;
            0    2     2            target  Landroid/view/View;
            0    2     3  nestedScrollAxes  I
    MethodParameters:
                  Name  Flags
      child             
      target            
      nestedScrollAxes  

  public void onNestedScrollAccepted(android.view.View, android.view.View, int);
    descriptor: (Landroid/view/View;Landroid/view/View;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View child
        start local 2 // android.view.View target
        start local 3 // int axes
         0: .line 1703
            aload 0 /* this */
            aload 1 /* child */
            aload 2 /* target */
            iload 3 /* axes */
            invokespecial android.widget.FrameLayout.onNestedScrollAccepted:(Landroid/view/View;Landroid/view/View;I)V
         1: .line 1704
            aload 0 /* this */
            iconst_2
            invokevirtual android.widget.ScrollView.startNestedScroll:(I)Z
            pop
         2: .line 1705
            return
        end local 3 // int axes
        end local 2 // android.view.View target
        end local 1 // android.view.View child
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/ScrollView;
            0    3     1   child  Landroid/view/View;
            0    3     2  target  Landroid/view/View;
            0    3     3    axes  I
    MethodParameters:
        Name  Flags
      child   
      target  
      axes    

  public void onStopNestedScroll(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View target
         0: .line 1712
            aload 0 /* this */
            aload 1 /* target */
            invokespecial android.widget.FrameLayout.onStopNestedScroll:(Landroid/view/View;)V
         1: .line 1713
            return
        end local 1 // android.view.View target
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/ScrollView;
            0    2     1  target  Landroid/view/View;
    MethodParameters:
        Name  Flags
      target  

  public void onNestedScroll(android.view.View, int, int, int, int);
    descriptor: (Landroid/view/View;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View target
        start local 2 // int dxConsumed
        start local 3 // int dyConsumed
        start local 4 // int dxUnconsumed
        start local 5 // int dyUnconsumed
         0: .line 1718
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 6 /* oldScrollY */
        start local 6 // int oldScrollY
         1: .line 1719
            aload 0 /* this */
            iconst_0
            iload 5 /* dyUnconsumed */
            invokevirtual android.widget.ScrollView.scrollBy:(II)V
         2: .line 1720
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            iload 6 /* oldScrollY */
            isub
            istore 7 /* myConsumed */
        start local 7 // int myConsumed
         3: .line 1721
            iload 5 /* dyUnconsumed */
            iload 7 /* myConsumed */
            isub
            istore 8 /* myUnconsumed */
        start local 8 // int myUnconsumed
         4: .line 1722
            aload 0 /* this */
            iconst_0
            iload 7 /* myConsumed */
            iconst_0
            iload 8 /* myUnconsumed */
            aconst_null
            invokevirtual android.widget.ScrollView.dispatchNestedScroll:(IIII[I)Z
            pop
         5: .line 1723
            return
        end local 8 // int myUnconsumed
        end local 7 // int myConsumed
        end local 6 // int oldScrollY
        end local 5 // int dyUnconsumed
        end local 4 // int dxUnconsumed
        end local 3 // int dyConsumed
        end local 2 // int dxConsumed
        end local 1 // android.view.View target
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/widget/ScrollView;
            0    6     1        target  Landroid/view/View;
            0    6     2    dxConsumed  I
            0    6     3    dyConsumed  I
            0    6     4  dxUnconsumed  I
            0    6     5  dyUnconsumed  I
            1    6     6    oldScrollY  I
            3    6     7    myConsumed  I
            4    6     8  myUnconsumed  I
    MethodParameters:
              Name  Flags
      target        
      dxConsumed    
      dyConsumed    
      dxUnconsumed  
      dyUnconsumed  

  public boolean onNestedFling(android.view.View, float, float, boolean);
    descriptor: (Landroid/view/View;FFZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.View target
        start local 2 // float velocityX
        start local 3 // float velocityY
        start local 4 // boolean consumed
         0: .line 1730
            iload 4 /* consumed */
            ifne 3
         1: .line 1731
            aload 0 /* this */
            fload 3 /* velocityY */
            f2i
            invokevirtual android.widget.ScrollView.flingWithNestedDispatch:(I)V
         2: .line 1732
            iconst_1
            ireturn
         3: .line 1734
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // boolean consumed
        end local 3 // float velocityY
        end local 2 // float velocityX
        end local 1 // android.view.View target
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/widget/ScrollView;
            0    4     1     target  Landroid/view/View;
            0    4     2  velocityX  F
            0    4     3  velocityY  F
            0    4     4   consumed  Z
    MethodParameters:
           Name  Flags
      target     
      velocityX  
      velocityY  
      consumed   

  public void draw(android.graphics.Canvas);
    descriptor: (Landroid/graphics/Canvas;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.graphics.Canvas canvas
         0: .line 1739
            aload 0 /* this */
            aload 1 /* canvas */
            invokespecial android.widget.FrameLayout.draw:(Landroid/graphics/Canvas;)V
         1: .line 1740
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            ifnull 41
         2: .line 1741
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            istore 2 /* scrollY */
        start local 2 // int scrollY
         3: .line 1742
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getClipToPadding:()Z
            istore 3 /* clipToPadding */
        start local 3 // boolean clipToPadding
         4: .line 1743
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.isFinished:()Z
            ifne 21
         5: .line 1744
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.save:()I
            istore 4 /* restoreCount */
        start local 4 // int restoreCount
         6: .line 1749
            iload 3 /* clipToPadding */
            ifeq 12
         7: .line 1750
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            isub
            istore 5 /* width */
        start local 5 // int width
         8: .line 1751
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            istore 6 /* height */
        start local 6 // int height
         9: .line 1752
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            i2f
            fstore 7 /* translateX */
        start local 7 // float translateX
        10: .line 1753
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            i2f
            fstore 8 /* translateY */
        start local 8 // float translateY
        11: .line 1754
            goto 16
        end local 8 // float translateY
        end local 7 // float translateX
        end local 6 // int height
        end local 5 // int width
        12: .line 1755
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            istore 5 /* width */
        start local 5 // int width
        13: .line 1756
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            istore 6 /* height */
        start local 6 // int height
        14: .line 1757
            fconst_0
            fstore 7 /* translateX */
        start local 7 // float translateX
        15: .line 1758
            fconst_0
            fstore 8 /* translateY */
        start local 8 // float translateY
        16: .line 1760
      StackMap locals: android.widget.ScrollView android.graphics.Canvas int int int int int float float
      StackMap stack:
            aload 1 /* canvas */
            fload 7 /* translateX */
            iconst_0
            iload 2 /* scrollY */
            invokestatic java.lang.Math.min:(II)I
            i2f
            fload 8 /* translateY */
            fadd
            invokevirtual android.graphics.Canvas.translate:(FF)V
        17: .line 1761
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            iload 5 /* width */
            iload 6 /* height */
            invokevirtual android.widget.EdgeEffect.setSize:(II)V
        18: .line 1762
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
            aload 1 /* canvas */
            invokevirtual android.widget.EdgeEffect.draw:(Landroid/graphics/Canvas;)Z
            ifeq 20
        19: .line 1763
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        20: .line 1765
      StackMap locals:
      StackMap stack:
            aload 1 /* canvas */
            iload 4 /* restoreCount */
            invokevirtual android.graphics.Canvas.restoreToCount:(I)V
        end local 8 // float translateY
        end local 7 // float translateX
        end local 6 // int height
        end local 5 // int width
        end local 4 // int restoreCount
        21: .line 1767
      StackMap locals: android.widget.ScrollView android.graphics.Canvas int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            invokevirtual android.widget.EdgeEffect.isFinished:()Z
            ifne 41
        22: .line 1768
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.save:()I
            istore 4 /* restoreCount */
        start local 4 // int restoreCount
        23: .line 1773
            iload 3 /* clipToPadding */
            ifeq 29
        24: .line 1774
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingRight:I
            isub
            istore 5 /* width */
        start local 5 // int width
        25: .line 1775
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            isub
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingBottom:I
            isub
            istore 6 /* height */
        start local 6 // int height
        26: .line 1776
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingLeft:I
            i2f
            fstore 7 /* translateX */
        start local 7 // float translateX
        27: .line 1777
            aload 0 /* this */
            getfield android.widget.ScrollView.mPaddingTop:I
            i2f
            fstore 8 /* translateY */
        start local 8 // float translateY
        28: .line 1778
            goto 33
        end local 8 // float translateY
        end local 7 // float translateX
        end local 6 // int height
        end local 5 // int width
        29: .line 1779
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getWidth:()I
            istore 5 /* width */
        start local 5 // int width
        30: .line 1780
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getHeight:()I
            istore 6 /* height */
        start local 6 // int height
        31: .line 1781
            fconst_0
            fstore 7 /* translateX */
        start local 7 // float translateX
        32: .line 1782
            fconst_0
            fstore 8 /* translateY */
        start local 8 // float translateY
        33: .line 1784
      StackMap locals: android.widget.ScrollView android.graphics.Canvas int int int int int float float
      StackMap stack:
            aload 1 /* canvas */
            iload 5 /* width */
            ineg
            i2f
            fload 7 /* translateX */
            fadd
        34: .line 1785
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.getScrollRange:()I
            iload 2 /* scrollY */
            invokestatic java.lang.Math.max:(II)I
            iload 6 /* height */
            iadd
            i2f
            fload 8 /* translateY */
            fadd
        35: .line 1784
            invokevirtual android.graphics.Canvas.translate:(FF)V
        36: .line 1786
            aload 1 /* canvas */
            ldc 180.0
            iload 5 /* width */
            i2f
            fconst_0
            invokevirtual android.graphics.Canvas.rotate:(FFF)V
        37: .line 1787
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            iload 5 /* width */
            iload 6 /* height */
            invokevirtual android.widget.EdgeEffect.setSize:(II)V
        38: .line 1788
            aload 0 /* this */
            getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
            aload 1 /* canvas */
            invokevirtual android.widget.EdgeEffect.draw:(Landroid/graphics/Canvas;)Z
            ifeq 40
        39: .line 1789
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
        40: .line 1791
      StackMap locals:
      StackMap stack:
            aload 1 /* canvas */
            iload 4 /* restoreCount */
            invokevirtual android.graphics.Canvas.restoreToCount:(I)V
        end local 8 // float translateY
        end local 7 // float translateX
        end local 6 // int height
        end local 5 // int width
        end local 4 // int restoreCount
        end local 3 // boolean clipToPadding
        end local 2 // int scrollY
        41: .line 1794
      StackMap locals: android.widget.ScrollView android.graphics.Canvas
      StackMap stack:
            return
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Landroid/widget/ScrollView;
            0   42     1         canvas  Landroid/graphics/Canvas;
            3   41     2        scrollY  I
            4   41     3  clipToPadding  Z
            6   21     4   restoreCount  I
            8   12     5          width  I
           13   21     5          width  I
            9   12     6         height  I
           14   21     6         height  I
           10   12     7     translateX  F
           15   21     7     translateX  F
           11   12     8     translateY  F
           16   21     8     translateY  F
           23   41     4   restoreCount  I
           25   29     5          width  I
           30   41     5          width  I
           26   29     6         height  I
           31   41     6         height  I
           27   29     7     translateX  F
           32   41     7     translateX  F
           28   29     8     translateY  F
           33   41     8     translateY  F
    MethodParameters:
        Name  Flags
      canvas  

  private static int clamp(int, int, int);
    descriptor: (III)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int n
        start local 1 // int my
        start local 2 // int child
         0: .line 1797
            iload 1 /* my */
            iload 2 /* child */
            if_icmpge 1
            iload 0 /* n */
            ifge 2
         1: .line 1813
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1815
      StackMap locals:
      StackMap stack:
            iload 1 /* my */
            iload 0 /* n */
            iadd
            iload 2 /* child */
            if_icmple 4
         3: .line 1821
            iload 2 /* child */
            iload 1 /* my */
            isub
            ireturn
         4: .line 1823
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            ireturn
        end local 2 // int child
        end local 1 // int my
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0      n  I
            0    5     1     my  I
            0    5     2  child  I
    MethodParameters:
       Name  Flags
      n      
      my     
      child  

  protected void onRestoreInstanceState(android.os.Parcelable);
    descriptor: (Landroid/os/Parcelable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.os.Parcelable state
         0: .line 1828
            aload 0 /* this */
            getfield android.widget.ScrollView.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            bipush 18
            if_icmpgt 3
         1: .line 1831
            aload 0 /* this */
            aload 1 /* state */
            invokespecial android.widget.FrameLayout.onRestoreInstanceState:(Landroid/os/Parcelable;)V
         2: .line 1832
            return
         3: .line 1834
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            checkcast android.widget.ScrollView$SavedState
            astore 2 /* ss */
        start local 2 // android.widget.ScrollView$SavedState ss
         4: .line 1835
            aload 0 /* this */
            aload 2 /* ss */
            invokevirtual android.widget.ScrollView$SavedState.getSuperState:()Landroid/os/Parcelable;
            invokespecial android.widget.FrameLayout.onRestoreInstanceState:(Landroid/os/Parcelable;)V
         5: .line 1836
            aload 0 /* this */
            aload 2 /* ss */
            putfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
         6: .line 1837
            aload 0 /* this */
            invokevirtual android.widget.ScrollView.requestLayout:()V
         7: .line 1838
            return
        end local 2 // android.widget.ScrollView$SavedState ss
        end local 1 // android.os.Parcelable state
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/widget/ScrollView;
            0    8     1  state  Landroid/os/Parcelable;
            4    8     2     ss  Landroid/widget/ScrollView$SavedState;
    MethodParameters:
       Name  Flags
      state  

  protected android.os.Parcelable onSaveInstanceState();
    descriptor: ()Landroid/os/Parcelable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.widget.ScrollView this
         0: .line 1842
            aload 0 /* this */
            getfield android.widget.ScrollView.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            bipush 18
            if_icmpgt 2
         1: .line 1845
            aload 0 /* this */
            invokespecial android.widget.FrameLayout.onSaveInstanceState:()Landroid/os/Parcelable;
            areturn
         2: .line 1847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial android.widget.FrameLayout.onSaveInstanceState:()Landroid/os/Parcelable;
            astore 1 /* superState */
        start local 1 // android.os.Parcelable superState
         3: .line 1848
            new android.widget.ScrollView$SavedState
            dup
            aload 1 /* superState */
            invokespecial android.widget.ScrollView$SavedState.<init>:(Landroid/os/Parcelable;)V
            astore 2 /* ss */
        start local 2 // android.widget.ScrollView$SavedState ss
         4: .line 1849
            aload 2 /* ss */
            aload 0 /* this */
            getfield android.widget.ScrollView.mScrollY:I
            putfield android.widget.ScrollView$SavedState.scrollPosition:I
         5: .line 1850
            aload 2 /* ss */
            areturn
        end local 2 // android.widget.ScrollView$SavedState ss
        end local 1 // android.os.Parcelable superState
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/widget/ScrollView;
            3    6     1  superState  Landroid/os/Parcelable;
            4    6     2          ss  Landroid/widget/ScrollView$SavedState;

  protected void encodeProperties(android.view.ViewHierarchyEncoder);
    descriptor: (Landroid/view/ViewHierarchyEncoder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.ScrollView this
        start local 1 // android.view.ViewHierarchyEncoder encoder
         0: .line 1856
            aload 0 /* this */
            aload 1 /* encoder */
            invokespecial android.widget.FrameLayout.encodeProperties:(Landroid/view/ViewHierarchyEncoder;)V
         1: .line 1857
            aload 1 /* encoder */
            ldc "fillViewport"
            aload 0 /* this */
            getfield android.widget.ScrollView.mFillViewport:Z
            invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;Z)V
         2: .line 1858
            return
        end local 1 // android.view.ViewHierarchyEncoder encoder
        end local 0 // android.widget.ScrollView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/widget/ScrollView;
            0    3     1  encoder  Landroid/view/ViewHierarchyEncoder;
    MethodParameters:
         Name  Flags
      encoder  
}
SourceFile: "ScrollView.java"
NestMembers:
  android.widget.ScrollView$SavedState  android.widget.ScrollView$SavedState$1
InnerClasses:
  public Span = android.os.StrictMode$Span of android.os.StrictMode
  public MeasureSpec = android.view.View$MeasureSpec of android.view.View
  public abstract ExportedProperty = android.view.ViewDebug$ExportedProperty of android.view.ViewDebug
  public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
  public MarginLayoutParams = android.view.ViewGroup$MarginLayoutParams of android.view.ViewGroup
  public final AccessibilityAction = android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction of android.view.accessibility.AccessibilityNodeInfo
  public LayoutParams = android.widget.FrameLayout$LayoutParams of android.widget.FrameLayout
  SavedState = android.widget.ScrollView$SavedState of android.widget.ScrollView