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

  public static final int GESTURE_STROKE_TYPE_MULTIPLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ORIENTATION_HORIZONTAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int ORIENTATION_VERTICAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

  private static final boolean GESTURE_RENDERING_ANTIALIAS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final boolean DITHER_FLAG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private android.gesture.Gesture mCurrentGesture;
    descriptor: Landroid/gesture/Gesture;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.ArrayList<android.gesture.GesturePoint> mStrokeBuffer;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/gesture/GesturePoint;>;

  private final java.util.ArrayList<android.gesture.GestureOverlayView$OnGestureListener> mOnGestureListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGestureListener;>;

  private final java.util.ArrayList<android.gesture.GestureOverlayView$OnGesturePerformedListener> mOnGesturePerformedListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;>;

  private final java.util.ArrayList<android.gesture.GestureOverlayView$OnGesturingListener> mOnGesturingListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGesturingListener;>;

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

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

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

  private final android.view.animation.AccelerateDecelerateInterpolator mInterpolator;
    descriptor: Landroid/view/animation/AccelerateDecelerateInterpolator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.gesture.GestureOverlayView$FadeOutRunnable mFadingOut;
    descriptor: Landroid/gesture/GestureOverlayView$FadeOutRunnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.content.Context context
         0: .line 130
            aload 0 /* this */
            aload 1 /* context */
            invokespecial android.widget.FrameLayout.<init>:(Landroid/content/Context;)V
         1: .line 67
            aload 0 /* this */
            new android.graphics.Paint
            dup
            invokespecial android.graphics.Paint.<init>:()V
            putfield android.gesture.GestureOverlayView.mGesturePaint:Landroid/graphics/Paint;
         2: .line 69
            aload 0 /* this */
            ldc 150
            putfield android.gesture.GestureOverlayView.mFadeDuration:J
         3: .line 70
            aload 0 /* this */
            ldc 420
            putfield android.gesture.GestureOverlayView.mFadeOffset:J
         4: .line 73
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mFadeEnabled:Z
         5: .line 76
            aload 0 /* this */
            sipush -256
            putfield android.gesture.GestureOverlayView.mCertainGestureColor:I
         6: .line 77
            aload 0 /* this */
            ldc 1224736512
            putfield android.gesture.GestureOverlayView.mUncertainGestureColor:I
         7: .line 78
            aload 0 /* this */
            ldc 12.0
            putfield android.gesture.GestureOverlayView.mGestureStrokeWidth:F
         8: .line 79
            aload 0 /* this */
            bipush 10
            putfield android.gesture.GestureOverlayView.mInvalidateExtraBorder:I
         9: .line 81
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mGestureStrokeType:I
        10: .line 82
            aload 0 /* this */
            ldc 50.0
            putfield android.gesture.GestureOverlayView.mGestureStrokeLengthThreshold:F
        11: .line 83
            aload 0 /* this */
            ldc 0.275
            putfield android.gesture.GestureOverlayView.mGestureStrokeSquarenessTreshold:F
        12: .line 84
            aload 0 /* this */
            ldc 40.0
            putfield android.gesture.GestureOverlayView.mGestureStrokeAngleThreshold:F
        13: .line 86
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mOrientation:I
        14: .line 88
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.gesture.GestureOverlayView.mInvalidRect:Landroid/graphics/Rect;
        15: .line 89
            aload 0 /* this */
            new android.graphics.Path
            dup
            invokespecial android.graphics.Path.<init>:()V
            putfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
        16: .line 90
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mGestureVisible:Z
        17: .line 99
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsGesturing:Z
        18: .line 100
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mPreviousWasGesturing:Z
        19: .line 101
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mInterceptEvents:Z
        20: .line 107
            aload 0 /* this */
            new java.util.ArrayList
            dup
            bipush 100
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
        21: .line 110
            aload 0 /* this */
        22: .line 111
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
        23: .line 113
            aload 0 /* this */
        24: .line 114
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
        25: .line 116
            aload 0 /* this */
        26: .line 117
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
        27: .line 122
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsFadingOut:Z
        28: .line 123
            aload 0 /* this */
            fconst_1
            putfield android.gesture.GestureOverlayView.mFadingAlpha:F
        29: .line 124
            aload 0 /* this */
        30: .line 125
            new android.view.animation.AccelerateDecelerateInterpolator
            dup
            invokespecial android.view.animation.AccelerateDecelerateInterpolator.<init>:()V
            putfield android.gesture.GestureOverlayView.mInterpolator:Landroid/view/animation/AccelerateDecelerateInterpolator;
        31: .line 127
            aload 0 /* this */
            new android.gesture.GestureOverlayView$FadeOutRunnable
            dup
            aload 0 /* this */
            invokespecial android.gesture.GestureOverlayView$FadeOutRunnable.<init>:(Landroid/gesture/GestureOverlayView;)V
            putfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
        32: .line 131
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.init:()V
        33: .line 132
            return
        end local 1 // android.content.Context context
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Landroid/gesture/GestureOverlayView;
            0   34     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

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

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

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

  private void init();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 181
            aload 0 /* this */
            iconst_0
            invokevirtual android.gesture.GestureOverlayView.setWillNotDraw:(Z)V
         1: .line 183
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGesturePaint:Landroid/graphics/Paint;
            astore 1 /* gesturePaint */
        start local 1 // android.graphics.Paint gesturePaint
         2: .line 184
            aload 1 /* gesturePaint */
            iconst_1
            invokevirtual android.graphics.Paint.setAntiAlias:(Z)V
         3: .line 185
            aload 1 /* gesturePaint */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCertainGestureColor:I
            invokevirtual android.graphics.Paint.setColor:(I)V
         4: .line 186
            aload 1 /* gesturePaint */
            getstatic android.graphics.Paint$Style.STROKE:Landroid/graphics/Paint$Style;
            invokevirtual android.graphics.Paint.setStyle:(Landroid/graphics/Paint$Style;)V
         5: .line 187
            aload 1 /* gesturePaint */
            getstatic android.graphics.Paint$Join.ROUND:Landroid/graphics/Paint$Join;
            invokevirtual android.graphics.Paint.setStrokeJoin:(Landroid/graphics/Paint$Join;)V
         6: .line 188
            aload 1 /* gesturePaint */
            getstatic android.graphics.Paint$Cap.ROUND:Landroid/graphics/Paint$Cap;
            invokevirtual android.graphics.Paint.setStrokeCap:(Landroid/graphics/Paint$Cap;)V
         7: .line 189
            aload 1 /* gesturePaint */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeWidth:F
            invokevirtual android.graphics.Paint.setStrokeWidth:(F)V
         8: .line 190
            aload 1 /* gesturePaint */
            iconst_1
            invokevirtual android.graphics.Paint.setDither:(Z)V
         9: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCertainGestureColor:I
            putfield android.gesture.GestureOverlayView.mCurrentColor:I
        10: .line 193
            aload 0 /* this */
            sipush 255
            invokevirtual android.gesture.GestureOverlayView.setPaintAlpha:(I)V
        11: .line 194
            return
        end local 1 // android.graphics.Paint gesturePaint
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Landroid/gesture/GestureOverlayView;
            2   12     1  gesturePaint  Landroid/graphics/Paint;

  public java.util.ArrayList<android.gesture.GesturePoint> getCurrentStroke();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 197
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            areturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;
    Signature: ()Ljava/util/ArrayList<Landroid/gesture/GesturePoint;>;

  public int getOrientation();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 201
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOrientation:I
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setOrientation(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // int orientation
         0: .line 205
            aload 0 /* this */
            iload 1 /* orientation */
            putfield android.gesture.GestureOverlayView.mOrientation:I
         1: .line 206
            return
        end local 1 // int orientation
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/gesture/GestureOverlayView;
            0    2     1  orientation  I
    MethodParameters:
             Name  Flags
      orientation  

  public void setGestureColor(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // int color
         0: .line 209
            aload 0 /* this */
            iload 1 /* color */
            putfield android.gesture.GestureOverlayView.mCertainGestureColor:I
         1: .line 210
            return
        end local 1 // int color
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/gesture/GestureOverlayView;
            0    2     1  color  I
    MethodParameters:
       Name  Flags
      color  

  public void setUncertainGestureColor(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // int color
         0: .line 213
            aload 0 /* this */
            iload 1 /* color */
            putfield android.gesture.GestureOverlayView.mUncertainGestureColor:I
         1: .line 214
            return
        end local 1 // int color
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/gesture/GestureOverlayView;
            0    2     1  color  I
    MethodParameters:
       Name  Flags
      color  

  public int getUncertainGestureColor();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 218
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mUncertainGestureColor:I
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public int getGestureColor();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 223
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCertainGestureColor:I
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public float getGestureStrokeWidth();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 227
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeWidth:F
            freturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGestureStrokeWidth(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // float gestureStrokeWidth
         0: .line 231
            aload 0 /* this */
            fload 1 /* gestureStrokeWidth */
            putfield android.gesture.GestureOverlayView.mGestureStrokeWidth:F
         1: .line 232
            aload 0 /* this */
            iconst_1
            fload 1 /* gestureStrokeWidth */
            f2i
            iconst_1
            isub
            invokestatic java.lang.Math.max:(II)I
            putfield android.gesture.GestureOverlayView.mInvalidateExtraBorder:I
         2: .line 233
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGesturePaint:Landroid/graphics/Paint;
            fload 1 /* gestureStrokeWidth */
            invokevirtual android.graphics.Paint.setStrokeWidth:(F)V
         3: .line 234
            return
        end local 1 // float gestureStrokeWidth
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Landroid/gesture/GestureOverlayView;
            0    4     1  gestureStrokeWidth  F
    MethodParameters:
                    Name  Flags
      gestureStrokeWidth  

  public int getGestureStrokeType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 237
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeType:I
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGestureStrokeType(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // int gestureStrokeType
         0: .line 241
            aload 0 /* this */
            iload 1 /* gestureStrokeType */
            putfield android.gesture.GestureOverlayView.mGestureStrokeType:I
         1: .line 242
            return
        end local 1 // int gestureStrokeType
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Landroid/gesture/GestureOverlayView;
            0    2     1  gestureStrokeType  I
    MethodParameters:
                   Name  Flags
      gestureStrokeType  

  public float getGestureStrokeLengthThreshold();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 245
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeLengthThreshold:F
            freturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGestureStrokeLengthThreshold(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // float gestureStrokeLengthThreshold
         0: .line 249
            aload 0 /* this */
            fload 1 /* gestureStrokeLengthThreshold */
            putfield android.gesture.GestureOverlayView.mGestureStrokeLengthThreshold:F
         1: .line 250
            return
        end local 1 // float gestureStrokeLengthThreshold
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    2     0                          this  Landroid/gesture/GestureOverlayView;
            0    2     1  gestureStrokeLengthThreshold  F
    MethodParameters:
                              Name  Flags
      gestureStrokeLengthThreshold  

  public float getGestureStrokeSquarenessTreshold();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 253
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeSquarenessTreshold:F
            freturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGestureStrokeSquarenessTreshold(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // float gestureStrokeSquarenessTreshold
         0: .line 257
            aload 0 /* this */
            fload 1 /* gestureStrokeSquarenessTreshold */
            putfield android.gesture.GestureOverlayView.mGestureStrokeSquarenessTreshold:F
         1: .line 258
            return
        end local 1 // float gestureStrokeSquarenessTreshold
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    2     0                             this  Landroid/gesture/GestureOverlayView;
            0    2     1  gestureStrokeSquarenessTreshold  F
    MethodParameters:
                                 Name  Flags
      gestureStrokeSquarenessTreshold  

  public float getGestureStrokeAngleThreshold();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 261
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeAngleThreshold:F
            freturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGestureStrokeAngleThreshold(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // float gestureStrokeAngleThreshold
         0: .line 265
            aload 0 /* this */
            fload 1 /* gestureStrokeAngleThreshold */
            putfield android.gesture.GestureOverlayView.mGestureStrokeAngleThreshold:F
         1: .line 266
            return
        end local 1 // float gestureStrokeAngleThreshold
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Landroid/gesture/GestureOverlayView;
            0    2     1  gestureStrokeAngleThreshold  F
    MethodParameters:
                             Name  Flags
      gestureStrokeAngleThreshold  

  public boolean isEventsInterceptionEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 269
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mInterceptEvents:Z
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setEventsInterceptionEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // boolean enabled
         0: .line 273
            aload 0 /* this */
            iload 1 /* enabled */
            putfield android.gesture.GestureOverlayView.mInterceptEvents:Z
         1: .line 274
            return
        end local 1 // boolean enabled
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/gesture/GestureOverlayView;
            0    2     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public boolean isFadeEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 277
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeEnabled:Z
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setFadeEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // boolean fadeEnabled
         0: .line 281
            aload 0 /* this */
            iload 1 /* fadeEnabled */
            putfield android.gesture.GestureOverlayView.mFadeEnabled:Z
         1: .line 282
            return
        end local 1 // boolean fadeEnabled
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/gesture/GestureOverlayView;
            0    2     1  fadeEnabled  Z
    MethodParameters:
             Name  Flags
      fadeEnabled  

  public android.gesture.Gesture getGesture();
    descriptor: ()Landroid/gesture/Gesture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 285
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            areturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGesture(android.gesture.Gesture);
    descriptor: (Landroid/gesture/Gesture;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.Gesture gesture
         0: .line 289
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnull 2
         1: .line 290
            aload 0 /* this */
            iconst_0
            invokevirtual android.gesture.GestureOverlayView.clear:(Z)V
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCertainGestureColor:I
            invokevirtual android.gesture.GestureOverlayView.setCurrentColor:(I)V
         3: .line 294
            aload 0 /* this */
            aload 1 /* gesture */
            putfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
         4: .line 296
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            invokevirtual android.gesture.Gesture.toPath:()Landroid/graphics/Path;
            astore 2 /* path */
        start local 2 // android.graphics.Path path
         5: .line 297
            new android.graphics.RectF
            dup
            invokespecial android.graphics.RectF.<init>:()V
            astore 3 /* bounds */
        start local 3 // android.graphics.RectF bounds
         6: .line 298
            aload 2 /* path */
            aload 3 /* bounds */
            iconst_1
            invokevirtual android.graphics.Path.computeBounds:(Landroid/graphics/RectF;Z)V
         7: .line 301
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.rewind:()V
         8: .line 302
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            aload 2 /* path */
            aload 3 /* bounds */
            getfield android.graphics.RectF.left:F
            fneg
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.getWidth:()I
            i2f
            aload 3 /* bounds */
            invokevirtual android.graphics.RectF.width:()F
            fsub
            fconst_2
            fdiv
            fadd
         9: .line 303
            aload 3 /* bounds */
            getfield android.graphics.RectF.top:F
            fneg
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.getHeight:()I
            i2f
            aload 3 /* bounds */
            invokevirtual android.graphics.RectF.height:()F
            fsub
            fconst_2
            fdiv
            fadd
        10: .line 302
            invokevirtual android.graphics.Path.addPath:(Landroid/graphics/Path;FF)V
        11: .line 305
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mResetGesture:Z
        12: .line 307
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
        13: .line 308
            return
        end local 3 // android.graphics.RectF bounds
        end local 2 // android.graphics.Path path
        end local 1 // android.gesture.Gesture gesture
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Landroid/gesture/GestureOverlayView;
            0   14     1  gesture  Landroid/gesture/Gesture;
            5   14     2     path  Landroid/graphics/Path;
            6   14     3   bounds  Landroid/graphics/RectF;
    MethodParameters:
         Name  Flags
      gesture  

  public android.graphics.Path getGesturePath();
    descriptor: ()Landroid/graphics/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 311
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            areturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public android.graphics.Path getGesturePath(android.graphics.Path);
    descriptor: (Landroid/graphics/Path;)Landroid/graphics/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.graphics.Path path
         0: .line 315
            aload 1 /* path */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.set:(Landroid/graphics/Path;)V
         1: .line 316
            aload 1 /* path */
            areturn
        end local 1 // android.graphics.Path path
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/gesture/GestureOverlayView;
            0    2     1  path  Landroid/graphics/Path;
    MethodParameters:
      Name  Flags
      path  

  public boolean isGestureVisible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 320
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureVisible:Z
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setGestureVisible(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // boolean visible
         0: .line 324
            aload 0 /* this */
            iload 1 /* visible */
            putfield android.gesture.GestureOverlayView.mGestureVisible:Z
         1: .line 325
            return
        end local 1 // boolean visible
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/gesture/GestureOverlayView;
            0    2     1  visible  Z
    MethodParameters:
         Name  Flags
      visible  

  public long getFadeOffset();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 328
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeOffset:J
            lreturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void setFadeOffset(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // long fadeOffset
         0: .line 332
            aload 0 /* this */
            lload 1 /* fadeOffset */
            putfield android.gesture.GestureOverlayView.mFadeOffset:J
         1: .line 333
            return
        end local 1 // long fadeOffset
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/gesture/GestureOverlayView;
            0    2     1  fadeOffset  J
    MethodParameters:
            Name  Flags
      fadeOffset  

  public void addOnGestureListener(android.gesture.GestureOverlayView$OnGestureListener);
    descriptor: (Landroid/gesture/GestureOverlayView$OnGestureListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.GestureOverlayView$OnGestureListener listener
         0: .line 336
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 337
            return
        end local 1 // android.gesture.GestureOverlayView$OnGestureListener listener
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/gesture/GestureOverlayView;
            0    2     1  listener  Landroid/gesture/GestureOverlayView$OnGestureListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeOnGestureListener(android.gesture.GestureOverlayView$OnGestureListener);
    descriptor: (Landroid/gesture/GestureOverlayView$OnGestureListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.GestureOverlayView$OnGestureListener listener
         0: .line 340
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 341
            return
        end local 1 // android.gesture.GestureOverlayView$OnGestureListener listener
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/gesture/GestureOverlayView;
            0    2     1  listener  Landroid/gesture/GestureOverlayView$OnGestureListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeAllOnGestureListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 344
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         1: .line 345
            return
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/gesture/GestureOverlayView;

  public void addOnGesturePerformedListener(android.gesture.GestureOverlayView$OnGesturePerformedListener);
    descriptor: (Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.GestureOverlayView$OnGesturePerformedListener listener
         0: .line 348
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 349
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 3
         2: .line 350
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
         3: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.gesture.GestureOverlayView$OnGesturePerformedListener listener
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/gesture/GestureOverlayView;
            0    4     1  listener  Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeOnGesturePerformedListener(android.gesture.GestureOverlayView$OnGesturePerformedListener);
    descriptor: (Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.GestureOverlayView$OnGesturePerformedListener listener
         0: .line 355
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 356
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifgt 3
         2: .line 357
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
         3: .line 359
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.gesture.GestureOverlayView$OnGesturePerformedListener listener
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/gesture/GestureOverlayView;
            0    4     1  listener  Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeAllOnGesturePerformedListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 362
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         1: .line 363
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
         2: .line 364
            return
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/gesture/GestureOverlayView;

  public void addOnGesturingListener(android.gesture.GestureOverlayView$OnGesturingListener);
    descriptor: (Landroid/gesture/GestureOverlayView$OnGesturingListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.GestureOverlayView$OnGesturingListener listener
         0: .line 367
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 368
            return
        end local 1 // android.gesture.GestureOverlayView$OnGesturingListener listener
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/gesture/GestureOverlayView;
            0    2     1  listener  Landroid/gesture/GestureOverlayView$OnGesturingListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeOnGesturingListener(android.gesture.GestureOverlayView$OnGesturingListener);
    descriptor: (Landroid/gesture/GestureOverlayView$OnGesturingListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.gesture.GestureOverlayView$OnGesturingListener listener
         0: .line 371
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 372
            return
        end local 1 // android.gesture.GestureOverlayView$OnGesturingListener listener
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/gesture/GestureOverlayView;
            0    2     1  listener  Landroid/gesture/GestureOverlayView$OnGesturingListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeAllOnGesturingListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 375
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         1: .line 376
            return
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/gesture/GestureOverlayView;

  public boolean isGesturing();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 379
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsGesturing:Z
            ireturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  private void setCurrentColor(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // int color
         0: .line 383
            aload 0 /* this */
            iload 1 /* color */
            putfield android.gesture.GestureOverlayView.mCurrentColor:I
         1: .line 384
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingHasStarted:Z
            ifeq 4
         2: .line 385
            aload 0 /* this */
            ldc 255.0
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingAlpha:F
            fmul
            f2i
            invokevirtual android.gesture.GestureOverlayView.setPaintAlpha:(I)V
         3: .line 386
            goto 5
         4: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 255
            invokevirtual android.gesture.GestureOverlayView.setPaintAlpha:(I)V
         5: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
         6: .line 390
            return
        end local 1 // int color
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/gesture/GestureOverlayView;
            0    7     1  color  I
    MethodParameters:
       Name  Flags
      color  

  public android.graphics.Paint getGesturePaint();
    descriptor: ()Landroid/graphics/Paint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 396
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGesturePaint:Landroid/graphics/Paint;
            areturn
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/gesture/GestureOverlayView;

  public void draw(android.graphics.Canvas);
    descriptor: (Landroid/graphics/Canvas;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.graphics.Canvas canvas
         0: .line 401
            aload 0 /* this */
            aload 1 /* canvas */
            invokespecial android.widget.FrameLayout.draw:(Landroid/graphics/Canvas;)V
         1: .line 403
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnull 3
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureVisible:Z
            ifeq 3
         2: .line 404
            aload 1 /* canvas */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGesturePaint:Landroid/graphics/Paint;
            invokevirtual android.graphics.Canvas.drawPath:(Landroid/graphics/Path;Landroid/graphics/Paint;)V
         3: .line 406
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/gesture/GestureOverlayView;
            0    4     1  canvas  Landroid/graphics/Canvas;
    MethodParameters:
        Name  Flags
      canvas  

  private void setPaintAlpha(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // int alpha
         0: .line 409
            iload 1 /* alpha */
            iload 1 /* alpha */
            bipush 7
            ishr
            iadd
            istore 1 /* alpha */
         1: .line 410
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentColor:I
            bipush 24
            iushr
            istore 2 /* baseAlpha */
        start local 2 // int baseAlpha
         2: .line 411
            iload 2 /* baseAlpha */
            iload 1 /* alpha */
            imul
            bipush 8
            ishr
            istore 3 /* useAlpha */
        start local 3 // int useAlpha
         3: .line 412
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGesturePaint:Landroid/graphics/Paint;
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentColor:I
            bipush 8
            ishl
            bipush 8
            iushr
            iload 3 /* useAlpha */
            bipush 24
            ishl
            ior
            invokevirtual android.graphics.Paint.setColor:(I)V
         4: .line 413
            return
        end local 3 // int useAlpha
        end local 2 // int baseAlpha
        end local 1 // int alpha
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/gesture/GestureOverlayView;
            0    5     1      alpha  I
            2    5     2  baseAlpha  I
            3    5     3   useAlpha  I
    MethodParameters:
       Name  Flags
      alpha  

  public void clear(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // boolean animated
         0: .line 416
            aload 0 /* this */
            iload 1 /* animated */
            iconst_0
            iconst_1
            invokevirtual android.gesture.GestureOverlayView.clear:(ZZZ)V
         1: .line 417
            return
        end local 1 // boolean animated
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/gesture/GestureOverlayView;
            0    2     1  animated  Z
    MethodParameters:
          Name  Flags
      animated  

  private void clear(boolean, boolean, boolean);
    descriptor: (ZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // boolean animated
        start local 2 // boolean fireActionPerformed
        start local 3 // boolean immediate
         0: .line 420
            aload 0 /* this */
            sipush 255
            invokevirtual android.gesture.GestureOverlayView.setPaintAlpha:(I)V
         1: .line 421
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            invokevirtual android.gesture.GestureOverlayView.removeCallbacks:(Ljava/lang/Runnable;)Z
            pop
         2: .line 422
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mResetGesture:Z
         3: .line 423
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            iload 2 /* fireActionPerformed */
            putfield android.gesture.GestureOverlayView$FadeOutRunnable.fireActionPerformed:Z
         4: .line 424
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            iconst_0
            putfield android.gesture.GestureOverlayView$FadeOutRunnable.resetMultipleStrokes:Z
         5: .line 426
            iload 1 /* animated */
            ifeq 12
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnull 12
         6: .line 427
            aload 0 /* this */
            fconst_1
            putfield android.gesture.GestureOverlayView.mFadingAlpha:F
         7: .line 428
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mIsFadingOut:Z
         8: .line 429
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mFadingHasStarted:Z
         9: .line 430
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeOffset:J
            ladd
            putfield android.gesture.GestureOverlayView.mFadingStart:J
        10: .line 432
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeOffset:J
            invokevirtual android.gesture.GestureOverlayView.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
        11: .line 433
            goto 30
        12: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fconst_1
            putfield android.gesture.GestureOverlayView.mFadingAlpha:F
        13: .line 435
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsFadingOut:Z
        14: .line 436
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mFadingHasStarted:Z
        15: .line 438
            iload 3 /* immediate */
            ifeq 20
        16: .line 439
            aload 0 /* this */
            aconst_null
            putfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
        17: .line 440
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.rewind:()V
        18: .line 441
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
        19: .line 442
            goto 30
      StackMap locals:
      StackMap stack:
        20: iload 2 /* fireActionPerformed */
            ifeq 23
        21: .line 443
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeOffset:J
            invokevirtual android.gesture.GestureOverlayView.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
        22: .line 444
            goto 30
      StackMap locals:
      StackMap stack:
        23: aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeType:I
            iconst_1
            if_icmpne 27
        24: .line 445
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            iconst_1
            putfield android.gesture.GestureOverlayView$FadeOutRunnable.resetMultipleStrokes:Z
        25: .line 446
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeOffset:J
            invokevirtual android.gesture.GestureOverlayView.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
        26: .line 447
            goto 30
        27: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
        28: .line 449
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.rewind:()V
        29: .line 450
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
        30: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean immediate
        end local 2 // boolean fireActionPerformed
        end local 1 // boolean animated
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Landroid/gesture/GestureOverlayView;
            0   31     1             animated  Z
            0   31     2  fireActionPerformed  Z
            0   31     3            immediate  Z
    MethodParameters:
                     Name  Flags
      animated             
      fireActionPerformed  
      immediate            

  public void cancelClearAnimation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 456
            aload 0 /* this */
            sipush 255
            invokevirtual android.gesture.GestureOverlayView.setPaintAlpha:(I)V
         1: .line 457
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsFadingOut:Z
         2: .line 458
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mFadingHasStarted:Z
         3: .line 459
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            invokevirtual android.gesture.GestureOverlayView.removeCallbacks:(Ljava/lang/Runnable;)Z
            pop
         4: .line 460
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.rewind:()V
         5: .line 461
            aload 0 /* this */
            aconst_null
            putfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
         6: .line 462
            return
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/gesture/GestureOverlayView;

  public void cancelGesture();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 465
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsListeningForGestures:Z
         1: .line 468
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            new android.gesture.GestureStroke
            dup
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            invokespecial android.gesture.GestureStroke.<init>:(Ljava/util/ArrayList;)V
            invokevirtual android.gesture.Gesture.addStroke:(Landroid/gesture/GestureStroke;)V
         2: .line 471
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lstore 1 /* now */
        start local 1 // long now
         3: .line 472
            lload 1 /* now */
            lload 1 /* now */
         4: .line 473
            iconst_3
            fconst_0
            fconst_0
            iconst_0
         5: .line 472
            invokestatic android.view.MotionEvent.obtain:(JJIFFI)Landroid/view/MotionEvent;
            astore 3 /* event */
        start local 3 // android.view.MotionEvent event
         6: .line 475
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            astore 4 /* listeners */
        start local 4 // java.util.ArrayList listeners
         7: .line 476
            aload 4 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* count */
        start local 5 // int count
         8: .line 477
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 478
      StackMap locals: android.gesture.GestureOverlayView long android.view.MotionEvent java.util.ArrayList int int
      StackMap stack:
            aload 4 /* listeners */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGestureListener
            aload 0 /* this */
            aload 3 /* event */
            invokeinterface android.gesture.GestureOverlayView$OnGestureListener.onGestureCancelled:(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V
        11: .line 477
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 10
        end local 6 // int i
        13: .line 481
            aload 3 /* event */
            invokevirtual android.view.MotionEvent.recycle:()V
        14: .line 483
            aload 0 /* this */
            iconst_0
            invokevirtual android.gesture.GestureOverlayView.clear:(Z)V
        15: .line 484
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsGesturing:Z
        16: .line 485
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mPreviousWasGesturing:Z
        17: .line 486
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        18: .line 488
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
            astore 6 /* otherListeners */
        start local 6 // java.util.ArrayList otherListeners
        19: .line 489
            aload 6 /* otherListeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* count */
        20: .line 490
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        21: goto 24
        22: .line 491
      StackMap locals: android.gesture.GestureOverlayView long android.view.MotionEvent java.util.ArrayList int java.util.ArrayList int
      StackMap stack:
            aload 6 /* otherListeners */
            iload 7 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGesturingListener
            aload 0 /* this */
            invokeinterface android.gesture.GestureOverlayView$OnGesturingListener.onGesturingEnded:(Landroid/gesture/GestureOverlayView;)V
        23: .line 490
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            iload 5 /* count */
            if_icmplt 22
        end local 7 // int i
        25: .line 493
            return
        end local 6 // java.util.ArrayList otherListeners
        end local 5 // int count
        end local 4 // java.util.ArrayList listeners
        end local 3 // android.view.MotionEvent event
        end local 1 // long now
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Landroid/gesture/GestureOverlayView;
            3   26     1             now  J
            6   26     3           event  Landroid/view/MotionEvent;
            7   26     4       listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGestureListener;>;
            8   26     5           count  I
            9   13     6               i  I
           19   26     6  otherListeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGesturingListener;>;
           21   25     7               i  I

  protected void onDetachedFromWindow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 497
            aload 0 /* this */
            invokespecial android.widget.FrameLayout.onDetachedFromWindow:()V
         1: .line 498
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.cancelClearAnimation:()V
         2: .line 499
            return
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/gesture/GestureOverlayView;

  public boolean dispatchTouchEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.view.MotionEvent event
         0: .line 503
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.isEnabled:()Z
            ifeq 12
         1: .line 504
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsGesturing:Z
            ifne 3
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnull 5
         2: .line 505
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            invokevirtual android.gesture.Gesture.getStrokesCount:()I
            ifle 5
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPreviousWasGesturing:Z
            ifeq 5
         3: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mInterceptEvents:Z
            ifeq 5
         4: .line 504
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 2 /* cancelDispatch */
        start local 2 // boolean cancelDispatch
         7: .line 508
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.gesture.GestureOverlayView.processEvent:(Landroid/view/MotionEvent;)Z
            pop
         8: .line 510
            iload 2 /* cancelDispatch */
            ifeq 10
         9: .line 511
            aload 1 /* event */
            iconst_3
            invokevirtual android.view.MotionEvent.setAction:(I)V
        10: .line 514
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.FrameLayout.dispatchTouchEvent:(Landroid/view/MotionEvent;)Z
            pop
        11: .line 516
            iconst_1
            ireturn
        end local 2 // boolean cancelDispatch
        12: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.FrameLayout.dispatchTouchEvent:(Landroid/view/MotionEvent;)Z
            ireturn
        end local 1 // android.view.MotionEvent event
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Landroid/gesture/GestureOverlayView;
            0   13     1           event  Landroid/view/MotionEvent;
            7   12     2  cancelDispatch  Z
    MethodParameters:
       Name  Flags
      event  

  private boolean processEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.view.MotionEvent event
         0: .line 523
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getAction:()I
            tableswitch { // 0 - 3
                    0: 1
                    1: 9
                    2: 4
                    3: 13
              default: 17
          }
         1: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.gesture.GestureOverlayView.touchDown:(Landroid/view/MotionEvent;)V
         2: .line 526
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
         3: .line 527
            iconst_1
            ireturn
         4: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsListeningForGestures:Z
            ifeq 17
         5: .line 530
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.gesture.GestureOverlayView.touchMove:(Landroid/view/MotionEvent;)Landroid/graphics/Rect;
            astore 2 /* rect */
        start local 2 // android.graphics.Rect rect
         6: .line 531
            aload 2 /* rect */
            ifnull 8
         7: .line 532
            aload 0 /* this */
            aload 2 /* rect */
            invokevirtual android.gesture.GestureOverlayView.invalidate:(Landroid/graphics/Rect;)V
         8: .line 534
      StackMap locals: android.graphics.Rect
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // android.graphics.Rect rect
         9: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsListeningForGestures:Z
            ifeq 17
        10: .line 539
            aload 0 /* this */
            aload 1 /* event */
            iconst_0
            invokevirtual android.gesture.GestureOverlayView.touchUp:(Landroid/view/MotionEvent;Z)V
        11: .line 540
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
        12: .line 541
            iconst_1
            ireturn
        13: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsListeningForGestures:Z
            ifeq 17
        14: .line 546
            aload 0 /* this */
            aload 1 /* event */
            iconst_1
            invokevirtual android.gesture.GestureOverlayView.touchUp:(Landroid/view/MotionEvent;Z)V
        15: .line 547
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.invalidate:()V
        16: .line 548
            iconst_1
            ireturn
        17: .line 552
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.view.MotionEvent event
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Landroid/gesture/GestureOverlayView;
            0   18     1  event  Landroid/view/MotionEvent;
            6    9     2   rect  Landroid/graphics/Rect;
    MethodParameters:
       Name  Flags
      event  

  private void touchDown(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.view.MotionEvent event
         0: .line 556
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mIsListeningForGestures:Z
         1: .line 558
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getX:()F
            fstore 2 /* x */
        start local 2 // float x
         2: .line 559
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getY:()F
            fstore 3 /* y */
        start local 3 // float y
         3: .line 561
            aload 0 /* this */
            fload 2 /* x */
            putfield android.gesture.GestureOverlayView.mX:F
         4: .line 562
            aload 0 /* this */
            fload 3 /* y */
            putfield android.gesture.GestureOverlayView.mY:F
         5: .line 564
            aload 0 /* this */
            fconst_0
            putfield android.gesture.GestureOverlayView.mTotalLength:F
         6: .line 565
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsGesturing:Z
         7: .line 567
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeType:I
            ifeq 8
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mResetGesture:Z
            ifeq 13
         8: .line 568
      StackMap locals: float float
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
            ifeq 9
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mUncertainGestureColor:I
            invokevirtual android.gesture.GestureOverlayView.setCurrentColor:(I)V
         9: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mResetGesture:Z
        10: .line 570
            aload 0 /* this */
            aconst_null
            putfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
        11: .line 571
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.rewind:()V
        12: .line 572
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnull 14
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            invokevirtual android.gesture.Gesture.getStrokesCount:()I
            ifne 15
        14: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
            ifeq 15
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mUncertainGestureColor:I
            invokevirtual android.gesture.GestureOverlayView.setCurrentColor:(I)V
        15: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingHasStarted:Z
            ifeq 18
        16: .line 578
            aload 0 /* this */
            invokevirtual android.gesture.GestureOverlayView.cancelClearAnimation:()V
        17: .line 579
            goto 23
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsFadingOut:Z
            ifeq 23
        19: .line 580
            aload 0 /* this */
            sipush 255
            invokevirtual android.gesture.GestureOverlayView.setPaintAlpha:(I)V
        20: .line 581
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsFadingOut:Z
        21: .line 582
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mFadingHasStarted:Z
        22: .line 583
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
            invokevirtual android.gesture.GestureOverlayView.removeCallbacks:(Ljava/lang/Runnable;)Z
            pop
        23: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnonnull 25
        24: .line 587
            aload 0 /* this */
            new android.gesture.Gesture
            dup
            invokespecial android.gesture.Gesture.<init>:()V
            putfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
        25: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            new android.gesture.GesturePoint
            dup
            fload 2 /* x */
            fload 3 /* y */
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getEventTime:()J
            invokespecial android.gesture.GesturePoint.<init>:(FFJ)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 591
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            fload 2 /* x */
            fload 3 /* y */
            invokevirtual android.graphics.Path.moveTo:(FF)V
        27: .line 593
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mInvalidateExtraBorder:I
            istore 4 /* border */
        start local 4 // int border
        28: .line 594
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mInvalidRect:Landroid/graphics/Rect;
            fload 2 /* x */
            f2i
            iload 4 /* border */
            isub
            fload 3 /* y */
            f2i
            iload 4 /* border */
            isub
            fload 2 /* x */
            f2i
            iload 4 /* border */
            iadd
            fload 3 /* y */
            f2i
            iload 4 /* border */
            iadd
            invokevirtual android.graphics.Rect.set:(IIII)V
        29: .line 596
            aload 0 /* this */
            fload 2 /* x */
            putfield android.gesture.GestureOverlayView.mCurveEndX:F
        30: .line 597
            aload 0 /* this */
            fload 3 /* y */
            putfield android.gesture.GestureOverlayView.mCurveEndY:F
        31: .line 600
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            astore 5 /* listeners */
        start local 5 // java.util.ArrayList listeners
        32: .line 601
            aload 5 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* count */
        start local 6 // int count
        33: .line 602
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        34: goto 37
        35: .line 603
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent float float int java.util.ArrayList int int
      StackMap stack:
            aload 5 /* listeners */
            iload 7 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGestureListener
            aload 0 /* this */
            aload 1 /* event */
            invokeinterface android.gesture.GestureOverlayView$OnGestureListener.onGestureStarted:(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V
        36: .line 602
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 7 /* i */
            iload 6 /* count */
            if_icmplt 35
        end local 7 // int i
        38: .line 605
            return
        end local 6 // int count
        end local 5 // java.util.ArrayList listeners
        end local 4 // int border
        end local 3 // float y
        end local 2 // float x
        end local 1 // android.view.MotionEvent event
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Landroid/gesture/GestureOverlayView;
            0   39     1      event  Landroid/view/MotionEvent;
            2   39     2          x  F
            3   39     3          y  F
           28   39     4     border  I
           32   39     5  listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGestureListener;>;
           33   39     6      count  I
           34   38     7          i  I
    MethodParameters:
       Name  Flags
      event  

  private android.graphics.Rect touchMove(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Landroid/graphics/Rect;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.view.MotionEvent event
         0: .line 608
            aconst_null
            astore 2 /* areaToRefresh */
        start local 2 // android.graphics.Rect areaToRefresh
         1: .line 610
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getX:()F
            fstore 3 /* x */
        start local 3 // float x
         2: .line 611
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getY:()F
            fstore 4 /* y */
        start local 4 // float y
         3: .line 613
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mX:F
            fstore 5 /* previousX */
        start local 5 // float previousX
         4: .line 614
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mY:F
            fstore 6 /* previousY */
        start local 6 // float previousY
         5: .line 616
            fload 3 /* x */
            fload 5 /* previousX */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            fstore 7 /* dx */
        start local 7 // float dx
         6: .line 617
            fload 4 /* y */
            fload 6 /* previousY */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            fstore 8 /* dy */
        start local 8 // float dy
         7: .line 619
            fload 7 /* dx */
            ldc 3.0
            fcmpl
            ifge 8
            fload 8 /* dy */
            ldc 3.0
            fcmpl
            iflt 53
         8: .line 620
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent android.graphics.Rect float float float float float float
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mInvalidRect:Landroid/graphics/Rect;
            astore 2 /* areaToRefresh */
         9: .line 623
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mInvalidateExtraBorder:I
            istore 9 /* border */
        start local 9 // int border
        10: .line 624
            aload 2 /* areaToRefresh */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurveEndX:F
            f2i
            iload 9 /* border */
            isub
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurveEndY:F
            f2i
            iload 9 /* border */
            isub
        11: .line 625
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurveEndX:F
            f2i
            iload 9 /* border */
            iadd
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurveEndY:F
            f2i
            iload 9 /* border */
            iadd
        12: .line 624
            invokevirtual android.graphics.Rect.set:(IIII)V
        13: .line 627
            aload 0 /* this */
            fload 3 /* x */
            fload 5 /* previousX */
            fadd
            fconst_2
            fdiv
            dup_x1
            putfield android.gesture.GestureOverlayView.mCurveEndX:F
            fstore 10 /* cX */
        start local 10 // float cX
        14: .line 628
            aload 0 /* this */
            fload 4 /* y */
            fload 6 /* previousY */
            fadd
            fconst_2
            fdiv
            dup_x1
            putfield android.gesture.GestureOverlayView.mCurveEndY:F
            fstore 11 /* cY */
        start local 11 // float cY
        15: .line 630
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mPath:Landroid/graphics/Path;
            fload 5 /* previousX */
            fload 6 /* previousY */
            fload 10 /* cX */
            fload 11 /* cY */
            invokevirtual android.graphics.Path.quadTo:(FFFF)V
        16: .line 633
            aload 2 /* areaToRefresh */
            fload 5 /* previousX */
            f2i
            iload 9 /* border */
            isub
            fload 6 /* previousY */
            f2i
            iload 9 /* border */
            isub
        17: .line 634
            fload 5 /* previousX */
            f2i
            iload 9 /* border */
            iadd
            fload 6 /* previousY */
            f2i
            iload 9 /* border */
            iadd
        18: .line 633
            invokevirtual android.graphics.Rect.union:(IIII)V
        19: .line 637
            aload 2 /* areaToRefresh */
            fload 10 /* cX */
            f2i
            iload 9 /* border */
            isub
            fload 11 /* cY */
            f2i
            iload 9 /* border */
            isub
        20: .line 638
            fload 10 /* cX */
            f2i
            iload 9 /* border */
            iadd
            fload 11 /* cY */
            f2i
            iload 9 /* border */
            iadd
        21: .line 637
            invokevirtual android.graphics.Rect.union:(IIII)V
        22: .line 640
            aload 0 /* this */
            fload 3 /* x */
            putfield android.gesture.GestureOverlayView.mX:F
        23: .line 641
            aload 0 /* this */
            fload 4 /* y */
            putfield android.gesture.GestureOverlayView.mY:F
        24: .line 643
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            new android.gesture.GesturePoint
            dup
            fload 3 /* x */
            fload 4 /* y */
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getEventTime:()J
            invokespecial android.gesture.GesturePoint.<init>:(FFJ)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 645
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
            ifeq 46
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsGesturing:Z
            ifne 46
        26: .line 646
            aload 0 /* this */
            dup
            getfield android.gesture.GestureOverlayView.mTotalLength:F
            fload 7 /* dx */
            f2d
            fload 8 /* dy */
            f2d
            invokestatic java.lang.Math.hypot:(DD)D
            d2f
            fadd
            putfield android.gesture.GestureOverlayView.mTotalLength:F
        27: .line 648
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mTotalLength:F
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeLengthThreshold:F
            fcmpl
            ifle 46
        28: .line 650
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            invokestatic android.gesture.GestureUtils.computeOrientedBoundingBox:(Ljava/util/ArrayList;)Landroid/gesture/OrientedBoundingBox;
        29: .line 649
            astore 12 /* box */
        start local 12 // android.gesture.OrientedBoundingBox box
        30: .line 652
            aload 12 /* box */
            getfield android.gesture.OrientedBoundingBox.orientation:F
            invokestatic java.lang.Math.abs:(F)F
            fstore 13 /* angle */
        start local 13 // float angle
        31: .line 653
            fload 13 /* angle */
            ldc 90.0
            fcmpl
            ifle 33
        32: .line 654
            ldc 180.0
            fload 13 /* angle */
            fsub
            fstore 13 /* angle */
        33: .line 657
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent android.graphics.Rect float float float float float float int float float android.gesture.OrientedBoundingBox float
      StackMap stack:
            aload 12 /* box */
            getfield android.gesture.OrientedBoundingBox.squareness:F
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeSquarenessTreshold:F
            fcmpl
            ifgt 37
        34: .line 658
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOrientation:I
            iconst_1
            if_icmpne 36
        35: .line 659
            fload 13 /* angle */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeAngleThreshold:F
            fcmpg
            ifge 46
            goto 37
        36: .line 660
      StackMap locals:
      StackMap stack:
            fload 13 /* angle */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mGestureStrokeAngleThreshold:F
            fcmpl
            ifle 46
        37: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.gesture.GestureOverlayView.mIsGesturing:Z
        38: .line 663
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCertainGestureColor:I
            invokevirtual android.gesture.GestureOverlayView.setCurrentColor:(I)V
        39: .line 665
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
            astore 14 /* listeners */
        start local 14 // java.util.ArrayList listeners
        40: .line 666
            aload 14 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 15 /* count */
        start local 15 // int count
        41: .line 667
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        42: goto 45
        43: .line 668
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 14 /* listeners */
            iload 16 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGesturingListener
            aload 0 /* this */
            invokeinterface android.gesture.GestureOverlayView$OnGesturingListener.onGesturingStarted:(Landroid/gesture/GestureOverlayView;)V
        44: .line 667
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 16 /* i */
            iload 15 /* count */
            if_icmplt 43
        end local 16 // int i
        end local 15 // int count
        end local 14 // java.util.ArrayList listeners
        end local 13 // float angle
        end local 12 // android.gesture.OrientedBoundingBox box
        46: .line 675
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent android.graphics.Rect float float float float float float int float float
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            astore 12 /* listeners */
        start local 12 // java.util.ArrayList listeners
        47: .line 676
            aload 12 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 13 /* count */
        start local 13 // int count
        48: .line 677
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        49: goto 52
        50: .line 678
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 12 /* listeners */
            iload 14 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGestureListener
            aload 0 /* this */
            aload 1 /* event */
            invokeinterface android.gesture.GestureOverlayView$OnGestureListener.onGesture:(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V
        51: .line 677
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 14 /* i */
            iload 13 /* count */
            if_icmplt 50
        end local 14 // int i
        end local 13 // int count
        end local 12 // java.util.ArrayList listeners
        end local 11 // float cY
        end local 10 // float cX
        end local 9 // int border
        53: .line 682
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent android.graphics.Rect float float float float float float
      StackMap stack:
            aload 2 /* areaToRefresh */
            areturn
        end local 8 // float dy
        end local 7 // float dx
        end local 6 // float previousY
        end local 5 // float previousX
        end local 4 // float y
        end local 3 // float x
        end local 2 // android.graphics.Rect areaToRefresh
        end local 1 // android.view.MotionEvent event
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   54     0           this  Landroid/gesture/GestureOverlayView;
            0   54     1          event  Landroid/view/MotionEvent;
            1   54     2  areaToRefresh  Landroid/graphics/Rect;
            2   54     3              x  F
            3   54     4              y  F
            4   54     5      previousX  F
            5   54     6      previousY  F
            6   54     7             dx  F
            7   54     8             dy  F
           10   53     9         border  I
           14   53    10             cX  F
           15   53    11             cY  F
           30   46    12            box  Landroid/gesture/OrientedBoundingBox;
           31   46    13          angle  F
           40   46    14      listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGesturingListener;>;
           41   46    15          count  I
           42   46    16              i  I
           47   53    12      listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGestureListener;>;
           48   53    13          count  I
           49   53    14              i  I
    MethodParameters:
       Name  Flags
      event  

  private void touchUp(android.view.MotionEvent, boolean);
    descriptor: (Landroid/view/MotionEvent;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.view.MotionEvent event
        start local 2 // boolean cancel
         0: .line 686
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsListeningForGestures:Z
         1: .line 689
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            ifnull 20
         2: .line 691
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            new android.gesture.GestureStroke
            dup
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            invokespecial android.gesture.GestureStroke.<init>:(Ljava/util/ArrayList;)V
            invokevirtual android.gesture.Gesture.addStroke:(Landroid/gesture/GestureStroke;)V
         3: .line 693
            iload 2 /* cancel */
            ifne 18
         4: .line 695
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            astore 3 /* listeners */
        start local 3 // java.util.ArrayList listeners
         5: .line 696
            aload 3 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* count */
        start local 4 // int count
         6: .line 697
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 698
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 3 /* listeners */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGestureListener
            aload 0 /* this */
            aload 1 /* event */
            invokeinterface android.gesture.GestureOverlayView$OnGestureListener.onGestureEnded:(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V
         9: .line 697
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 8
        end local 5 // int i
        11: .line 701
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
            ifeq 12
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mFadeEnabled:Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent int java.util.ArrayList int
      StackMap stack: android.gesture.GestureOverlayView
        12: iconst_0
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent int java.util.ArrayList int
      StackMap stack: android.gesture.GestureOverlayView int
        13: aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mHandleGestureActions:Z
            ifeq 14
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsGesturing:Z
            ifeq 14
            iconst_1
            goto 15
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent int java.util.ArrayList int
      StackMap stack: android.gesture.GestureOverlayView int
        14: iconst_0
        15: .line 702
      StackMap locals: android.gesture.GestureOverlayView android.view.MotionEvent int java.util.ArrayList int
      StackMap stack: android.gesture.GestureOverlayView int int
            iconst_0
        16: .line 701
            invokevirtual android.gesture.GestureOverlayView.clear:(ZZZ)V
        end local 4 // int count
        end local 3 // java.util.ArrayList listeners
        17: .line 703
            goto 21
        18: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.gesture.GestureOverlayView.cancelGesture:(Landroid/view/MotionEvent;)V
        19: .line 707
            goto 21
        20: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.gesture.GestureOverlayView.cancelGesture:(Landroid/view/MotionEvent;)V
        21: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mStrokeBuffer:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        22: .line 712
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mIsGesturing:Z
            putfield android.gesture.GestureOverlayView.mPreviousWasGesturing:Z
        23: .line 713
            aload 0 /* this */
            iconst_0
            putfield android.gesture.GestureOverlayView.mIsGesturing:Z
        24: .line 715
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturingListeners:Ljava/util/ArrayList;
            astore 3 /* listeners */
        start local 3 // java.util.ArrayList listeners
        25: .line 716
            aload 3 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* count */
        start local 4 // int count
        26: .line 717
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        27: goto 30
        28: .line 718
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 3 /* listeners */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGesturingListener
            aload 0 /* this */
            invokeinterface android.gesture.GestureOverlayView$OnGesturingListener.onGesturingEnded:(Landroid/gesture/GestureOverlayView;)V
        29: .line 717
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 28
        end local 5 // int i
        31: .line 720
            return
        end local 4 // int count
        end local 3 // java.util.ArrayList listeners
        end local 2 // boolean cancel
        end local 1 // android.view.MotionEvent event
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Landroid/gesture/GestureOverlayView;
            0   32     1      event  Landroid/view/MotionEvent;
            0   32     2     cancel  Z
            5   17     3  listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGestureListener;>;
            6   17     4      count  I
            7   11     5          i  I
           25   32     3  listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGesturingListener;>;
           26   32     4      count  I
           27   31     5          i  I
    MethodParameters:
        Name  Flags
      event   
      cancel  

  private void cancelGesture(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.gesture.GestureOverlayView this
        start local 1 // android.view.MotionEvent event
         0: .line 724
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGestureListeners:Ljava/util/ArrayList;
            astore 2 /* listeners */
        start local 2 // java.util.ArrayList listeners
         1: .line 725
            aload 2 /* listeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 726
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 727
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 2 /* listeners */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGestureListener
            aload 0 /* this */
            aload 1 /* event */
            invokeinterface android.gesture.GestureOverlayView$OnGestureListener.onGestureCancelled:(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V
         5: .line 726
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 4
        end local 4 // int i
         7: .line 730
            aload 0 /* this */
            iconst_0
            invokevirtual android.gesture.GestureOverlayView.clear:(Z)V
         8: .line 731
            return
        end local 3 // int count
        end local 2 // java.util.ArrayList listeners
        end local 1 // android.view.MotionEvent event
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Landroid/gesture/GestureOverlayView;
            0    9     1      event  Landroid/view/MotionEvent;
            1    9     2  listeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGestureListener;>;
            2    9     3      count  I
            3    7     4          i  I
    MethodParameters:
       Name  Flags
      event  

  private void fireOnGesturePerformed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.gesture.GestureOverlayView this
         0: .line 734
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mOnGesturePerformedListeners:Ljava/util/ArrayList;
            astore 1 /* actionListeners */
        start local 1 // java.util.ArrayList actionListeners
         1: .line 735
            aload 1 /* actionListeners */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 736
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 737
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 1 /* actionListeners */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.gesture.GestureOverlayView$OnGesturePerformedListener
            aload 0 /* this */
            aload 0 /* this */
            getfield android.gesture.GestureOverlayView.mCurrentGesture:Landroid/gesture/Gesture;
            invokeinterface android.gesture.GestureOverlayView$OnGesturePerformedListener.onGesturePerformed:(Landroid/gesture/GestureOverlayView;Landroid/gesture/Gesture;)V
         5: .line 736
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 3 // int i
         7: .line 739
            return
        end local 2 // int count
        end local 1 // java.util.ArrayList actionListeners
        end local 0 // android.gesture.GestureOverlayView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Landroid/gesture/GestureOverlayView;
            1    8     1  actionListeners  Ljava/util/ArrayList<Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;>;
            2    8     2            count  I
            3    7     3                i  I
}
SourceFile: "GestureOverlayView.java"
NestMembers:
  android.gesture.GestureOverlayView$FadeOutRunnable  android.gesture.GestureOverlayView$OnGestureListener  android.gesture.GestureOverlayView$OnGesturePerformedListener  android.gesture.GestureOverlayView$OnGesturingListener
InnerClasses:
  private FadeOutRunnable = android.gesture.GestureOverlayView$FadeOutRunnable of android.gesture.GestureOverlayView
  public abstract OnGestureListener = android.gesture.GestureOverlayView$OnGestureListener of android.gesture.GestureOverlayView
  public abstract OnGesturePerformedListener = android.gesture.GestureOverlayView$OnGesturePerformedListener of android.gesture.GestureOverlayView
  public abstract OnGesturingListener = android.gesture.GestureOverlayView$OnGesturingListener of android.gesture.GestureOverlayView
  public final Cap = android.graphics.Paint$Cap of android.graphics.Paint
  public final Join = android.graphics.Paint$Join of android.graphics.Paint
  public final Style = android.graphics.Paint$Style of android.graphics.Paint