public class android.widget.Scroller
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.Scroller
  super_class: java.lang.Object
{
  private final android.view.animation.Interpolator mInterpolator;
    descriptor: Landroid/view/animation/Interpolator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

  private static float DECELERATION_RATE;
    descriptor: F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final float INFLEXION;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.35

  private static final float START_TENSION;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.5

  private static final float END_TENSION;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0

  private static final float P1;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.175

  private static final float P2;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.35000002

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

  private static final float[] SPLINE_POSITION;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float[] SPLINE_TIME;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final float mPpi;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=11, args_size=0
         0: .line 97
            ldc 0.78
            invokestatic java.lang.Math.log:(D)D
            ldc 0.9
            invokestatic java.lang.Math.log:(D)D
            ddiv
            d2f
            putstatic android.widget.Scroller.DECELERATION_RATE:F
         1: .line 105
            bipush 101
            newarray 6
            putstatic android.widget.Scroller.SPLINE_POSITION:[F
         2: .line 106
            bipush 101
            newarray 6
            putstatic android.widget.Scroller.SPLINE_TIME:[F
         3: .line 115
            fconst_0
            fstore 0 /* x_min */
        start local 0 // float x_min
         4: .line 116
            fconst_0
            fstore 1 /* y_min */
        start local 1 // float y_min
         5: .line 117
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 27
         7: .line 118
      StackMap locals: float float int
      StackMap stack:
            iload 2 /* i */
            i2f
            ldc 100.0
            fdiv
            fstore 3 /* alpha */
        start local 3 // float alpha
         8: .line 120
            fconst_1
            fstore 4 /* x_max */
        start local 4 // float x_max
         9: .line 123
      StackMap locals: float float
      StackMap stack:
            fload 0 /* x_min */
            fload 4 /* x_max */
            fload 0 /* x_min */
            fsub
            fconst_2
            fdiv
            fadd
            fstore 5 /* x */
        start local 5 // float x
        10: .line 124
            ldc 3.0
            fload 5 /* x */
            fmul
            fconst_1
            fload 5 /* x */
            fsub
            fmul
            fstore 7 /* coef */
        start local 7 // float coef
        11: .line 125
            fload 7 /* coef */
            fconst_1
            fload 5 /* x */
            fsub
            ldc 0.175
            fmul
            fload 5 /* x */
            ldc 0.35000002
            fmul
            fadd
            fmul
            fload 5 /* x */
            fload 5 /* x */
            fmul
            fload 5 /* x */
            fmul
            fadd
            fstore 6 /* tx */
        start local 6 // float tx
        12: .line 126
            fload 6 /* tx */
            fload 3 /* alpha */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            f2d
            ldc 1.0E-5
            dcmpg
            ifge 13
            goto 16
        13: .line 127
      StackMap locals: float float float
      StackMap stack:
            fload 6 /* tx */
            fload 3 /* alpha */
            fcmpl
            ifle 14
            fload 5 /* x */
            fstore 4 /* x_max */
            goto 9
        14: .line 128
      StackMap locals:
      StackMap stack:
            fload 5 /* x */
            fstore 0 /* x_min */
        end local 7 // float coef
        end local 6 // float tx
        end local 5 // float x
        15: .line 122
            goto 9
        start local 5 // float x
        start local 6 // float tx
        start local 7 // float coef
        16: .line 130
      StackMap locals:
      StackMap stack:
            getstatic android.widget.Scroller.SPLINE_POSITION:[F
            iload 2 /* i */
            fload 7 /* coef */
            fconst_1
            fload 5 /* x */
            fsub
            ldc 0.5
            fmul
            fload 5 /* x */
            fadd
            fmul
            fload 5 /* x */
            fload 5 /* x */
            fmul
            fload 5 /* x */
            fmul
            fadd
            fastore
        17: .line 132
            fconst_1
            fstore 8 /* y_max */
        start local 8 // float y_max
        18: .line 135
      StackMap locals: float
      StackMap stack:
            fload 1 /* y_min */
            fload 8 /* y_max */
            fload 1 /* y_min */
            fsub
            fconst_2
            fdiv
            fadd
            fstore 9 /* y */
        start local 9 // float y
        19: .line 136
            ldc 3.0
            fload 9 /* y */
            fmul
            fconst_1
            fload 9 /* y */
            fsub
            fmul
            fstore 7 /* coef */
        20: .line 137
            fload 7 /* coef */
            fconst_1
            fload 9 /* y */
            fsub
            ldc 0.5
            fmul
            fload 9 /* y */
            fadd
            fmul
            fload 9 /* y */
            fload 9 /* y */
            fmul
            fload 9 /* y */
            fmul
            fadd
            fstore 10 /* dy */
        start local 10 // float dy
        21: .line 138
            fload 10 /* dy */
            fload 3 /* alpha */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            f2d
            ldc 1.0E-5
            dcmpg
            ifge 22
            goto 25
        22: .line 139
      StackMap locals: float float
      StackMap stack:
            fload 10 /* dy */
            fload 3 /* alpha */
            fcmpl
            ifle 23
            fload 9 /* y */
            fstore 8 /* y_max */
            goto 18
        23: .line 140
      StackMap locals:
      StackMap stack:
            fload 9 /* y */
            fstore 1 /* y_min */
        end local 10 // float dy
        end local 9 // float y
        24: .line 134
            goto 18
        start local 9 // float y
        start local 10 // float dy
        25: .line 142
      StackMap locals:
      StackMap stack:
            getstatic android.widget.Scroller.SPLINE_TIME:[F
            iload 2 /* i */
            fload 7 /* coef */
            fconst_1
            fload 9 /* y */
            fsub
            ldc 0.175
            fmul
            fload 9 /* y */
            ldc 0.35000002
            fmul
            fadd
            fmul
            fload 9 /* y */
            fload 9 /* y */
            fmul
            fload 9 /* y */
            fmul
            fadd
            fastore
        end local 10 // float dy
        end local 9 // float y
        end local 8 // float y_max
        end local 7 // float coef
        end local 6 // float tx
        end local 5 // float x
        end local 4 // float x_max
        end local 3 // float alpha
        26: .line 117
            iinc 2 /* i */ 1
      StackMap locals: float float int
      StackMap stack:
        27: iload 2 /* i */
            bipush 100
            if_icmplt 7
        end local 2 // int i
        28: .line 144
            getstatic android.widget.Scroller.SPLINE_POSITION:[F
            bipush 100
            getstatic android.widget.Scroller.SPLINE_TIME:[F
            bipush 100
            fconst_1
            dup_x2
            fastore
            fastore
        end local 1 // float y_min
        end local 0 // float x_min
        29: .line 145
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            4   29     0  x_min  F
            5   29     1  y_min  F
            6   28     2      i  I
            8   26     3  alpha  F
            9   26     4  x_max  F
           10   15     5      x  F
           16   26     5      x  F
           12   15     6     tx  F
           16   26     6     tx  F
           11   15     7   coef  F
           16   26     7   coef  F
           18   26     8  y_max  F
           19   24     9      y  F
           25   26     9      y  F
           21   24    10     dy  F
           25   26    10     dy  F

  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.Scroller this
        start local 1 // android.content.Context context
         0: .line 151
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial android.widget.Scroller.<init>:(Landroid/content/Context;Landroid/view/animation/Interpolator;)V
         1: .line 152
            return
        end local 1 // android.content.Context context
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/widget/Scroller;
            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=5, locals=3, args_size=3
        start local 0 // android.widget.Scroller this
        start local 1 // android.content.Context context
        start local 2 // android.view.animation.Interpolator interpolator
         0: .line 160
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* interpolator */
         1: .line 161
            aload 1 /* context */
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            bipush 11
            if_icmplt 2
            iconst_1
            goto 3
      StackMap locals: uninitialized-this android.content.Context android.view.animation.Interpolator
      StackMap stack: uninitialized-this android.content.Context android.view.animation.Interpolator
         2: iconst_0
      StackMap locals: uninitialized-this android.content.Context android.view.animation.Interpolator
      StackMap stack: uninitialized-this android.content.Context android.view.animation.Interpolator int
         3: invokespecial android.widget.Scroller.<init>:(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
         4: .line 162
            return
        end local 2 // android.view.animation.Interpolator interpolator
        end local 1 // android.content.Context context
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Landroid/widget/Scroller;
            0    5     1       context  Landroid/content/Context;
            0    5     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=3, locals=4, args_size=4
        start local 0 // android.widget.Scroller this
        start local 1 // android.content.Context context
        start local 2 // android.view.animation.Interpolator interpolator
        start local 3 // boolean flywheel
         0: .line 169
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            invokestatic android.view.ViewConfiguration.getScrollFriction:()F
            putfield android.widget.Scroller.mFlingFriction:F
         2: .line 170
            aload 0 /* this */
            iconst_1
            putfield android.widget.Scroller.mFinished:Z
         3: .line 171
            aload 2 /* interpolator */
            ifnonnull 6
         4: .line 172
            aload 0 /* this */
            new android.widget.Scroller$ViscousFluidInterpolator
            dup
            invokespecial android.widget.Scroller$ViscousFluidInterpolator.<init>:()V
            putfield android.widget.Scroller.mInterpolator:Landroid/view/animation/Interpolator;
         5: .line 173
            goto 7
         6: .line 174
      StackMap locals: android.widget.Scroller android.content.Context android.view.animation.Interpolator int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* interpolator */
            putfield android.widget.Scroller.mInterpolator:Landroid/view/animation/Interpolator;
         7: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.density:F
            ldc 160.0
            fmul
            putfield android.widget.Scroller.mPpi:F
         8: .line 177
            aload 0 /* this */
            aload 0 /* this */
            invokestatic android.view.ViewConfiguration.getScrollFriction:()F
            invokevirtual android.widget.Scroller.computeDeceleration:(F)F
            putfield android.widget.Scroller.mDeceleration:F
         9: .line 178
            aload 0 /* this */
            iload 3 /* flywheel */
            putfield android.widget.Scroller.mFlywheel:Z
        10: .line 180
            aload 0 /* this */
            aload 0 /* this */
            ldc 0.84
            invokevirtual android.widget.Scroller.computeDeceleration:(F)F
            putfield android.widget.Scroller.mPhysicalCoeff:F
        11: .line 181
            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.Scroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Landroid/widget/Scroller;
            0   12     1       context  Landroid/content/Context;
            0   12     2  interpolator  Landroid/view/animation/Interpolator;
            0   12     3      flywheel  Z
    MethodParameters:
              Name  Flags
      context       
      interpolator  
      flywheel      

  public final void setFriction(float);
    descriptor: (F)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // float friction
         0: .line 191
            aload 0 /* this */
            aload 0 /* this */
            fload 1 /* friction */
            invokevirtual android.widget.Scroller.computeDeceleration:(F)F
            putfield android.widget.Scroller.mDeceleration:F
         1: .line 192
            aload 0 /* this */
            fload 1 /* friction */
            putfield android.widget.Scroller.mFlingFriction:F
         2: .line 193
            return
        end local 1 // float friction
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/widget/Scroller;
            0    3     1  friction  F
    MethodParameters:
          Name  Flags
      friction  

  private float computeDeceleration(float);
    descriptor: (F)F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // float friction
         0: .line 196
            ldc 386.0878
         1: .line 198
            aload 0 /* this */
            getfield android.widget.Scroller.mPpi:F
         2: .line 196
            fmul
         3: .line 199
            fload 1 /* friction */
         4: .line 196
            fmul
            freturn
        end local 1 // float friction
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/widget/Scroller;
            0    5     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.Scroller this
         0: .line 209
            aload 0 /* this */
            getfield android.widget.Scroller.mFinished:Z
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  public final void forceFinished(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // boolean finished
         0: .line 218
            aload 0 /* this */
            iload 1 /* finished */
            putfield android.widget.Scroller.mFinished:Z
         1: .line 219
            return
        end local 1 // boolean finished
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/Scroller;
            0    2     1  finished  Z
    MethodParameters:
          Name  Flags
      finished  

  public final int getDuration();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Scroller this
         0: .line 227
            aload 0 /* this */
            getfield android.widget.Scroller.mDuration:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  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.Scroller this
         0: .line 236
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrX:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  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.Scroller this
         0: .line 245
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrY:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  public float getCurrVelocity();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.widget.Scroller this
         0: .line 255
            aload 0 /* this */
            getfield android.widget.Scroller.mMode:I
            iconst_1
            if_icmpne 2
         1: .line 256
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrVelocity:F
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield android.widget.Scroller.mVelocity:F
            aload 0 /* this */
            getfield android.widget.Scroller.mDeceleration:F
            aload 0 /* this */
            invokevirtual android.widget.Scroller.timePassed:()I
            i2f
            fmul
            ldc 2000.0
            fdiv
            fsub
         3: .line 255
      StackMap locals:
      StackMap stack: float
            freturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Scroller;

  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.Scroller this
         0: .line 265
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  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.Scroller this
         0: .line 274
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  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.Scroller this
         0: .line 283
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  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.Scroller this
         0: .line 292
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  public boolean computeScrollOffset();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // android.widget.Scroller this
         0: .line 300
            aload 0 /* this */
            getfield android.widget.Scroller.mFinished:Z
            ifeq 2
         1: .line 301
            iconst_0
            ireturn
         2: .line 304
      StackMap locals:
      StackMap stack:
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            aload 0 /* this */
            getfield android.widget.Scroller.mStartTime:J
            lsub
            l2i
            istore 1 /* timePassed */
        start local 1 // int timePassed
         3: .line 306
            iload 1 /* timePassed */
            aload 0 /* this */
            getfield android.widget.Scroller.mDuration:I
            if_icmpge 30
         4: .line 307
            aload 0 /* this */
            getfield android.widget.Scroller.mMode:I
            tableswitch { // 0 - 1
                    0: 5
                    1: 9
              default: 29
          }
         5: .line 309
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Scroller.mInterpolator:Landroid/view/animation/Interpolator;
            iload 1 /* timePassed */
            i2f
            aload 0 /* this */
            getfield android.widget.Scroller.mDurationReciprocal:F
            fmul
            invokeinterface android.view.animation.Interpolator.getInterpolation:(F)F
            fstore 2 /* x */
        start local 2 // float x
         6: .line 310
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            fload 2 /* x */
            aload 0 /* this */
            getfield android.widget.Scroller.mDeltaX:F
            fmul
            invokestatic java.lang.Math.round:(F)I
            iadd
            putfield android.widget.Scroller.mCurrX:I
         7: .line 311
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            fload 2 /* x */
            aload 0 /* this */
            getfield android.widget.Scroller.mDeltaY:F
            fmul
            invokestatic java.lang.Math.round:(F)I
            iadd
            putfield android.widget.Scroller.mCurrY:I
         8: .line 312
            goto 33
        end local 2 // float x
         9: .line 314
      StackMap locals:
      StackMap stack:
            iload 1 /* timePassed */
            i2f
            aload 0 /* this */
            getfield android.widget.Scroller.mDuration:I
            i2f
            fdiv
            fstore 3 /* t */
        start local 3 // float t
        10: .line 315
            ldc 100.0
            fload 3 /* t */
            fmul
            f2i
            istore 4 /* index */
        start local 4 // int index
        11: .line 316
            fconst_1
            fstore 5 /* distanceCoef */
        start local 5 // float distanceCoef
        12: .line 317
            fconst_0
            fstore 6 /* velocityCoef */
        start local 6 // float velocityCoef
        13: .line 318
            iload 4 /* index */
            bipush 100
            if_icmpge 20
        14: .line 319
            iload 4 /* index */
            i2f
            ldc 100.0
            fdiv
            fstore 7 /* t_inf */
        start local 7 // float t_inf
        15: .line 320
            iload 4 /* index */
            iconst_1
            iadd
            i2f
            ldc 100.0
            fdiv
            fstore 8 /* t_sup */
        start local 8 // float t_sup
        16: .line 321
            getstatic android.widget.Scroller.SPLINE_POSITION:[F
            iload 4 /* index */
            faload
            fstore 9 /* d_inf */
        start local 9 // float d_inf
        17: .line 322
            getstatic android.widget.Scroller.SPLINE_POSITION:[F
            iload 4 /* index */
            iconst_1
            iadd
            faload
            fstore 10 /* d_sup */
        start local 10 // float d_sup
        18: .line 323
            fload 10 /* d_sup */
            fload 9 /* d_inf */
            fsub
            fload 8 /* t_sup */
            fload 7 /* t_inf */
            fsub
            fdiv
            fstore 6 /* velocityCoef */
        19: .line 324
            fload 9 /* d_inf */
            fload 3 /* t */
            fload 7 /* t_inf */
            fsub
            fload 6 /* velocityCoef */
            fmul
            fadd
            fstore 5 /* distanceCoef */
        end local 10 // float d_sup
        end local 9 // float d_inf
        end local 8 // float t_sup
        end local 7 // float t_inf
        20: .line 327
      StackMap locals: android.widget.Scroller int top float int float float
      StackMap stack:
            aload 0 /* this */
            fload 6 /* velocityCoef */
            aload 0 /* this */
            getfield android.widget.Scroller.mDistance:I
            i2f
            fmul
            aload 0 /* this */
            getfield android.widget.Scroller.mDuration:I
            i2f
            fdiv
            ldc 1000.0
            fmul
            putfield android.widget.Scroller.mCurrVelocity:F
        21: .line 329
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            fload 5 /* distanceCoef */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            isub
            i2f
            fmul
            invokestatic java.lang.Math.round:(F)I
            iadd
            putfield android.widget.Scroller.mCurrX:I
        22: .line 331
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMaxX:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.Scroller.mCurrX:I
        23: .line 332
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMinX:I
            invokestatic java.lang.Math.max:(II)I
            putfield android.widget.Scroller.mCurrX:I
        24: .line 334
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            fload 5 /* distanceCoef */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            isub
            i2f
            fmul
            invokestatic java.lang.Math.round:(F)I
            iadd
            putfield android.widget.Scroller.mCurrY:I
        25: .line 336
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMaxY:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.Scroller.mCurrY:I
        26: .line 337
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMinY:I
            invokestatic java.lang.Math.max:(II)I
            putfield android.widget.Scroller.mCurrY:I
        27: .line 339
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            if_icmpne 33
            aload 0 /* this */
            getfield android.widget.Scroller.mCurrY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            if_icmpne 33
        28: .line 340
            aload 0 /* this */
            iconst_1
            putfield android.widget.Scroller.mFinished:Z
        end local 6 // float velocityCoef
        end local 5 // float distanceCoef
        end local 4 // int index
        end local 3 // float t
        29: .line 345
      StackMap locals: android.widget.Scroller int
      StackMap stack:
            goto 33
        30: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            putfield android.widget.Scroller.mCurrX:I
        31: .line 348
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            putfield android.widget.Scroller.mCurrY:I
        32: .line 349
            aload 0 /* this */
            iconst_1
            putfield android.widget.Scroller.mFinished:Z
        33: .line 351
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int timePassed
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0          this  Landroid/widget/Scroller;
            3   34     1    timePassed  I
            6    9     2             x  F
           10   29     3             t  F
           11   29     4         index  I
           12   29     5  distanceCoef  F
           13   29     6  velocityCoef  F
           15   20     7         t_inf  F
           16   20     8         t_sup  F
           17   20     9         d_inf  F
           18   20    10         d_sup  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.Scroller this
        start local 1 // int startX
        start local 2 // int startY
        start local 3 // int dx
        start local 4 // int dy
         0: .line 369
            aload 0 /* this */
            iload 1 /* startX */
            iload 2 /* startY */
            iload 3 /* dx */
            iload 4 /* dy */
            sipush 250
            invokevirtual android.widget.Scroller.startScroll:(IIIII)V
         1: .line 370
            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.Scroller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/Scroller;
            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=3, locals=6, args_size=6
        start local 0 // android.widget.Scroller 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 387
            aload 0 /* this */
            iconst_0
            putfield android.widget.Scroller.mMode:I
         1: .line 388
            aload 0 /* this */
            iconst_0
            putfield android.widget.Scroller.mFinished:Z
         2: .line 389
            aload 0 /* this */
            iload 5 /* duration */
            putfield android.widget.Scroller.mDuration:I
         3: .line 390
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.Scroller.mStartTime:J
         4: .line 391
            aload 0 /* this */
            iload 1 /* startX */
            putfield android.widget.Scroller.mStartX:I
         5: .line 392
            aload 0 /* this */
            iload 2 /* startY */
            putfield android.widget.Scroller.mStartY:I
         6: .line 393
            aload 0 /* this */
            iload 1 /* startX */
            iload 3 /* dx */
            iadd
            putfield android.widget.Scroller.mFinalX:I
         7: .line 394
            aload 0 /* this */
            iload 2 /* startY */
            iload 4 /* dy */
            iadd
            putfield android.widget.Scroller.mFinalY:I
         8: .line 395
            aload 0 /* this */
            iload 3 /* dx */
            i2f
            putfield android.widget.Scroller.mDeltaX:F
         9: .line 396
            aload 0 /* this */
            iload 4 /* dy */
            i2f
            putfield android.widget.Scroller.mDeltaY:F
        10: .line 397
            aload 0 /* this */
            fconst_1
            aload 0 /* this */
            getfield android.widget.Scroller.mDuration:I
            i2f
            fdiv
            putfield android.widget.Scroller.mDurationReciprocal:F
        11: .line 398
            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.Scroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Landroid/widget/Scroller;
            0   12     1    startX  I
            0   12     2    startY  I
            0   12     3        dx  I
            0   12     4        dy  I
            0   12     5  duration  I
    MethodParameters:
          Name  Flags
      startX    
      startY    
      dx        
      dy        
      duration  

  public void fling(int, int, int, int, int, int, int, int);
    descriptor: (IIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=9
        start local 0 // android.widget.Scroller 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 422
            aload 0 /* this */
            getfield android.widget.Scroller.mFlywheel:Z
            ifeq 13
            aload 0 /* this */
            getfield android.widget.Scroller.mFinished:Z
            ifne 13
         1: .line 423
            aload 0 /* this */
            invokevirtual android.widget.Scroller.getCurrVelocity:()F
            fstore 9 /* oldVel */
        start local 9 // float oldVel
         2: .line 425
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            isub
            i2f
            fstore 10 /* dx */
        start local 10 // float dx
         3: .line 426
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            isub
            i2f
            fstore 11 /* dy */
        start local 11 // float dy
         4: .line 427
            fload 10 /* dx */
            f2d
            fload 11 /* dy */
            f2d
            invokestatic java.lang.Math.hypot:(DD)D
            d2f
            fstore 12 /* hyp */
        start local 12 // float hyp
         5: .line 429
            fload 10 /* dx */
            fload 12 /* hyp */
            fdiv
            fstore 13 /* ndx */
        start local 13 // float ndx
         6: .line 430
            fload 11 /* dy */
            fload 12 /* hyp */
            fdiv
            fstore 14 /* ndy */
        start local 14 // float ndy
         7: .line 432
            fload 13 /* ndx */
            fload 9 /* oldVel */
            fmul
            fstore 15 /* oldVelocityX */
        start local 15 // float oldVelocityX
         8: .line 433
            fload 14 /* ndy */
            fload 9 /* oldVel */
            fmul
            fstore 16 /* oldVelocityY */
        start local 16 // float oldVelocityY
         9: .line 434
            iload 3 /* velocityX */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fload 15 /* oldVelocityX */
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 13
        10: .line 435
            iload 4 /* velocityY */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fload 16 /* oldVelocityY */
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 13
        11: .line 436
            iload 3 /* velocityX */
            i2f
            fload 15 /* oldVelocityX */
            fadd
            f2i
            istore 3 /* velocityX */
        12: .line 437
            iload 4 /* velocityY */
            i2f
            fload 16 /* oldVelocityY */
            fadd
            f2i
            istore 4 /* velocityY */
        end local 16 // float oldVelocityY
        end local 15 // float oldVelocityX
        end local 14 // float ndy
        end local 13 // float ndx
        end local 12 // float hyp
        end local 11 // float dy
        end local 10 // float dx
        end local 9 // float oldVel
        13: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.widget.Scroller.mMode:I
        14: .line 442
            aload 0 /* this */
            iconst_0
            putfield android.widget.Scroller.mFinished:Z
        15: .line 444
            iload 3 /* velocityX */
            i2d
            iload 4 /* velocityY */
            i2d
            invokestatic java.lang.Math.hypot:(DD)D
            d2f
            fstore 9 /* velocity */
        start local 9 // float velocity
        16: .line 446
            aload 0 /* this */
            fload 9 /* velocity */
            putfield android.widget.Scroller.mVelocity:F
        17: .line 447
            aload 0 /* this */
            aload 0 /* this */
            fload 9 /* velocity */
            invokevirtual android.widget.Scroller.getSplineFlingDuration:(F)I
            putfield android.widget.Scroller.mDuration:I
        18: .line 448
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.Scroller.mStartTime:J
        19: .line 449
            aload 0 /* this */
            iload 1 /* startX */
            putfield android.widget.Scroller.mStartX:I
        20: .line 450
            aload 0 /* this */
            iload 2 /* startY */
            putfield android.widget.Scroller.mStartY:I
        21: .line 452
            fload 9 /* velocity */
            fconst_0
            fcmpl
            ifne 22
            fconst_1
            goto 23
      StackMap locals: float
      StackMap stack:
        22: iload 3 /* velocityX */
            i2f
            fload 9 /* velocity */
            fdiv
      StackMap locals:
      StackMap stack: float
        23: fstore 10 /* coeffX */
        start local 10 // float coeffX
        24: .line 453
            fload 9 /* velocity */
            fconst_0
            fcmpl
            ifne 25
            fconst_1
            goto 26
      StackMap locals: float
      StackMap stack:
        25: iload 4 /* velocityY */
            i2f
            fload 9 /* velocity */
            fdiv
      StackMap locals:
      StackMap stack: float
        26: fstore 11 /* coeffY */
        start local 11 // float coeffY
        27: .line 455
            aload 0 /* this */
            fload 9 /* velocity */
            invokevirtual android.widget.Scroller.getSplineFlingDistance:(F)D
            dstore 12 /* totalDistance */
        start local 12 // double totalDistance
        28: .line 456
            aload 0 /* this */
            dload 12 /* totalDistance */
            fload 9 /* velocity */
            invokestatic java.lang.Math.signum:(F)F
            f2d
            dmul
            d2i
            putfield android.widget.Scroller.mDistance:I
        29: .line 458
            aload 0 /* this */
            iload 5 /* minX */
            putfield android.widget.Scroller.mMinX:I
        30: .line 459
            aload 0 /* this */
            iload 6 /* maxX */
            putfield android.widget.Scroller.mMaxX:I
        31: .line 460
            aload 0 /* this */
            iload 7 /* minY */
            putfield android.widget.Scroller.mMinY:I
        32: .line 461
            aload 0 /* this */
            iload 8 /* maxY */
            putfield android.widget.Scroller.mMaxY:I
        33: .line 463
            aload 0 /* this */
            iload 1 /* startX */
            dload 12 /* totalDistance */
            fload 10 /* coeffX */
            f2d
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
            iadd
            putfield android.widget.Scroller.mFinalX:I
        34: .line 465
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMaxX:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.Scroller.mFinalX:I
        35: .line 466
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMinX:I
            invokestatic java.lang.Math.max:(II)I
            putfield android.widget.Scroller.mFinalX:I
        36: .line 468
            aload 0 /* this */
            iload 2 /* startY */
            dload 12 /* totalDistance */
            fload 11 /* coeffY */
            f2d
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
            iadd
            putfield android.widget.Scroller.mFinalY:I
        37: .line 470
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMaxY:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.Scroller.mFinalY:I
        38: .line 471
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mMinY:I
            invokestatic java.lang.Math.max:(II)I
            putfield android.widget.Scroller.mFinalY:I
        39: .line 472
            return
        end local 12 // double totalDistance
        end local 11 // float coeffY
        end local 10 // float coeffX
        end local 9 // float velocity
        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.Scroller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   40     0           this  Landroid/widget/Scroller;
            0   40     1         startX  I
            0   40     2         startY  I
            0   40     3      velocityX  I
            0   40     4      velocityY  I
            0   40     5           minX  I
            0   40     6           maxX  I
            0   40     7           minY  I
            0   40     8           maxY  I
            2   13     9         oldVel  F
            3   13    10             dx  F
            4   13    11             dy  F
            5   13    12            hyp  F
            6   13    13            ndx  F
            7   13    14            ndy  F
            8   13    15   oldVelocityX  F
            9   13    16   oldVelocityY  F
           16   40     9       velocity  F
           24   40    10         coeffX  F
           27   40    11         coeffY  F
           28   40    12  totalDistance  D
    MethodParameters:
           Name  Flags
      startX     
      startY     
      velocityX  
      velocityY  
      minX       
      maxX       
      minY       
      maxY       

  private double getSplineDeceleration(float);
    descriptor: (F)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // float velocity
         0: .line 475
            ldc 0.35
            fload 1 /* velocity */
            invokestatic java.lang.Math.abs:(F)F
            fmul
            aload 0 /* this */
            getfield android.widget.Scroller.mFlingFriction:F
            aload 0 /* this */
            getfield android.widget.Scroller.mPhysicalCoeff:F
            fmul
            fdiv
            f2d
            invokestatic java.lang.Math.log:(D)D
            dreturn
        end local 1 // float velocity
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/widget/Scroller;
            0    1     1  velocity  F
    MethodParameters:
          Name  Flags
      velocity  

  private int getSplineFlingDuration(float);
    descriptor: (F)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // float velocity
         0: .line 479
            aload 0 /* this */
            fload 1 /* velocity */
            invokevirtual android.widget.Scroller.getSplineDeceleration:(F)D
            dstore 2 /* l */
        start local 2 // double l
         1: .line 480
            getstatic android.widget.Scroller.DECELERATION_RATE:F
            f2d
            dconst_1
            dsub
            dstore 4 /* decelMinusOne */
        start local 4 // double decelMinusOne
         2: .line 481
            ldc 1000.0
            dload 2 /* l */
            dload 4 /* decelMinusOne */
            ddiv
            invokestatic java.lang.Math.exp:(D)D
            dmul
            d2i
            ireturn
        end local 4 // double decelMinusOne
        end local 2 // double l
        end local 1 // float velocity
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/widget/Scroller;
            0    3     1       velocity  F
            1    3     2              l  D
            2    3     4  decelMinusOne  D
    MethodParameters:
          Name  Flags
      velocity  

  private double getSplineFlingDistance(float);
    descriptor: (F)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // float velocity
         0: .line 485
            aload 0 /* this */
            fload 1 /* velocity */
            invokevirtual android.widget.Scroller.getSplineDeceleration:(F)D
            dstore 2 /* l */
        start local 2 // double l
         1: .line 486
            getstatic android.widget.Scroller.DECELERATION_RATE:F
            f2d
            dconst_1
            dsub
            dstore 4 /* decelMinusOne */
        start local 4 // double decelMinusOne
         2: .line 487
            aload 0 /* this */
            getfield android.widget.Scroller.mFlingFriction:F
            aload 0 /* this */
            getfield android.widget.Scroller.mPhysicalCoeff:F
            fmul
            f2d
            getstatic android.widget.Scroller.DECELERATION_RATE:F
            f2d
            dload 4 /* decelMinusOne */
            ddiv
            dload 2 /* l */
            dmul
            invokestatic java.lang.Math.exp:(D)D
            dmul
            dreturn
        end local 4 // double decelMinusOne
        end local 2 // double l
        end local 1 // float velocity
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/widget/Scroller;
            0    3     1       velocity  F
            1    3     2              l  D
            2    3     4  decelMinusOne  D
    MethodParameters:
          Name  Flags
      velocity  

  public void abortAnimation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Scroller this
         0: .line 498
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            putfield android.widget.Scroller.mCurrX:I
         1: .line 499
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            putfield android.widget.Scroller.mCurrY:I
         2: .line 500
            aload 0 /* this */
            iconst_1
            putfield android.widget.Scroller.mFinished:Z
         3: .line 501
            return
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Scroller;

  public void extendDuration(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // int extend
         0: .line 512
            aload 0 /* this */
            invokevirtual android.widget.Scroller.timePassed:()I
            istore 2 /* passed */
        start local 2 // int passed
         1: .line 513
            aload 0 /* this */
            iload 2 /* passed */
            iload 1 /* extend */
            iadd
            putfield android.widget.Scroller.mDuration:I
         2: .line 514
            aload 0 /* this */
            fconst_1
            aload 0 /* this */
            getfield android.widget.Scroller.mDuration:I
            i2f
            fdiv
            putfield android.widget.Scroller.mDurationReciprocal:F
         3: .line 515
            aload 0 /* this */
            iconst_0
            putfield android.widget.Scroller.mFinished:Z
         4: .line 516
            return
        end local 2 // int passed
        end local 1 // int extend
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/widget/Scroller;
            0    5     1  extend  I
            1    5     2  passed  I
    MethodParameters:
        Name  Flags
      extend  

  public int timePassed();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.widget.Scroller this
         0: .line 524
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            aload 0 /* this */
            getfield android.widget.Scroller.mStartTime:J
            lsub
            l2i
            ireturn
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Scroller;

  public void setFinalX(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // int newX
         0: .line 535
            aload 0 /* this */
            iload 1 /* newX */
            putfield android.widget.Scroller.mFinalX:I
         1: .line 536
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            isub
            i2f
            putfield android.widget.Scroller.mDeltaX:F
         2: .line 537
            aload 0 /* this */
            iconst_0
            putfield android.widget.Scroller.mFinished:Z
         3: .line 538
            return
        end local 1 // int newX
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Scroller;
            0    4     1  newX  I
    MethodParameters:
      Name  Flags
      newX  

  public void setFinalY(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.Scroller this
        start local 1 // int newY
         0: .line 548
            aload 0 /* this */
            iload 1 /* newY */
            putfield android.widget.Scroller.mFinalY:I
         1: .line 549
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            isub
            i2f
            putfield android.widget.Scroller.mDeltaY:F
         2: .line 550
            aload 0 /* this */
            iconst_0
            putfield android.widget.Scroller.mFinished:Z
         3: .line 551
            return
        end local 1 // int newY
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Scroller;
            0    4     1  newY  I
    MethodParameters:
      Name  Flags
      newY  

  public boolean isScrollingInDirection(float, float);
    descriptor: (FF)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.Scroller this
        start local 1 // float xvel
        start local 2 // float yvel
         0: .line 557
            aload 0 /* this */
            getfield android.widget.Scroller.mFinished:Z
            ifne 3
            fload 1 /* xvel */
            invokestatic java.lang.Math.signum:(F)F
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalX:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartX:I
            isub
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 3
         1: .line 558
            fload 2 /* yvel */
            invokestatic java.lang.Math.signum:(F)F
            aload 0 /* this */
            getfield android.widget.Scroller.mFinalY:I
            aload 0 /* this */
            getfield android.widget.Scroller.mStartY:I
            isub
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fcmpl
            ifne 3
         2: .line 557
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // float yvel
        end local 1 // float xvel
        end local 0 // android.widget.Scroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Scroller;
            0    4     1  xvel  F
            0    4     2  yvel  F
    MethodParameters:
      Name  Flags
      xvel  
      yvel  
}
SourceFile: "Scroller.java"
NestMembers:
  android.widget.Scroller$ViscousFluidInterpolator
InnerClasses:
  ViscousFluidInterpolator = android.widget.Scroller$ViscousFluidInterpolator of android.widget.Scroller