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 start local 1 0: aload 0
aload 1
aconst_null
invokespecial android.widget.ScrollView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: return
end local 1 end local 0 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 0: 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 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iconst_0
invokespecial android.widget.ScrollView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
1: return
end local 3 end local 2 end local 1 end local 0 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 0: 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 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 0: iconst_1
ireturn
end local 0 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 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifne 2
1: fconst_0
freturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getVerticalFadingEdgeLength:()I
istore 1
start local 1 3: aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 1
if_icmpge 5
4: aload 0
getfield android.widget.ScrollView.mScrollY:I
i2f
iload 1
i2f
fdiv
freturn
5: StackMap locals: int
StackMap stack:
fconst_1
freturn
end local 1 end local 0 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 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifne 2
1: fconst_0
freturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getVerticalFadingEdgeLength:()I
istore 1
start local 1 3: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
istore 2
start local 2 4: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getBottom:()I
aload 0
getfield android.widget.ScrollView.mScrollY:I
isub
iload 2
isub
istore 3
start local 3 5: iload 3
iload 1
if_icmpge 7
6: iload 3
i2f
iload 1
i2f
fdiv
freturn
7: StackMap locals: int int int
StackMap stack:
fconst_1
freturn
end local 3 end local 2 end local 1 end local 0 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 0: ldc 0.5
aload 0
getfield android.widget.ScrollView.mBottom:I
aload 0
getfield android.widget.ScrollView.mTop:I
isub
i2f
fmul
f2i
ireturn
end local 0 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 0: aload 0
new android.widget.OverScroller
dup
aload 0
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: aload 0
iconst_1
invokevirtual android.widget.ScrollView.setFocusable:(Z)V
2: aload 0
ldc 262144
invokevirtual android.widget.ScrollView.setDescendantFocusability:(I)V
3: aload 0
iconst_0
invokevirtual android.widget.ScrollView.setWillNotDraw:(Z)V
4: aload 0
getfield android.widget.ScrollView.mContext:Landroid/content/Context;
invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
astore 1
start local 1 5: aload 0
aload 1
invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
putfield android.widget.ScrollView.mTouchSlop:I
6: aload 0
aload 1
invokevirtual android.view.ViewConfiguration.getScaledMinimumFlingVelocity:()I
putfield android.widget.ScrollView.mMinimumVelocity:I
7: aload 0
aload 1
invokevirtual android.view.ViewConfiguration.getScaledMaximumFlingVelocity:()I
putfield android.widget.ScrollView.mMaximumVelocity:I
8: aload 0
aload 1
invokevirtual android.view.ViewConfiguration.getScaledOverscrollDistance:()I
putfield android.widget.ScrollView.mOverscrollDistance:I
9: aload 0
aload 1
invokevirtual android.view.ViewConfiguration.getScaledOverflingDistance:()I
putfield android.widget.ScrollView.mOverflingDistance:I
10: aload 0
aload 1
invokevirtual android.view.ViewConfiguration.getScaledVerticalScrollFactor:()F
putfield android.widget.ScrollView.mVerticalScrollFactor:F
11: return
end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 2
1: new java.lang.IllegalStateException
dup
ldc "ScrollView can host only one direct child"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;)V
3: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 2
1: new java.lang.IllegalStateException
dup
ldc "ScrollView can host only one direct child"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;I)V
3: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 2
1: new java.lang.IllegalStateException
dup
ldc "ScrollView can host only one direct child"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
3: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 2
1: new java.lang.IllegalStateException
dup
ldc "ScrollView can host only one direct child"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
aload 3
invokespecial android.widget.FrameLayout.addView:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
3: return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
invokevirtual android.view.View.getHeight:()I
istore 2
start local 2 3: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
iload 2
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
iadd
aload 0
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 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 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 0: aload 0
getfield android.widget.ScrollView.mFillViewport:Z
ireturn
end local 0 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 start local 1 0: iload 1
aload 0
getfield android.widget.ScrollView.mFillViewport:Z
if_icmpeq 3
1: aload 0
iload 1
putfield android.widget.ScrollView.mFillViewport:Z
2: aload 0
invokevirtual android.widget.ScrollView.requestLayout:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 0: aload 0
getfield android.widget.ScrollView.mSmoothScrollingEnabled:Z
ireturn
end local 0 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 start local 1 0: aload 0
iload 1
putfield android.widget.ScrollView.mSmoothScrollingEnabled:Z
1: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokespecial android.widget.FrameLayout.onMeasure:(II)V
1: aload 0
getfield android.widget.ScrollView.mFillViewport:Z
ifne 3
2: return
3: StackMap locals:
StackMap stack:
iload 2
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 3
start local 3 4: iload 3
ifne 6
5: return
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 23
7: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 4
start local 4 8: aload 0
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
start local 7 9: aload 4
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.FrameLayout$LayoutParams
astore 8
start local 8 10: iload 7
bipush 23
if_icmplt 14
11: aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
aload 0
getfield android.widget.ScrollView.mPaddingRight:I
iadd
aload 8
getfield android.widget.FrameLayout$LayoutParams.leftMargin:I
iadd
aload 8
getfield android.widget.FrameLayout$LayoutParams.rightMargin:I
iadd
istore 5
start local 5 12: aload 0
getfield android.widget.ScrollView.mPaddingTop:I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
iadd
aload 8
getfield android.widget.FrameLayout$LayoutParams.topMargin:I
iadd
aload 8
getfield android.widget.FrameLayout$LayoutParams.bottomMargin:I
iadd
istore 6
start local 6 13: goto 16
end local 6 end local 5 14: StackMap locals: android.widget.ScrollView int int int android.view.View top top int android.widget.FrameLayout$LayoutParams
StackMap stack:
aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
aload 0
getfield android.widget.ScrollView.mPaddingRight:I
iadd
istore 5
start local 5 15: aload 0
getfield android.widget.ScrollView.mPaddingTop:I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
iadd
istore 6
start local 6 16: StackMap locals: android.widget.ScrollView int int int android.view.View int int int android.widget.FrameLayout$LayoutParams
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getMeasuredHeight:()I
iload 6
isub
istore 9
start local 9 17: aload 4
invokevirtual android.view.View.getMeasuredHeight:()I
iload 9
if_icmpge 23
18: iload 1
iload 5
aload 8
getfield android.widget.FrameLayout$LayoutParams.width:I
19: invokestatic android.widget.ScrollView.getChildMeasureSpec:(III)I
istore 10
start local 10 20: iload 9
ldc 1073741824
21: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 11
start local 11 22: aload 4
iload 10
iload 11
invokevirtual android.view.View.measure:(II)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 23: StackMap locals: android.widget.ScrollView int int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokespecial android.widget.FrameLayout.dispatchKeyEvent:(Landroid/view/KeyEvent;)Z
ifne 1
aload 0
aload 1
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 end local 0 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 start local 1 0: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.setEmpty:()V
1: aload 0
invokevirtual android.widget.ScrollView.canScroll:()Z
ifne 14
2: aload 0
invokevirtual android.widget.ScrollView.isFocused:()Z
ifeq 13
aload 1
invokevirtual android.view.KeyEvent.getKeyCode:()I
iconst_4
if_icmpeq 13
3: aload 0
invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
astore 2
start local 2 4: aload 2
aload 0
if_acmpne 5
aconst_null
astore 2
5: StackMap locals: android.view.View
StackMap stack:
invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
aload 0
6: aload 2
sipush 130
7: invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
astore 3
start local 3 8: aload 3
ifnull 12
9: aload 3
aload 0
if_acmpeq 12
10: aload 3
sipush 130
invokevirtual android.view.View.requestFocus:(I)Z
ifeq 12
11: iconst_1
ireturn
StackMap locals: android.view.View
StackMap stack:
12: iconst_0
ireturn
end local 3 end local 2 13: StackMap locals:
StackMap stack:
iconst_0
ireturn
14: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 15: aload 1
invokevirtual android.view.KeyEvent.getAction:()I
ifne 30
16: aload 1
invokevirtual android.view.KeyEvent.getKeyCode:()I
lookupswitch { // 3
19: 17
20: 22
62: 27
default: 30
}
17: StackMap locals: int
StackMap stack:
aload 1
invokevirtual android.view.KeyEvent.isAltPressed:()Z
ifne 20
18: aload 0
bipush 33
invokevirtual android.widget.ScrollView.arrowScroll:(I)Z
istore 2
19: goto 30
20: StackMap locals:
StackMap stack:
aload 0
bipush 33
invokevirtual android.widget.ScrollView.fullScroll:(I)Z
istore 2
21: goto 30
22: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.view.KeyEvent.isAltPressed:()Z
ifne 25
23: aload 0
sipush 130
invokevirtual android.widget.ScrollView.arrowScroll:(I)Z
istore 2
24: goto 30
25: StackMap locals:
StackMap stack:
aload 0
sipush 130
invokevirtual android.widget.ScrollView.fullScroll:(I)Z
istore 2
26: goto 30
27: StackMap locals:
StackMap stack:
aload 0
aload 1
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: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 11
1: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 3
start local 3 2: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 4
start local 4 3: iload 2
aload 4
invokevirtual android.view.View.getTop:()I
iload 3
isub
if_icmplt 8
4: iload 2
aload 4
invokevirtual android.view.View.getBottom:()I
iload 3
isub
if_icmpge 8
5: iload 1
aload 4
invokevirtual android.view.View.getLeft:()I
if_icmplt 8
6: iload 1
aload 4
invokevirtual android.view.View.getRight:()I
7: 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 end local 3 11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 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 0: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
ifnonnull 3
1: aload 0
invokestatic android.view.VelocityTracker.obtain:()Landroid/view/VelocityTracker;
putfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
invokevirtual android.view.VelocityTracker.clear:()V
4: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
ifnonnull 2
1: aload 0
invokestatic android.view.VelocityTracker.obtain:()Landroid/view/VelocityTracker;
putfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
2: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
ifnull 3
1: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
invokevirtual android.view.VelocityTracker.recycle:()V
2: aload 0
aconst_null
putfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
3: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 0: iload 1
ifeq 2
1: aload 0
invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial android.widget.FrameLayout.requestDisallowInterceptTouchEvent:(Z)V
3: return
end local 1 end local 0 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 start local 1 0: aload 1
invokevirtual android.view.MotionEvent.getAction:()I
istore 2
start local 2 1: iload 2
iconst_2
if_icmpne 3
aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokespecial android.widget.FrameLayout.onInterceptTouchEvent:(Landroid/view/MotionEvent;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
ifne 7
aload 0
iconst_1
invokevirtual android.widget.ScrollView.canScrollVertically:(I)Z
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iload 2
sipush 255
iand
tableswitch { // 0 - 6
0: 31
1: 48
2: 8
3: 48
4: 56
5: 56
6: 55
default: 56
}
8: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mActivePointerId:I
istore 3
start local 3 9: iload 3
iconst_m1
if_icmpne 11
10: goto 56
11: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokevirtual android.view.MotionEvent.findPointerIndex:(I)I
istore 4
start local 4 12: iload 4
iconst_m1
if_icmpne 17
13: ldc "ScrollView"
new java.lang.StringBuilder
dup
ldc "Invalid pointerId="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
14: ldc " in onInterceptTouchEvent"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
16: goto 56
17: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual android.view.MotionEvent.getY:(I)F
f2i
istore 5
start local 5 18: iload 5
aload 0
getfield android.widget.ScrollView.mLastMotionY:I
isub
invokestatic java.lang.Math.abs:(I)I
istore 6
start local 6 19: iload 6
aload 0
getfield android.widget.ScrollView.mTouchSlop:I
if_icmple 56
aload 0
invokevirtual android.widget.ScrollView.getNestedScrollAxes:()I
iconst_2
iand
ifne 56
20: aload 0
iconst_1
putfield android.widget.ScrollView.mIsBeingDragged:Z
21: aload 0
iload 5
putfield android.widget.ScrollView.mLastMotionY:I
22: aload 0
invokevirtual android.widget.ScrollView.initVelocityTrackerIfNotExists:()V
23: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
aload 1
invokevirtual android.view.VelocityTracker.addMovement:(Landroid/view/MotionEvent;)V
24: aload 0
iconst_0
putfield android.widget.ScrollView.mNestedYOffset:I
25: aload 0
getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
ifnonnull 27
26: aload 0
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: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getParent:()Landroid/view/ViewParent;
astore 7
start local 7 28: aload 7
ifnull 56
29: aload 7
iconst_1
invokeinterface android.view.ViewParent.requestDisallowInterceptTouchEvent:(Z)V
end local 7 30: goto 56
end local 6 end local 5 end local 4 end local 3 31: StackMap locals: android.widget.ScrollView android.view.MotionEvent int
StackMap stack:
aload 1
invokevirtual android.view.MotionEvent.getY:()F
f2i
istore 3
start local 3 32: aload 0
aload 1
invokevirtual android.view.MotionEvent.getX:()F
f2i
iload 3
invokevirtual android.widget.ScrollView.inChild:(II)Z
ifne 36
33: aload 0
iconst_0
putfield android.widget.ScrollView.mIsBeingDragged:Z
34: aload 0
invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
35: goto 56
36: StackMap locals: int
StackMap stack:
aload 0
iload 3
putfield android.widget.ScrollView.mLastMotionY:I
37: aload 0
aload 1
iconst_0
invokevirtual android.view.MotionEvent.getPointerId:(I)I
putfield android.widget.ScrollView.mActivePointerId:I
38: aload 0
invokevirtual android.widget.ScrollView.initOrResetVelocityTracker:()V
39: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
aload 1
invokevirtual android.view.VelocityTracker.addMovement:(Landroid/view/MotionEvent;)V
40: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.computeScrollOffset:()Z
pop
41: aload 0
aload 0
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: aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ifeq 46
aload 0
getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
ifnonnull 46
45: aload 0
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: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual android.widget.ScrollView.startNestedScroll:(I)Z
pop
47: goto 56
end local 3 48: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.widget.ScrollView.mIsBeingDragged:Z
49: aload 0
iconst_m1
putfield android.widget.ScrollView.mActivePointerId:I
50: aload 0
invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
51: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iconst_0
iconst_0
iconst_0
aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
ifeq 53
52: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
53: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.stopNestedScroll:()V
54: goto 56
55: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.widget.ScrollView.onSecondaryPointerUp:(Landroid/view/MotionEvent;)V
56: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual android.widget.ScrollView.initVelocityTrackerIfNotExists:()V
1: aload 1
invokestatic android.view.MotionEvent.obtain:(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
astore 2
start local 2 2: aload 1
invokevirtual android.view.MotionEvent.getActionMasked:()I
istore 3
start local 3 3: iload 3
ifne 5
4: aload 0
iconst_0
putfield android.widget.ScrollView.mNestedYOffset:I
5: StackMap locals: android.view.MotionEvent int
StackMap stack:
aload 2
fconst_0
aload 0
getfield android.widget.ScrollView.mNestedYOffset:I
i2f
invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
6: iload 3
tableswitch { // 0 - 6
0: 7
1: 83
2: 24
3: 98
4: 110
5: 104
6: 108
default: 110
}
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
aload 0
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: aload 0
invokevirtual android.widget.ScrollView.getParent:()Landroid/view/ViewParent;
astore 4
start local 4 13: aload 4
ifnull 15
14: aload 4
iconst_1
invokeinterface android.view.ViewParent.requestDisallowInterceptTouchEvent:(Z)V
end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.isFinished:()Z
ifne 20
16: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.abortAnimation:()V
17: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
ifnull 20
18: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
invokevirtual android.os.StrictMode$Span.finish:()V
19: aload 0
aconst_null
putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
20: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.view.MotionEvent.getY:()F
f2i
putfield android.widget.ScrollView.mLastMotionY:I
21: aload 0
aload 1
iconst_0
invokevirtual android.view.MotionEvent.getPointerId:(I)I
putfield android.widget.ScrollView.mActivePointerId:I
22: aload 0
iconst_2
invokevirtual android.widget.ScrollView.startNestedScroll:(I)Z
pop
23: goto 110
24: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.widget.ScrollView.mActivePointerId:I
invokevirtual android.view.MotionEvent.findPointerIndex:(I)I
istore 4
start local 4 25: iload 4
iconst_m1
if_icmpne 28
26: ldc "ScrollView"
new java.lang.StringBuilder
dup
ldc "Invalid pointerId="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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: goto 110
28: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual android.view.MotionEvent.getY:(I)F
f2i
istore 5
start local 5 29: aload 0
getfield android.widget.ScrollView.mLastMotionY:I
iload 5
isub
istore 6
start local 6 30: aload 0
iconst_0
iload 6
aload 0
getfield android.widget.ScrollView.mScrollConsumed:[I
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
invokevirtual android.widget.ScrollView.dispatchNestedPreScroll:(II[I[I)Z
ifeq 34
31: iload 6
aload 0
getfield android.widget.ScrollView.mScrollConsumed:[I
iconst_1
iaload
isub
istore 6
32: aload 2
fconst_0
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
iconst_1
iaload
i2f
invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
33: aload 0
dup
getfield android.widget.ScrollView.mNestedYOffset:I
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
iconst_1
iaload
iadd
putfield android.widget.ScrollView.mNestedYOffset:I
34: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ifne 43
iload 6
invokestatic java.lang.Math.abs:(I)I
aload 0
getfield android.widget.ScrollView.mTouchSlop:I
if_icmple 43
35: aload 0
invokevirtual android.widget.ScrollView.getParent:()Landroid/view/ViewParent;
astore 7
start local 7 36: aload 7
ifnull 38
37: aload 7
iconst_1
invokeinterface android.view.ViewParent.requestDisallowInterceptTouchEvent:(Z)V
38: StackMap locals: android.view.ViewParent
StackMap stack:
aload 0
iconst_1
putfield android.widget.ScrollView.mIsBeingDragged:Z
39: iload 6
ifle 42
40: iload 6
aload 0
getfield android.widget.ScrollView.mTouchSlop:I
isub
istore 6
41: goto 43
42: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield android.widget.ScrollView.mTouchSlop:I
iadd
istore 6
end local 7 43: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ifeq 110
44: aload 0
iload 5
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
iconst_1
iaload
isub
putfield android.widget.ScrollView.mLastMotionY:I
45: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 7
start local 7 46: aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
istore 8
start local 8 47: aload 0
invokevirtual android.widget.ScrollView.getOverScrollMode:()I
istore 9
start local 9 48: iload 9
ifeq 52
49: iload 9
iconst_1
if_icmpne 51
iload 8
50: 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
start local 10 54: aload 0
iconst_0
iload 6
iconst_0
aload 0
getfield android.widget.ScrollView.mScrollY:I
iconst_0
iload 8
iconst_0
aload 0
getfield android.widget.ScrollView.mOverscrollDistance:I
iconst_1
invokevirtual android.widget.ScrollView.overScrollBy:(IIIIIIIIZ)Z
ifeq 57
55: aload 0
invokevirtual android.widget.ScrollView.hasNestedScrollingParent:()Z
ifne 57
56: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
invokevirtual android.view.VelocityTracker.clear:()V
57: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 7
isub
istore 11
start local 11 58: iload 6
iload 11
isub
istore 12
start local 12 59: aload 0
iconst_0
iload 11
iconst_0
iload 12
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
invokevirtual android.widget.ScrollView.dispatchNestedScroll:(IIII[I)Z
ifeq 64
60: aload 0
dup
getfield android.widget.ScrollView.mLastMotionY:I
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
iconst_1
iaload
isub
putfield android.widget.ScrollView.mLastMotionY:I
61: aload 2
fconst_0
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
iconst_1
iaload
i2f
invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
62: aload 0
dup
getfield android.widget.ScrollView.mNestedYOffset:I
aload 0
getfield android.widget.ScrollView.mScrollOffset:[I
iconst_1
iaload
iadd
putfield android.widget.ScrollView.mNestedYOffset:I
63: goto 110
StackMap locals: int int
StackMap stack:
64: iload 10
ifeq 110
65: iload 7
iload 6
iadd
istore 13
start local 13 66: iload 13
ifge 73
67: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
iload 6
i2f
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
i2f
fdiv
68: aload 1
iload 4
invokevirtual android.view.MotionEvent.getX:(I)F
aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
i2f
fdiv
69: invokevirtual android.widget.EdgeEffect.onPull:(FF)V
70: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.isFinished:()Z
ifne 79
71: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.onRelease:()V
72: goto 79
StackMap locals: int
StackMap stack:
73: iload 13
iload 8
if_icmple 79
74: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
iload 6
i2f
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
i2f
fdiv
75: fconst_1
aload 1
iload 4
invokevirtual android.view.MotionEvent.getX:(I)F
aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
i2f
fdiv
fsub
76: invokevirtual android.widget.EdgeEffect.onPull:(FF)V
77: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.isFinished:()Z
ifne 79
78: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.onRelease:()V
79: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
ifnull 110
80: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.isFinished:()Z
ifeq 81
aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.isFinished:()Z
ifne 110
81: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 82: goto 110
end local 6 end local 5 end local 4 83: StackMap locals: android.widget.ScrollView android.view.MotionEvent android.view.MotionEvent int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ifeq 110
84: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
astore 7
start local 7 85: aload 7
sipush 1000
aload 0
getfield android.widget.ScrollView.mMaximumVelocity:I
i2f
invokevirtual android.view.VelocityTracker.computeCurrentVelocity:(IF)V
86: aload 7
aload 0
getfield android.widget.ScrollView.mActivePointerId:I
invokevirtual android.view.VelocityTracker.getYVelocity:(I)F
f2i
istore 8
start local 8 87: iload 8
invokestatic java.lang.Math.abs:(I)I
aload 0
getfield android.widget.ScrollView.mMinimumVelocity:I
if_icmple 90
88: aload 0
iload 8
ineg
invokevirtual android.widget.ScrollView.flingWithNestedDispatch:(I)V
89: 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
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iconst_0
iconst_0
iconst_0
91: aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
92: invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
93: ifeq 95
94: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
95: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield android.widget.ScrollView.mActivePointerId:I
96: aload 0
invokevirtual android.widget.ScrollView.endDrag:()V
end local 8 end local 7 97: goto 110
98: StackMap locals: android.widget.ScrollView android.view.MotionEvent android.view.MotionEvent int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mIsBeingDragged:Z
ifeq 110
aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 110
99: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iconst_0
iconst_0
iconst_0
aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
ifeq 101
100: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
101: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield android.widget.ScrollView.mActivePointerId:I
102: aload 0
invokevirtual android.widget.ScrollView.endDrag:()V
103: goto 110
104: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.view.MotionEvent.getActionIndex:()I
istore 7
start local 7 105: aload 0
aload 1
iload 7
invokevirtual android.view.MotionEvent.getY:(I)F
f2i
putfield android.widget.ScrollView.mLastMotionY:I
106: aload 0
aload 1
iload 7
invokevirtual android.view.MotionEvent.getPointerId:(I)I
putfield android.widget.ScrollView.mActivePointerId:I
107: goto 110
end local 7 108: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.widget.ScrollView.onSecondaryPointerUp:(Landroid/view/MotionEvent;)V
109: aload 0
aload 1
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
ifnull 112
111: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
aload 2
invokevirtual android.view.VelocityTracker.addMovement:(Landroid/view/MotionEvent;)V
112: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.view.MotionEvent.recycle:()V
113: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokevirtual android.view.MotionEvent.getAction:()I
ldc 65280
iand
1: bipush 8
2: ishr
istore 2
start local 2 3: aload 1
iload 2
invokevirtual android.view.MotionEvent.getPointerId:(I)I
istore 3
start local 3 4: iload 3
aload 0
getfield android.widget.ScrollView.mActivePointerId:I
if_icmpne 12
5: iload 2
ifne 6
iconst_1
goto 7
StackMap locals: int int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: aload 0
aload 1
iload 4
invokevirtual android.view.MotionEvent.getY:(I)F
f2i
putfield android.widget.ScrollView.mLastMotionY:I
9: aload 0
aload 1
iload 4
invokevirtual android.view.MotionEvent.getPointerId:(I)I
putfield android.widget.ScrollView.mActivePointerId:I
10: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
ifnull 12
11: aload 0
getfield android.widget.ScrollView.mVelocityTracker:Landroid/view/VelocityTracker;
invokevirtual android.view.VelocityTracker.clear:()V
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokevirtual android.view.MotionEvent.getAction:()I
tableswitch { // 8 - 8
8: 1
default: 21
}
1: StackMap locals:
StackMap stack:
aload 1
iconst_2
invokevirtual android.view.MotionEvent.isFromSource:(I)Z
ifeq 4
2: aload 1
bipush 9
invokevirtual android.view.MotionEvent.getAxisValue:(I)F
fstore 2
start local 2 3: goto 8
end local 2 StackMap locals:
StackMap stack:
4: aload 1
ldc 4194304
invokevirtual android.view.MotionEvent.isFromSource:(I)Z
ifeq 7
5: aload 1
bipush 26
invokevirtual android.view.MotionEvent.getAxisValue:(I)F
fstore 2
start local 2 6: goto 8
end local 2 7: StackMap locals:
StackMap stack:
fconst_0
fstore 2
start local 2 8: StackMap locals: float
StackMap stack:
fload 2
aload 0
getfield android.widget.ScrollView.mVerticalScrollFactor:F
fmul
invokestatic java.lang.Math.round:(F)I
istore 3
start local 3 9: iload 3
ifeq 21
10: aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
istore 4
start local 4 11: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 5
start local 5 12: iload 5
iload 3
isub
istore 6
start local 6 13: iload 6
ifge 16
14: iconst_0
istore 6
15: goto 18
StackMap locals: android.widget.ScrollView android.view.MotionEvent float int int int int
StackMap stack:
16: iload 6
iload 4
if_icmple 18
17: iload 4
istore 6
18: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmpeq 21
19: aload 0
aload 0
getfield android.widget.ScrollView.mScrollX:I
iload 6
invokespecial android.widget.FrameLayout.scrollTo:(II)V
20: iconst_1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 21: StackMap locals: android.widget.ScrollView android.view.MotionEvent
StackMap stack:
aload 0
aload 1
invokespecial android.widget.FrameLayout.onGenericMotionEvent:(Landroid/view/MotionEvent;)Z
ireturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.isFinished:()Z
ifne 10
1: aload 0
getfield android.widget.ScrollView.mScrollX:I
istore 5
start local 5 2: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 6
start local 6 3: aload 0
iload 1
putfield android.widget.ScrollView.mScrollX:I
4: aload 0
iload 2
putfield android.widget.ScrollView.mScrollY:I
5: aload 0
invokevirtual android.widget.ScrollView.invalidateParentIfNeeded:()V
6: aload 0
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 5
iload 6
invokevirtual android.widget.ScrollView.onScrollChanged:(IIII)V
7: iload 4
ifeq 11
8: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iconst_0
iconst_0
iconst_0
aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
invokevirtual android.widget.OverScroller.springBack:(IIIIII)Z
pop
end local 6 end local 5 9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokespecial android.widget.FrameLayout.scrollTo:(II)V
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.awakenScrollBars:()Z
pop
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: 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 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 0: ldc Landroid/widget/ScrollView;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 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 start local 1 0: aload 0
aload 1
invokespecial android.widget.FrameLayout.onInitializeAccessibilityNodeInfoInternal:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
1: aload 0
invokevirtual android.widget.ScrollView.isEnabled:()Z
ifeq 13
2: aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
istore 2
start local 2 3: iload 2
ifle 13
4: aload 1
iconst_1
invokevirtual android.view.accessibility.AccessibilityNodeInfo.setScrollable:(Z)V
5: aload 0
getfield android.widget.ScrollView.mScrollY:I
ifle 10
6: aload 1
7: getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_BACKWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
8: invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
9: aload 1
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: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 2
if_icmpge 13
11: aload 1
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: aload 1
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 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokespecial android.widget.FrameLayout.onInitializeAccessibilityEventInternal:(Landroid/view/accessibility/AccessibilityEvent;)V
1: aload 0
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
start local 2 4: aload 1
iload 2
invokevirtual android.view.accessibility.AccessibilityEvent.setScrollable:(Z)V
5: aload 1
aload 0
getfield android.widget.ScrollView.mScrollX:I
invokevirtual android.view.accessibility.AccessibilityEvent.setScrollX:(I)V
6: aload 1
aload 0
getfield android.widget.ScrollView.mScrollY:I
invokevirtual android.view.accessibility.AccessibilityEvent.setScrollY:(I)V
7: aload 1
aload 0
getfield android.widget.ScrollView.mScrollX:I
invokevirtual android.view.accessibility.AccessibilityEvent.setMaxScrollX:(I)V
8: aload 1
aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
invokevirtual android.view.accessibility.AccessibilityEvent.setMaxScrollY:(I)V
9: return
end local 2 end local 1 end local 0 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 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 6
2: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 2
start local 2 3: iconst_0
4: aload 2
invokevirtual android.view.View.getHeight:()I
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
isub
5: invokestatic java.lang.Math.max:(II)I
istore 1
end local 2 6: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
iconst_2
invokevirtual android.widget.ScrollView.getFocusables:(I)Ljava/util/ArrayList;
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aload 4
invokeinterface java.util.List.size:()I
istore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 37
6: StackMap locals: android.widget.ScrollView int int int java.util.List android.view.View int int int
StackMap stack:
aload 4
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.view.View
astore 9
start local 9 7: aload 9
invokevirtual android.view.View.getTop:()I
istore 10
start local 10 8: aload 9
invokevirtual android.view.View.getBottom:()I
istore 11
start local 11 9: iload 2
iload 11
if_icmpge 36
iload 10
iload 3
if_icmpge 36
10: iload 2
iload 10
if_icmpge 13
11: iload 11
iload 3
12: 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
start local 12 15: aload 5
ifnonnull 19
16: aload 9
astore 5
17: iload 12
istore 6
18: goto 36
19: StackMap locals: int
StackMap stack:
iload 1
ifeq 20
iload 10
aload 5
invokevirtual android.view.View.getTop:()I
if_icmplt 24
20: StackMap locals:
StackMap stack:
iload 1
ifne 23
iload 11
aload 5
21: invokevirtual android.view.View.getBottom:()I
22: 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
start local 13 26: iload 6
ifeq 30
27: iload 12
ifeq 36
iload 13
ifeq 36
28: aload 9
astore 5
29: goto 36
30: StackMap locals: int
StackMap stack:
iload 12
ifeq 34
31: aload 9
astore 5
32: iconst_1
istore 6
33: goto 36
StackMap locals:
StackMap stack:
34: iload 13
ifeq 36
35: aload 9
astore 5
end local 13 end local 12 end local 11 end local 10 end local 9 36: StackMap locals: android.widget.ScrollView int int int java.util.List android.view.View int int int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
iload 7
if_icmplt 6
end local 8 38: aload 5
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iload 1
sipush 130
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
istore 3
start local 3 4: iload 2
ifeq 12
5: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
iload 3
iadd
putfield android.graphics.Rect.top:I
6: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
istore 4
start local 4 7: iload 4
ifle 15
8: aload 0
iload 4
iconst_1
isub
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 5
start local 5 9: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
iload 3
iadd
aload 5
invokevirtual android.view.View.getBottom:()I
if_icmple 15
10: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
aload 5
invokevirtual android.view.View.getBottom:()I
iload 3
isub
putfield android.graphics.Rect.top:I
end local 5 end local 4 11: goto 15
12: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
iload 3
isub
putfield android.graphics.Rect.top:I
13: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
ifge 15
14: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
iconst_0
putfield android.graphics.Rect.top:I
15: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
iload 3
iadd
putfield android.graphics.Rect.bottom:I
16: aload 0
iload 1
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
aload 0
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 end local 2 end local 1 end local 0 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 start local 1 0: iload 1
sipush 130
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
istore 3
start local 3 4: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
iconst_0
putfield android.graphics.Rect.top:I
5: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
iload 3
putfield android.graphics.Rect.bottom:I
6: iload 2
ifeq 12
7: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
istore 4
start local 4 8: iload 4
ifle 12
9: aload 0
iload 4
iconst_1
isub
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 5
start local 5 10: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
aload 5
invokevirtual android.view.View.getBottom:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
iadd
putfield android.graphics.Rect.bottom:I
11: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.bottom:I
iload 3
isub
putfield android.graphics.Rect.top:I
end local 5 end local 4 12: StackMap locals: int int
StackMap stack:
aload 0
iload 1
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
aload 0
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: iconst_1
istore 4
start local 4 1: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
istore 5
start local 5 2: aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
istore 6
start local 6 3: iload 6
iload 5
iadd
istore 7
start local 7 4: iload 1
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
start local 8 7: aload 0
iload 8
iload 2
iload 3
invokevirtual android.widget.ScrollView.findFocusableViewInBounds:(ZII)Landroid/view/View;
astore 9
start local 9 8: aload 9
ifnonnull 10
9: aload 0
astore 9
10: StackMap locals: int android.view.View
StackMap stack:
iload 2
iload 6
if_icmplt 13
iload 3
iload 7
if_icmpgt 13
11: iconst_0
istore 4
12: goto 17
13: StackMap locals:
StackMap stack:
iload 8
ifeq 14
iload 2
iload 6
isub
goto 15
StackMap locals:
StackMap stack:
14: iload 3
iload 7
isub
StackMap locals:
StackMap stack: int
15: istore 10
start local 10 16: aload 0
iload 10
invokevirtual android.widget.ScrollView.doScrollY:(I)V
end local 10 17: StackMap locals:
StackMap stack:
aload 9
aload 0
invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
if_acmpeq 18
aload 9
iload 1
invokevirtual android.view.View.requestFocus:(I)Z
pop
18: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
astore 2
start local 2 1: aload 2
aload 0
if_acmpne 2
aconst_null
astore 2
2: StackMap locals: android.view.View
StackMap stack:
invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
aload 0
aload 2
iload 1
invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
astore 3
start local 3 3: aload 0
invokevirtual android.widget.ScrollView.getMaxScrollAmount:()I
istore 4
start local 4 4: aload 3
ifnull 11
aload 0
aload 3
iload 4
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
invokevirtual android.widget.ScrollView.isWithinDeltaOfScreen:(Landroid/view/View;II)Z
ifeq 11
5: aload 3
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
6: aload 0
aload 3
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
7: aload 0
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
istore 5
start local 5 8: aload 0
iload 5
invokevirtual android.widget.ScrollView.doScrollY:(I)V
9: aload 3
iload 1
invokevirtual android.view.View.requestFocus:(I)Z
pop
end local 5 10: goto 26
11: StackMap locals: android.view.View int
StackMap stack:
iload 4
istore 5
start local 5 12: iload 1
bipush 33
if_icmpne 15
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
iload 5
if_icmpge 15
13: aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
istore 5
14: goto 21
StackMap locals: int
StackMap stack:
15: iload 1
sipush 130
if_icmpne 21
16: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 21
17: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getBottom:()I
istore 6
start local 6 18: aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
iadd
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
istore 7
start local 7 19: iload 6
iload 7
isub
iload 4
if_icmpge 21
20: iload 6
iload 7
isub
istore 5
end local 7 end local 6 21: StackMap locals:
StackMap stack:
iload 5
ifne 23
22: iconst_0
ireturn
23: StackMap locals:
StackMap stack:
aload 0
iload 1
sipush 130
if_icmpne 24
iload 5
goto 25
StackMap locals:
StackMap stack: android.widget.ScrollView
24: iload 5
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 26: StackMap locals:
StackMap stack:
aload 2
ifnull 32
aload 2
invokevirtual android.view.View.isFocused:()Z
ifeq 32
27: aload 0
aload 2
invokevirtual android.widget.ScrollView.isOffScreen:(Landroid/view/View;)Z
ifeq 32
28: aload 0
invokevirtual android.widget.ScrollView.getDescendantFocusability:()I
istore 5
start local 5 29: aload 0
ldc 131072
invokevirtual android.widget.ScrollView.setDescendantFocusability:(I)V
30: aload 0
invokevirtual android.widget.ScrollView.requestFocus:()Z
pop
31: aload 0
iload 5
invokevirtual android.widget.ScrollView.setDescendantFocusability:(I)V
end local 5 32: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
iconst_0
aload 0
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 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
1: aload 0
aload 1
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
2: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.bottom:I
iload 2
iadd
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
if_icmplt 5
3: aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
iload 2
isub
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
iload 3
iadd
4: if_icmpgt 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iload 1
ifeq 5
1: aload 0
getfield android.widget.ScrollView.mSmoothScrollingEnabled:Z
ifeq 4
2: aload 0
iconst_0
iload 1
invokevirtual android.widget.ScrollView.smoothScrollBy:(II)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 1
invokevirtual android.widget.ScrollView.scrollBy:(II)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
aload 0
getfield android.widget.ScrollView.mLastScroll:J
lsub
lstore 3
start local 3 3: lload 3
ldc 250
lcmp
ifle 12
4: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
istore 5
start local 5 5: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getHeight:()I
istore 6
start local 6 6: iconst_0
iload 6
iload 5
isub
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 7: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 8
start local 8 8: iconst_0
iload 8
iload 2
iadd
iload 7
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
iload 8
isub
istore 2
9: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
aload 0
getfield android.widget.ScrollView.mScrollX:I
iload 8
iconst_0
iload 2
invokevirtual android.widget.OverScroller.startScroll:(IIII)V
10: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
end local 8 end local 7 end local 6 end local 5 11: goto 18
12: StackMap locals: long
StackMap stack:
aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.isFinished:()Z
ifne 17
13: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.abortAnimation:()V
14: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
ifnull 17
15: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
invokevirtual android.os.StrictMode$Span.finish:()V
16: aload 0
aconst_null
putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
17: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual android.widget.ScrollView.scrollBy:(II)V
18: StackMap locals:
StackMap stack:
aload 0
invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
putfield android.widget.ScrollView.mLastScroll:J
19: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
iload 1
aload 0
getfield android.widget.ScrollView.mScrollX:I
isub
iload 2
aload 0
getfield android.widget.ScrollView.mScrollY:I
isub
invokevirtual android.widget.ScrollView.smoothScrollBy:(II)V
1: return
end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
istore 1
start local 1 1: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
istore 2
start local 2 2: iload 1
ifne 4
3: iload 2
ireturn
4: StackMap locals: int int
StackMap stack:
aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getBottom:()I
istore 3
start local 3 5: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 4
start local 4 6: iconst_0
iload 3
iload 2
isub
invokestatic java.lang.Math.max:(II)I
istore 5
start local 5 7: iload 4
ifge 10
8: iload 3
iload 4
isub
istore 3
9: goto 12
StackMap locals: int int int
StackMap stack:
10: iload 4
iload 5
if_icmple 12
11: iload 3
iload 4
iload 5
isub
iadd
istore 3
12: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: iconst_0
aload 0
invokespecial android.widget.FrameLayout.computeVerticalScrollOffset:()I
invokestatic java.lang.Math.max:(II)I
ireturn
end local 0 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 start local 1 start local 2 start local 3 0: aload 1
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
astore 4
start local 4 1: iload 2
aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
2: aload 0
getfield android.widget.ScrollView.mPaddingRight:I
iadd
aload 4
getfield android.view.ViewGroup$LayoutParams.width:I
3: invokestatic android.widget.ScrollView.getChildMeasureSpec:(III)I
istore 5
start local 5 4: aload 0
getfield android.widget.ScrollView.mPaddingTop:I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
iadd
istore 7
start local 7 5: iconst_0
iload 3
invokestatic android.view.View$MeasureSpec.getSize:(I)I
iload 7
isub
invokestatic java.lang.Math.max:(II)I
6: iconst_0
7: invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
istore 6
start local 6 8: aload 1
iload 5
iload 6
invokevirtual android.view.View.measure:(II)V
9: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.view.ViewGroup$MarginLayoutParams
astore 6
start local 6 1: iload 2
2: aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
aload 0
getfield android.widget.ScrollView.mPaddingRight:I
iadd
aload 6
getfield android.view.ViewGroup$MarginLayoutParams.leftMargin:I
iadd
aload 6
getfield android.view.ViewGroup$MarginLayoutParams.rightMargin:I
iadd
3: iload 3
4: iadd
5: aload 6
getfield android.view.ViewGroup$MarginLayoutParams.width:I
6: invokestatic android.widget.ScrollView.getChildMeasureSpec:(III)I
istore 7
start local 7 7: aload 0
getfield android.widget.ScrollView.mPaddingTop:I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
iadd
aload 6
getfield android.view.ViewGroup$MarginLayoutParams.topMargin:I
iadd
aload 6
getfield android.view.ViewGroup$MarginLayoutParams.bottomMargin:I
iadd
8: iload 5
9: iadd
istore 8
start local 8 10: iconst_0
iload 4
invokestatic android.view.View$MeasureSpec.getSize:(I)I
iload 8
isub
invokestatic java.lang.Math.max:(II)I
11: iconst_0
12: invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
istore 9
start local 9 13: aload 1
iload 7
iload 9
invokevirtual android.view.View.measure:(II)V
14: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.computeScrollOffset:()Z
ifeq 27
1: aload 0
getfield android.widget.ScrollView.mScrollX:I
istore 1
start local 1 2: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 2
start local 2 3: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.getCurrX:()I
istore 3
start local 3 4: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.getCurrY:()I
istore 4
start local 4 5: iload 1
iload 3
if_icmpne 6
iload 2
iload 4
if_icmpeq 24
6: StackMap locals: android.widget.ScrollView int int int int
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
istore 5
start local 5 7: aload 0
invokevirtual android.widget.ScrollView.getOverScrollMode:()I
istore 6
start local 6 8: iload 6
ifeq 12
9: iload 6
iconst_1
if_icmpne 11
iload 5
10: 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
start local 7 14: aload 0
iload 3
iload 1
isub
iload 4
iload 2
isub
iload 1
iload 2
iconst_0
iload 5
15: iconst_0
aload 0
getfield android.widget.ScrollView.mOverflingDistance:I
iconst_0
16: invokevirtual android.widget.ScrollView.overScrollBy:(IIIIIIIIZ)Z
pop
17: aload 0
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 1
iload 2
invokevirtual android.widget.ScrollView.onScrollChanged:(IIII)V
18: iload 7
ifeq 24
19: iload 4
ifge 22
iload 2
iflt 22
20: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
invokevirtual android.widget.OverScroller.getCurrVelocity:()F
f2i
invokevirtual android.widget.EdgeEffect.onAbsorb:(I)V
21: goto 24
StackMap locals: int
StackMap stack:
22: iload 4
iload 5
if_icmple 24
iload 2
iload 5
if_icmpgt 24
23: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
aload 0
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 end local 6 end local 5 24: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.awakenScrollBars:()Z
ifne 30
25: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
end local 4 end local 3 end local 2 end local 1 26: goto 30
27: StackMap locals: android.widget.ScrollView
StackMap stack:
aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
ifnull 30
28: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
invokevirtual android.os.StrictMode$Span.finish:()V
29: aload 0
aconst_null
putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
30: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 0: aload 1
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
1: aload 0
aload 1
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
2: aload 0
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
istore 2
start local 2 3: iload 2
ifeq 5
4: aload 0
iconst_0
iload 2
invokevirtual android.widget.ScrollView.scrollBy:(II)V
5: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
istore 3
start local 3 1: iload 3
ifeq 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 4
ifeq 9
5: iload 2
ifeq 8
6: aload 0
iconst_0
iload 3
invokevirtual android.widget.ScrollView.scrollBy:(II)V
7: goto 9
8: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 3
invokevirtual android.widget.ScrollView.smoothScrollBy:(II)V
9: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
istore 2
start local 2 2: aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
istore 3
start local 3 3: iload 3
iload 2
iadd
istore 4
start local 4 4: aload 0
invokevirtual android.widget.ScrollView.getVerticalFadingEdgeLength:()I
istore 5
start local 5 5: aload 1
getfield android.graphics.Rect.top:I
ifle 7
6: iload 3
iload 5
iadd
istore 3
7: StackMap locals: android.widget.ScrollView android.graphics.Rect int int int int
StackMap stack:
aload 1
getfield android.graphics.Rect.bottom:I
aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getHeight:()I
if_icmpge 9
8: iload 4
iload 5
isub
istore 4
9: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 10: aload 1
getfield android.graphics.Rect.bottom:I
iload 4
if_icmple 19
aload 1
getfield android.graphics.Rect.top:I
iload 3
if_icmple 19
11: aload 1
invokevirtual android.graphics.Rect.height:()I
iload 2
if_icmple 14
12: iload 6
aload 1
getfield android.graphics.Rect.top:I
iload 3
isub
iadd
istore 6
13: goto 15
14: StackMap locals: int
StackMap stack:
iload 6
aload 1
getfield android.graphics.Rect.bottom:I
iload 4
isub
iadd
istore 6
15: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getBottom:()I
istore 7
start local 7 16: iload 7
iload 4
isub
istore 8
start local 8 17: iload 6
iload 8
invokestatic java.lang.Math.min:(II)I
istore 6
end local 8 end local 7 18: goto 25
StackMap locals:
StackMap stack:
19: aload 1
getfield android.graphics.Rect.top:I
iload 3
if_icmpge 25
aload 1
getfield android.graphics.Rect.bottom:I
iload 4
if_icmpge 25
20: aload 1
invokevirtual android.graphics.Rect.height:()I
iload 2
if_icmple 23
21: iload 6
iload 4
aload 1
getfield android.graphics.Rect.bottom:I
isub
isub
istore 6
22: goto 24
23: StackMap locals:
StackMap stack:
iload 6
iload 3
aload 1
getfield android.graphics.Rect.top:I
isub
isub
istore 6
24: StackMap locals:
StackMap stack:
iload 6
aload 0
invokevirtual android.widget.ScrollView.getScrollY:()I
ineg
invokestatic java.lang.Math.max:(II)I
istore 6
25: StackMap locals:
StackMap stack:
iload 6
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
ifnull 5
aload 2
invokevirtual android.view.View.getRevealOnFocusHint:()Z
ifeq 5
1: aload 0
getfield android.widget.ScrollView.mIsLayoutDirty:Z
ifne 4
2: aload 0
aload 2
invokevirtual android.widget.ScrollView.scrollToChild:(Landroid/view/View;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial android.widget.FrameLayout.requestChildFocus:(Landroid/view/View;Landroid/view/View;)V
6: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: iload 1
iconst_2
if_icmpne 3
1: sipush 130
istore 1
2: goto 5
StackMap locals:
StackMap stack:
3: iload 1
iconst_1
if_icmpne 5
4: bipush 33
istore 1
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 7
6: invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
aload 0
aconst_null
iload 1
invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
goto 10
7: StackMap locals:
StackMap stack:
invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
aload 0
8: aload 2
iload 1
9: invokevirtual android.view.FocusFinder.findNextFocusFromRect:(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View;
10: StackMap locals:
StackMap stack: android.view.View
astore 3
start local 3 11: aload 3
ifnonnull 13
12: iconst_0
ireturn
13: StackMap locals: android.view.View
StackMap stack:
aload 0
aload 3
invokevirtual android.widget.ScrollView.isOffScreen:(Landroid/view/View;)Z
ifeq 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 3
iload 1
aload 2
invokevirtual android.view.View.requestFocus:(ILandroid/graphics/Rect;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 2
aload 1
invokevirtual android.view.View.getLeft:()I
aload 1
invokevirtual android.view.View.getScrollX:()I
isub
1: aload 1
invokevirtual android.view.View.getTop:()I
aload 1
invokevirtual android.view.View.getScrollY:()I
isub
2: invokevirtual android.graphics.Rect.offset:(II)V
3: aload 0
aload 2
iload 3
invokevirtual android.widget.ScrollView.scrollToChildRect:(Landroid/graphics/Rect;Z)Z
ireturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
iconst_1
putfield android.widget.ScrollView.mIsLayoutDirty:Z
1: aload 0
invokespecial android.widget.FrameLayout.requestLayout:()V
2: return
end local 0 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 0: aload 0
invokespecial android.widget.FrameLayout.onDetachedFromWindow:()V
1: aload 0
getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
ifnull 4
2: aload 0
getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
invokevirtual android.os.StrictMode$Span.finish:()V
3: aload 0
aconst_null
putfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
4: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
ifnull 7
5: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
invokevirtual android.os.StrictMode$Span.finish:()V
6: aload 0
aconst_null
putfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
7: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
iload 2
iload 3
iload 4
iload 5
invokespecial android.widget.FrameLayout.onLayout:(ZIIII)V
1: aload 0
iconst_0
putfield android.widget.ScrollView.mIsLayoutDirty:Z
2: aload 0
getfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
ifnull 4
aload 0
getfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
aload 0
invokestatic android.widget.ScrollView.isViewDescendantOf:(Landroid/view/View;Landroid/view/View;)Z
ifeq 4
3: aload 0
aload 0
getfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
invokevirtual android.widget.ScrollView.scrollToChild:(Landroid/view/View;)V
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.widget.ScrollView.mChildToScrollTo:Landroid/view/View;
5: aload 0
invokevirtual android.widget.ScrollView.isLaidOut:()Z
ifne 20
6: aload 0
getfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
ifnull 9
7: aload 0
aload 0
getfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
getfield android.widget.ScrollView$SavedState.scrollPosition:I
putfield android.widget.ScrollView.mScrollY:I
8: aload 0
aconst_null
putfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 10
aload 0
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
start local 6 12: iconst_0
13: iload 6
iload 5
iload 3
isub
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
isub
14: invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 15: aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 7
if_icmple 18
16: aload 0
iload 7
putfield android.widget.ScrollView.mScrollY:I
17: goto 20
StackMap locals: int int
StackMap stack:
18: aload 0
getfield android.widget.ScrollView.mScrollY:I
ifge 20
19: aload 0
iconst_0
putfield android.widget.ScrollView.mScrollY:I
end local 7 end local 6 20: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
invokevirtual android.widget.ScrollView.scrollTo:(II)V
21: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
iload 4
invokespecial android.widget.FrameLayout.onSizeChanged:(IIII)V
1: aload 0
invokevirtual android.widget.ScrollView.findFocus:()Landroid/view/View;
astore 5
start local 5 2: aload 5
ifnull 3
aload 0
aload 5
if_acmpne 4
3: StackMap locals: android.view.View
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_0
iload 4
invokevirtual android.widget.ScrollView.isWithinDeltaOfScreen:(Landroid/view/View;II)Z
ifeq 9
5: aload 5
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
6: aload 0
aload 5
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
7: aload 0
aload 0
getfield android.widget.ScrollView.mTempRect:Landroid/graphics/Rect;
invokevirtual android.widget.ScrollView.computeScrollDeltaToGetChildRectOnScreen:(Landroid/graphics/Rect;)I
istore 6
start local 6 8: aload 0
iload 6
invokevirtual android.widget.ScrollView.doScrollY:(I)V
end local 6 9: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
astore 2
start local 2 3: aload 2
instanceof android.view.ViewGroup
ifeq 4
aload 2
checkcast android.view.View
aload 1
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 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 9
1: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
istore 2
start local 2 2: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
invokevirtual android.view.View.getHeight:()I
istore 3
start local 3 3: aload 0
getfield android.widget.ScrollView.mScroller:Landroid/widget/OverScroller;
aload 0
getfield android.widget.ScrollView.mScrollX:I
aload 0
getfield android.widget.ScrollView.mScrollY:I
iconst_0
iload 1
iconst_0
iconst_0
iconst_0
4: iconst_0
iload 3
iload 2
isub
invokestatic java.lang.Math.max:(II)I
iconst_0
iload 2
iconst_2
idiv
5: invokevirtual android.widget.OverScroller.fling:(IIIIIIIIII)V
6: aload 0
getfield android.widget.ScrollView.mFlingStrictSpan:Landroid/os/StrictMode$Span;
ifnonnull 8
7: aload 0
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: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
end local 3 end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.widget.ScrollView.mScrollY:I
ifgt 1
iload 1
ifle 4
1: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mScrollY:I
aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
if_icmplt 3
iload 1
2: 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
start local 2 6: aload 0
fconst_0
iload 1
i2f
invokevirtual android.widget.ScrollView.dispatchNestedPreFling:(FF)Z
ifne 10
7: aload 0
fconst_0
iload 1
i2f
iload 2
invokevirtual android.widget.ScrollView.dispatchNestedFling:(FFZ)Z
pop
8: iload 2
ifeq 10
9: aload 0
iload 1
invokevirtual android.widget.ScrollView.fling:(I)V
10: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 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 0: aload 0
iconst_0
putfield android.widget.ScrollView.mIsBeingDragged:Z
1: aload 0
invokevirtual android.widget.ScrollView.recycleVelocityTracker:()V
2: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
ifnull 5
3: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.onRelease:()V
4: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.onRelease:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
ifnull 8
6: aload 0
getfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
invokevirtual android.os.StrictMode$Span.finish:()V
7: aload 0
aconst_null
putfield android.widget.ScrollView.mScrollStrictSpan:Landroid/os/StrictMode$Span;
8: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual android.widget.ScrollView.getChildCount:()I
ifle 6
1: aload 0
iconst_0
invokevirtual android.widget.ScrollView.getChildAt:(I)Landroid/view/View;
astore 3
start local 3 2: iload 1
aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
aload 0
getfield android.widget.ScrollView.mPaddingRight:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
isub
aload 3
invokevirtual android.view.View.getWidth:()I
invokestatic android.widget.ScrollView.clamp:(III)I
istore 1
3: iload 2
aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
aload 3
invokevirtual android.view.View.getHeight:()I
invokestatic android.widget.ScrollView.clamp:(III)I
istore 2
4: iload 1
aload 0
getfield android.widget.ScrollView.mScrollX:I
if_icmpne 5
iload 2
aload 0
getfield android.widget.ScrollView.mScrollY:I
if_icmpeq 6
5: StackMap locals: android.view.View
StackMap stack:
aload 0
iload 1
iload 2
invokespecial android.widget.FrameLayout.scrollTo:(II)V
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 0: iload 1
iconst_2
if_icmpeq 6
1: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
ifnonnull 8
2: aload 0
invokevirtual android.widget.ScrollView.getContext:()Landroid/content/Context;
astore 2
start local 2 3: aload 0
new android.widget.EdgeEffect
dup
aload 2
invokespecial android.widget.EdgeEffect.<init>:(Landroid/content/Context;)V
putfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
4: aload 0
new android.widget.EdgeEffect
dup
aload 2
invokespecial android.widget.EdgeEffect.<init>:(Landroid/content/Context;)V
putfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
end local 2 5: goto 8
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
7: aload 0
aconst_null
putfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
8: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial android.widget.FrameLayout.setOverScrollMode:(I)V
9: return
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: iload 3
iconst_2
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokespecial android.widget.FrameLayout.onNestedScrollAccepted:(Landroid/view/View;Landroid/view/View;I)V
1: aload 0
iconst_2
invokevirtual android.widget.ScrollView.startNestedScroll:(I)Z
pop
2: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokespecial android.widget.FrameLayout.onStopNestedScroll:(Landroid/view/View;)V
1: return
end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 6
start local 6 1: aload 0
iconst_0
iload 5
invokevirtual android.widget.ScrollView.scrollBy:(II)V
2: aload 0
getfield android.widget.ScrollView.mScrollY:I
iload 6
isub
istore 7
start local 7 3: iload 5
iload 7
isub
istore 8
start local 8 4: aload 0
iconst_0
iload 7
iconst_0
iload 8
aconst_null
invokevirtual android.widget.ScrollView.dispatchNestedScroll:(IIII[I)Z
pop
5: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifne 3
1: aload 0
fload 3
f2i
invokevirtual android.widget.ScrollView.flingWithNestedDispatch:(I)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokespecial android.widget.FrameLayout.draw:(Landroid/graphics/Canvas;)V
1: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
ifnull 41
2: aload 0
getfield android.widget.ScrollView.mScrollY:I
istore 2
start local 2 3: aload 0
invokevirtual android.widget.ScrollView.getClipToPadding:()Z
istore 3
start local 3 4: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.isFinished:()Z
ifne 21
5: aload 1
invokevirtual android.graphics.Canvas.save:()I
istore 4
start local 4 6: iload 3
ifeq 12
7: aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingRight:I
isub
istore 5
start local 5 8: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
istore 6
start local 6 9: aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
i2f
fstore 7
start local 7 10: aload 0
getfield android.widget.ScrollView.mPaddingTop:I
i2f
fstore 8
start local 8 11: goto 16
end local 8 end local 7 end local 6 end local 5 12: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
istore 5
start local 5 13: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
istore 6
start local 6 14: fconst_0
fstore 7
start local 7 15: fconst_0
fstore 8
start local 8 16: StackMap locals: android.widget.ScrollView android.graphics.Canvas int int int int int float float
StackMap stack:
aload 1
fload 7
iconst_0
iload 2
invokestatic java.lang.Math.min:(II)I
i2f
fload 8
fadd
invokevirtual android.graphics.Canvas.translate:(FF)V
17: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
iload 5
iload 6
invokevirtual android.widget.EdgeEffect.setSize:(II)V
18: aload 0
getfield android.widget.ScrollView.mEdgeGlowTop:Landroid/widget/EdgeEffect;
aload 1
invokevirtual android.widget.EdgeEffect.draw:(Landroid/graphics/Canvas;)Z
ifeq 20
19: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
20: StackMap locals:
StackMap stack:
aload 1
iload 4
invokevirtual android.graphics.Canvas.restoreToCount:(I)V
end local 8 end local 7 end local 6 end local 5 end local 4 21: StackMap locals: android.widget.ScrollView android.graphics.Canvas int int
StackMap stack:
aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
invokevirtual android.widget.EdgeEffect.isFinished:()Z
ifne 41
22: aload 1
invokevirtual android.graphics.Canvas.save:()I
istore 4
start local 4 23: iload 3
ifeq 29
24: aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingRight:I
isub
istore 5
start local 5 25: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
aload 0
getfield android.widget.ScrollView.mPaddingTop:I
isub
aload 0
getfield android.widget.ScrollView.mPaddingBottom:I
isub
istore 6
start local 6 26: aload 0
getfield android.widget.ScrollView.mPaddingLeft:I
i2f
fstore 7
start local 7 27: aload 0
getfield android.widget.ScrollView.mPaddingTop:I
i2f
fstore 8
start local 8 28: goto 33
end local 8 end local 7 end local 6 end local 5 29: StackMap locals: int
StackMap stack:
aload 0
invokevirtual android.widget.ScrollView.getWidth:()I
istore 5
start local 5 30: aload 0
invokevirtual android.widget.ScrollView.getHeight:()I
istore 6
start local 6 31: fconst_0
fstore 7
start local 7 32: fconst_0
fstore 8
start local 8 33: StackMap locals: android.widget.ScrollView android.graphics.Canvas int int int int int float float
StackMap stack:
aload 1
iload 5
ineg
i2f
fload 7
fadd
34: aload 0
invokevirtual android.widget.ScrollView.getScrollRange:()I
iload 2
invokestatic java.lang.Math.max:(II)I
iload 6
iadd
i2f
fload 8
fadd
35: invokevirtual android.graphics.Canvas.translate:(FF)V
36: aload 1
ldc 180.0
iload 5
i2f
fconst_0
invokevirtual android.graphics.Canvas.rotate:(FFF)V
37: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
iload 5
iload 6
invokevirtual android.widget.EdgeEffect.setSize:(II)V
38: aload 0
getfield android.widget.ScrollView.mEdgeGlowBottom:Landroid/widget/EdgeEffect;
aload 1
invokevirtual android.widget.EdgeEffect.draw:(Landroid/graphics/Canvas;)Z
ifeq 40
39: aload 0
invokevirtual android.widget.ScrollView.postInvalidateOnAnimation:()V
40: StackMap locals:
StackMap stack:
aload 1
iload 4
invokevirtual android.graphics.Canvas.restoreToCount:(I)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 41: StackMap locals: android.widget.ScrollView android.graphics.Canvas
StackMap stack:
return
end local 1 end local 0 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 start local 1 start local 2 0: iload 1
iload 2
if_icmpge 1
iload 0
ifge 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 1
iload 0
iadd
iload 2
if_icmple 4
3: iload 2
iload 1
isub
ireturn
4: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
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: aload 0
aload 1
invokespecial android.widget.FrameLayout.onRestoreInstanceState:(Landroid/os/Parcelable;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
checkcast android.widget.ScrollView$SavedState
astore 2
start local 2 4: aload 0
aload 2
invokevirtual android.widget.ScrollView$SavedState.getSuperState:()Landroid/os/Parcelable;
invokespecial android.widget.FrameLayout.onRestoreInstanceState:(Landroid/os/Parcelable;)V
5: aload 0
aload 2
putfield android.widget.ScrollView.mSavedState:Landroid/widget/ScrollView$SavedState;
6: aload 0
invokevirtual android.widget.ScrollView.requestLayout:()V
7: return
end local 2 end local 1 end local 0 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 0: aload 0
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: aload 0
invokespecial android.widget.FrameLayout.onSaveInstanceState:()Landroid/os/Parcelable;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial android.widget.FrameLayout.onSaveInstanceState:()Landroid/os/Parcelable;
astore 1
start local 1 3: new android.widget.ScrollView$SavedState
dup
aload 1
invokespecial android.widget.ScrollView$SavedState.<init>:(Landroid/os/Parcelable;)V
astore 2
start local 2 4: aload 2
aload 0
getfield android.widget.ScrollView.mScrollY:I
putfield android.widget.ScrollView$SavedState.scrollPosition:I
5: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokespecial android.widget.FrameLayout.encodeProperties:(Landroid/view/ViewHierarchyEncoder;)V
1: aload 1
ldc "fillViewport"
aload 0
getfield android.widget.ScrollView.mFillViewport:Z
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;Z)V
2: return
end local 1 end local 0 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