public class android.widget.OverScroller
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.OverScroller
  super_class: java.lang.Object
{
  private int mMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final android.widget.OverScroller$SplineOverScroller mScrollerX;
    descriptor: Landroid/widget/OverScroller$SplineOverScroller;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.widget.OverScroller$SplineOverScroller mScrollerY;
    descriptor: Landroid/widget/OverScroller$SplineOverScroller;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.view.animation.Interpolator mInterpolator;
    descriptor: Landroid/view/animation/Interpolator;
    flags: (0x0002) ACC_PRIVATE

  private final boolean mFlywheel;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int DEFAULT_DURATION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 250

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

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

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

  public void <init>(android.content.Context, android.view.animation.Interpolator);
    descriptor: (Landroid/content/Context;Landroid/view/animation/Interpolator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.widget.OverScroller this
        start local 1 // android.content.Context context
        start local 2 // android.view.animation.Interpolator interpolator
         0: .line 60
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* interpolator */
            iconst_1
            invokespecial android.widget.OverScroller.<init>:(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
         1: .line 61
            return
        end local 2 // android.view.animation.Interpolator interpolator
        end local 1 // android.content.Context context
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Landroid/widget/OverScroller;
            0    2     1       context  Landroid/content/Context;
            0    2     2  interpolator  Landroid/view/animation/Interpolator;
    MethodParameters:
              Name  Flags
      context       
      interpolator  

  public void <init>(android.content.Context, android.view.animation.Interpolator, boolean);
    descriptor: (Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.OverScroller this
        start local 1 // android.content.Context context
        start local 2 // android.view.animation.Interpolator interpolator
        start local 3 // boolean flywheel
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 2 /* interpolator */
            ifnonnull 4
         2: .line 73
            aload 0 /* this */
            new android.widget.Scroller$ViscousFluidInterpolator
            dup
            invokespecial android.widget.Scroller$ViscousFluidInterpolator.<init>:()V
            putfield android.widget.OverScroller.mInterpolator:Landroid/view/animation/Interpolator;
         3: .line 74
            goto 5
         4: .line 75
      StackMap locals: android.widget.OverScroller android.content.Context android.view.animation.Interpolator int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* interpolator */
            putfield android.widget.OverScroller.mInterpolator:Landroid/view/animation/Interpolator;
         5: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* flywheel */
            putfield android.widget.OverScroller.mFlywheel:Z
         6: .line 78
            aload 0 /* this */
            new android.widget.OverScroller$SplineOverScroller
            dup
            aload 1 /* context */
            invokespecial android.widget.OverScroller$SplineOverScroller.<init>:(Landroid/content/Context;)V
            putfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
         7: .line 79
            aload 0 /* this */
            new android.widget.OverScroller$SplineOverScroller
            dup
            aload 1 /* context */
            invokespecial android.widget.OverScroller$SplineOverScroller.<init>:(Landroid/content/Context;)V
            putfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
         8: .line 80
            return
        end local 3 // boolean flywheel
        end local 2 // android.view.animation.Interpolator interpolator
        end local 1 // android.content.Context context
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Landroid/widget/OverScroller;
            0    9     1       context  Landroid/content/Context;
            0    9     2  interpolator  Landroid/view/animation/Interpolator;
            0    9     3      flywheel  Z
    MethodParameters:
              Name  Flags
      context       
      interpolator  
      flywheel      

  public void <init>(android.content.Context, android.view.animation.Interpolator, float, float);
    descriptor: (Landroid/content/Context;Landroid/view/animation/Interpolator;FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // android.widget.OverScroller this
        start local 1 // android.content.Context context
        start local 2 // android.view.animation.Interpolator interpolator
        start local 3 // float bounceCoefficientX
        start local 4 // float bounceCoefficientY
         0: .line 97
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* interpolator */
            iconst_1
            invokespecial android.widget.OverScroller.<init>:(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
         1: .line 98
            return
        end local 4 // float bounceCoefficientY
        end local 3 // float bounceCoefficientX
        end local 2 // android.view.animation.Interpolator interpolator
        end local 1 // android.content.Context context
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Landroid/widget/OverScroller;
            0    2     1             context  Landroid/content/Context;
            0    2     2        interpolator  Landroid/view/animation/Interpolator;
            0    2     3  bounceCoefficientX  F
            0    2     4  bounceCoefficientY  F
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                    Name  Flags
      context             
      interpolator        
      bounceCoefficientX  
      bounceCoefficientY  

  public void <init>(android.content.Context, android.view.animation.Interpolator, float, float, boolean);
    descriptor: (Landroid/content/Context;Landroid/view/animation/Interpolator;FFZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // android.widget.OverScroller this
        start local 1 // android.content.Context context
        start local 2 // android.view.animation.Interpolator interpolator
        start local 3 // float bounceCoefficientX
        start local 4 // float bounceCoefficientY
        start local 5 // boolean flywheel
         0: .line 116
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* interpolator */
            iload 5 /* flywheel */
            invokespecial android.widget.OverScroller.<init>:(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
         1: .line 117
            return
        end local 5 // boolean flywheel
        end local 4 // float bounceCoefficientY
        end local 3 // float bounceCoefficientX
        end local 2 // android.view.animation.Interpolator interpolator
        end local 1 // android.content.Context context
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Landroid/widget/OverScroller;
            0    2     1             context  Landroid/content/Context;
            0    2     2        interpolator  Landroid/view/animation/Interpolator;
            0    2     3  bounceCoefficientX  F
            0    2     4  bounceCoefficientY  F
            0    2     5            flywheel  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                    Name  Flags
      context             
      interpolator        
      bounceCoefficientX  
      bounceCoefficientY  
      flywheel            

  void setInterpolator(android.view.animation.Interpolator);
    descriptor: (Landroid/view/animation/Interpolator;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.OverScroller this
        start local 1 // android.view.animation.Interpolator interpolator
         0: .line 120
            aload 1 /* interpolator */
            ifnonnull 3
         1: .line 121
            aload 0 /* this */
            new android.widget.Scroller$ViscousFluidInterpolator
            dup
            invokespecial android.widget.Scroller$ViscousFluidInterpolator.<init>:()V
            putfield android.widget.OverScroller.mInterpolator:Landroid/view/animation/Interpolator;
         2: .line 122
            goto 4
         3: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* interpolator */
            putfield android.widget.OverScroller.mInterpolator:Landroid/view/animation/Interpolator;
         4: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.animation.Interpolator interpolator
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Landroid/widget/OverScroller;
            0    5     1  interpolator  Landroid/view/animation/Interpolator;
    MethodParameters:
              Name  Flags
      interpolator  

  public final void setFriction(float);
    descriptor: (F)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.OverScroller this
        start local 1 // float friction
         0: .line 135
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            fload 1 /* friction */
            invokevirtual android.widget.OverScroller$SplineOverScroller.setFriction:(F)V
         1: .line 136
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            fload 1 /* friction */
            invokevirtual android.widget.OverScroller$SplineOverScroller.setFriction:(F)V
         2: .line 137
            return
        end local 1 // float friction
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/widget/OverScroller;
            0    3     1  friction  F
    MethodParameters:
          Name  Flags
      friction  

  public final boolean isFinished();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 146
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifeq 1
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/OverScroller;

  public final void forceFinished(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.OverScroller this
        start local 1 // boolean finished
         0: .line 158
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* finished */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         1: .line 159
            return
        end local 1 // boolean finished
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/OverScroller;
            0    2     1  finished  Z
    MethodParameters:
          Name  Flags
      finished  

  public final int getCurrX();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 167
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public final int getCurrY();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 176
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public float getCurrVelocity();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 185
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
            f2d
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
            f2d
            invokestatic java.lang.Math.hypot:(DD)D
            d2f
            freturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public final int getStartX();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 194
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public final int getStartY();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 203
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public final int getFinalX();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 212
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public final int getFinalY();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 221
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;

  public final int getDuration();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 235
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/OverScroller;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void extendDuration(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.OverScroller this
        start local 1 // int extend
         0: .line 254
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* extend */
            invokevirtual android.widget.OverScroller$SplineOverScroller.extendDuration:(I)V
         1: .line 255
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* extend */
            invokevirtual android.widget.OverScroller$SplineOverScroller.extendDuration:(I)V
         2: .line 256
            return
        end local 1 // int extend
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/OverScroller;
            0    3     1  extend  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      extend  

  public void setFinalX(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.OverScroller this
        start local 1 // int newX
         0: .line 273
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* newX */
            invokevirtual android.widget.OverScroller$SplineOverScroller.setFinalPosition:(I)V
         1: .line 274
            return
        end local 1 // int newX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/OverScroller;
            0    2     1  newX  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      newX  

  public void setFinalY(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.OverScroller this
        start local 1 // int newY
         0: .line 291
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* newY */
            invokevirtual android.widget.OverScroller$SplineOverScroller.setFinalPosition:(I)V
         1: .line 292
            return
        end local 1 // int newY
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/OverScroller;
            0    2     1  newY  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      newY  

  public boolean computeScrollOffset();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 299
            aload 0 /* this */
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifeq 2
         1: .line 300
            iconst_0
            ireturn
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller.mMode:I
            tableswitch { // 0 - 1
                    0: 3
                    1: 13
              default: 21
          }
         3: .line 305
      StackMap locals:
      StackMap stack:
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            lstore 1 /* time */
        start local 1 // long time
         4: .line 308
            lload 1 /* time */
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            lsub
            lstore 3 /* elapsedTime */
        start local 3 // long elapsedTime
         5: .line 310
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            istore 5 /* duration */
        start local 5 // int duration
         6: .line 311
            lload 3 /* elapsedTime */
            iload 5 /* duration */
            i2l
            lcmp
            ifge 11
         7: .line 312
            aload 0 /* this */
            getfield android.widget.OverScroller.mInterpolator:Landroid/view/animation/Interpolator;
            lload 3 /* elapsedTime */
            l2f
            iload 5 /* duration */
            i2f
            fdiv
            invokeinterface android.view.animation.Interpolator.getInterpolation:(F)F
            fstore 6 /* q */
        start local 6 // float q
         8: .line 313
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            fload 6 /* q */
            invokevirtual android.widget.OverScroller$SplineOverScroller.updateScroll:(F)V
         9: .line 314
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            fload 6 /* q */
            invokevirtual android.widget.OverScroller$SplineOverScroller.updateScroll:(F)V
        end local 6 // float q
        10: .line 315
            goto 21
        11: .line 316
      StackMap locals: long long int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.OverScroller.abortAnimation:()V
        12: .line 318
            goto 21
        end local 5 // int duration
        end local 3 // long elapsedTime
        end local 1 // long time
        13: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifne 17
        14: .line 322
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.update:()Z
            ifne 17
        15: .line 323
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.continueWhenFinished:()Z
            ifne 17
        16: .line 324
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.finish:()V
        17: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifne 21
        18: .line 330
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.update:()Z
            ifne 21
        19: .line 331
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.continueWhenFinished:()Z
            ifne 21
        20: .line 332
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.finish:()V
        21: .line 340
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Landroid/widget/OverScroller;
            4   13     1         time  J
            5   13     3  elapsedTime  J
            6   13     5     duration  I
            8   10     6            q  F

  public void startScroll(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // android.widget.OverScroller this
        start local 1 // int startX
        start local 2 // int startY
        start local 3 // int dx
        start local 4 // int dy
         0: .line 358
            aload 0 /* this */
            iload 1 /* startX */
            iload 2 /* startY */
            iload 3 /* dx */
            iload 4 /* dy */
            sipush 250
            invokevirtual android.widget.OverScroller.startScroll:(IIIII)V
         1: .line 359
            return
        end local 4 // int dy
        end local 3 // int dx
        end local 2 // int startY
        end local 1 // int startX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/OverScroller;
            0    2     1  startX  I
            0    2     2  startY  I
            0    2     3      dx  I
            0    2     4      dy  I
    MethodParameters:
        Name  Flags
      startX  
      startY  
      dx      
      dy      

  public void startScroll(int, int, int, int, int);
    descriptor: (IIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // android.widget.OverScroller this
        start local 1 // int startX
        start local 2 // int startY
        start local 3 // int dx
        start local 4 // int dy
        start local 5 // int duration
         0: .line 375
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller.mMode:I
         1: .line 376
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* startX */
            iload 3 /* dx */
            iload 5 /* duration */
            invokevirtual android.widget.OverScroller$SplineOverScroller.startScroll:(III)V
         2: .line 377
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 2 /* startY */
            iload 4 /* dy */
            iload 5 /* duration */
            invokevirtual android.widget.OverScroller$SplineOverScroller.startScroll:(III)V
         3: .line 378
            return
        end local 5 // int duration
        end local 4 // int dy
        end local 3 // int dx
        end local 2 // int startY
        end local 1 // int startX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/widget/OverScroller;
            0    4     1    startX  I
            0    4     2    startY  I
            0    4     3        dx  I
            0    4     4        dy  I
            0    4     5  duration  I
    MethodParameters:
          Name  Flags
      startX    
      startY    
      dx        
      dy        
      duration  

  public boolean springBack(int, int, int, int, int, int);
    descriptor: (IIIIII)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // android.widget.OverScroller this
        start local 1 // int startX
        start local 2 // int startY
        start local 3 // int minX
        start local 4 // int maxX
        start local 5 // int minY
        start local 6 // int maxY
         0: .line 393
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller.mMode:I
         1: .line 396
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* startX */
            iload 3 /* minX */
            iload 4 /* maxX */
            invokevirtual android.widget.OverScroller$SplineOverScroller.springback:(III)Z
            istore 7 /* spingbackX */
        start local 7 // boolean spingbackX
         2: .line 397
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 2 /* startY */
            iload 5 /* minY */
            iload 6 /* maxY */
            invokevirtual android.widget.OverScroller$SplineOverScroller.springback:(III)Z
            istore 8 /* spingbackY */
        start local 8 // boolean spingbackY
         3: .line 398
            iload 7 /* spingbackX */
            ifne 4
            iload 8 /* spingbackY */
            ifne 4
            iconst_0
            ireturn
      StackMap locals: int int
      StackMap stack:
         4: iconst_1
            ireturn
        end local 8 // boolean spingbackY
        end local 7 // boolean spingbackX
        end local 6 // int maxY
        end local 5 // int minY
        end local 4 // int maxX
        end local 3 // int minX
        end local 2 // int startY
        end local 1 // int startX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/widget/OverScroller;
            0    5     1      startX  I
            0    5     2      startY  I
            0    5     3        minX  I
            0    5     4        maxX  I
            0    5     5        minY  I
            0    5     6        maxY  I
            2    5     7  spingbackX  Z
            3    5     8  spingbackY  Z
    MethodParameters:
        Name  Flags
      startX  
      startY  
      minX    
      maxX    
      minY    
      maxY    

  public void fling(int, int, int, int, int, int, int, int);
    descriptor: (IIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=9, args_size=9
        start local 0 // android.widget.OverScroller this
        start local 1 // int startX
        start local 2 // int startY
        start local 3 // int velocityX
        start local 4 // int velocityY
        start local 5 // int minX
        start local 6 // int maxX
        start local 7 // int minY
        start local 8 // int maxY
         0: .line 403
            aload 0 /* this */
            iload 1 /* startX */
            iload 2 /* startY */
            iload 3 /* velocityX */
            iload 4 /* velocityY */
            iload 5 /* minX */
            iload 6 /* maxX */
            iload 7 /* minY */
            iload 8 /* maxY */
            iconst_0
            iconst_0
            invokevirtual android.widget.OverScroller.fling:(IIIIIIIIII)V
         1: .line 404
            return
        end local 8 // int maxY
        end local 7 // int minY
        end local 6 // int maxX
        end local 5 // int minX
        end local 4 // int velocityY
        end local 3 // int velocityX
        end local 2 // int startY
        end local 1 // int startX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/widget/OverScroller;
            0    2     1     startX  I
            0    2     2     startY  I
            0    2     3  velocityX  I
            0    2     4  velocityY  I
            0    2     5       minX  I
            0    2     6       maxX  I
            0    2     7       minY  I
            0    2     8       maxY  I
    MethodParameters:
           Name  Flags
      startX     
      startY     
      velocityX  
      velocityY  
      minX       
      maxX       
      minY       
      maxY       

  public void fling(int, int, int, int, int, int, int, int, int, int);
    descriptor: (IIIIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=11
        start local 0 // android.widget.OverScroller this
        start local 1 // int startX
        start local 2 // int startY
        start local 3 // int velocityX
        start local 4 // int velocityY
        start local 5 // int minX
        start local 6 // int maxX
        start local 7 // int minY
        start local 8 // int maxY
        start local 9 // int overX
        start local 10 // int overY
         0: .line 436
            aload 0 /* this */
            getfield android.widget.OverScroller.mFlywheel:Z
            ifeq 7
            aload 0 /* this */
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifne 7
         1: .line 437
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
            fstore 11 /* oldVelocityX */
        start local 11 // float oldVelocityX
         2: .line 438
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
            fstore 12 /* oldVelocityY */
        start local 12 // float oldVelocityY
         3: .line 439
            iload 3 /* velocityX */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fload 11 /* oldVelocityX */
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 7
         4: .line 440
            iload 4 /* velocityY */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fload 12 /* oldVelocityY */
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 7
         5: .line 441
            iload 3 /* velocityX */
            i2f
            fload 11 /* oldVelocityX */
            fadd
            f2i
            istore 3 /* velocityX */
         6: .line 442
            iload 4 /* velocityY */
            i2f
            fload 12 /* oldVelocityY */
            fadd
            f2i
            istore 4 /* velocityY */
        end local 12 // float oldVelocityY
        end local 11 // float oldVelocityX
         7: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller.mMode:I
         8: .line 447
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* startX */
            iload 3 /* velocityX */
            iload 5 /* minX */
            iload 6 /* maxX */
            iload 9 /* overX */
            invokevirtual android.widget.OverScroller$SplineOverScroller.fling:(IIIII)V
         9: .line 448
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 2 /* startY */
            iload 4 /* velocityY */
            iload 7 /* minY */
            iload 8 /* maxY */
            iload 10 /* overY */
            invokevirtual android.widget.OverScroller$SplineOverScroller.fling:(IIIII)V
        10: .line 449
            return
        end local 10 // int overY
        end local 9 // int overX
        end local 8 // int maxY
        end local 7 // int minY
        end local 6 // int maxX
        end local 5 // int minX
        end local 4 // int velocityY
        end local 3 // int velocityX
        end local 2 // int startY
        end local 1 // int startX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Landroid/widget/OverScroller;
            0   11     1        startX  I
            0   11     2        startY  I
            0   11     3     velocityX  I
            0   11     4     velocityY  I
            0   11     5          minX  I
            0   11     6          maxX  I
            0   11     7          minY  I
            0   11     8          maxY  I
            0   11     9         overX  I
            0   11    10         overY  I
            2    7    11  oldVelocityX  F
            3    7    12  oldVelocityY  F
    MethodParameters:
           Name  Flags
      startX     
      startY     
      velocityX  
      velocityY  
      minX       
      maxX       
      minY       
      maxY       
      overX      
      overY      

  public void notifyHorizontalEdgeReached(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.OverScroller this
        start local 1 // int startX
        start local 2 // int finalX
        start local 3 // int overX
         0: .line 465
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* startX */
            iload 2 /* finalX */
            iload 3 /* overX */
            invokevirtual android.widget.OverScroller$SplineOverScroller.notifyEdgeReached:(III)V
         1: .line 466
            return
        end local 3 // int overX
        end local 2 // int finalX
        end local 1 // int startX
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/OverScroller;
            0    2     1  startX  I
            0    2     2  finalX  I
            0    2     3   overX  I
    MethodParameters:
        Name  Flags
      startX  
      finalX  
      overX   

  public void notifyVerticalEdgeReached(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.OverScroller this
        start local 1 // int startY
        start local 2 // int finalY
        start local 3 // int overY
         0: .line 482
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            iload 1 /* startY */
            iload 2 /* finalY */
            iload 3 /* overY */
            invokevirtual android.widget.OverScroller$SplineOverScroller.notifyEdgeReached:(III)V
         1: .line 483
            return
        end local 3 // int overY
        end local 2 // int finalY
        end local 1 // int startY
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/OverScroller;
            0    2     1  startY  I
            0    2     2  finalY  I
            0    2     3   overY  I
    MethodParameters:
        Name  Flags
      startY  
      finalY  
      overY   

  public boolean isOverScrolled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 499
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifne 2
         1: .line 500
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mState:I
            ifne 5
         2: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifne 4
         3: .line 502
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mState:I
            ifne 5
         4: .line 499
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/widget/OverScroller;

  public void abortAnimation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 513
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.finish:()V
         1: .line 514
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            invokevirtual android.widget.OverScroller$SplineOverScroller.finish:()V
         2: .line 515
            return
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/OverScroller;

  public int timePassed();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.widget.OverScroller this
         0: .line 525
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            lstore 1 /* time */
        start local 1 // long time
         1: .line 526
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 3 /* startTime */
        start local 3 // long startTime
         2: .line 527
            lload 1 /* time */
            lload 3 /* startTime */
            lsub
            l2i
            ireturn
        end local 3 // long startTime
        end local 1 // long time
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Landroid/widget/OverScroller;
            1    3     1       time  J
            2    3     3  startTime  J

  public boolean isScrollingInDirection(float, float);
    descriptor: (FF)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.widget.OverScroller this
        start local 1 // float xvel
        start local 2 // float yvel
         0: .line 534
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            isub
            istore 3 /* dx */
        start local 3 // int dx
         1: .line 535
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            aload 0 /* this */
            getfield android.widget.OverScroller.mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            isub
            istore 4 /* dy */
        start local 4 // int dy
         2: .line 536
            aload 0 /* this */
            invokevirtual android.widget.OverScroller.isFinished:()Z
            ifne 5
            fload 1 /* xvel */
            invokestatic java.lang.Math.signum:(F)F
            iload 3 /* dx */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 5
         3: .line 537
            fload 2 /* yvel */
            invokestatic java.lang.Math.signum:(F)F
            iload 4 /* dy */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 5
         4: .line 536
            iconst_1
            ireturn
      StackMap locals: int int
      StackMap stack:
         5: iconst_0
            ireturn
        end local 4 // int dy
        end local 3 // int dx
        end local 2 // float yvel
        end local 1 // float xvel
        end local 0 // android.widget.OverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/widget/OverScroller;
            0    6     1  xvel  F
            0    6     2  yvel  F
            1    6     3    dx  I
            2    6     4    dy  I
    MethodParameters:
      Name  Flags
      xvel  
      yvel  
}
SourceFile: "OverScroller.java"
NestMembers:
  android.widget.OverScroller$SplineOverScroller
InnerClasses:
  SplineOverScroller = android.widget.OverScroller$SplineOverScroller of android.widget.OverScroller
  ViscousFluidInterpolator = android.widget.Scroller$ViscousFluidInterpolator of android.widget.Scroller