class android.widget.Editor$InsertionHandleView extends android.widget.Editor$HandleView
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.widget.Editor$InsertionHandleView
  super_class: android.widget.Editor$HandleView
{
  private static final int DELAY_BEFORE_HANDLE_FADES_OUT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4000

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

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

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

  private java.lang.Runnable mHider;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE

  final android.widget.Editor this$0;
    descriptor: Landroid/widget/Editor;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(android.widget.Editor, android.graphics.drawable.Drawable);
    descriptor: (Landroid/widget/Editor;Landroid/graphics/drawable/Drawable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 19
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import android.R cannot be resolved\n\tThe import com.android.internal.logging.nano cannot be resolved\n\tcom.android.internal.R.bool cannot be resolved to a variable\n\tcom.android.internal.R.layout cannot be resolved to a variable\n\tcom.android.internal.R.dimen cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n\tcom.android.internal.R.layout cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tandroid.R.string cannot be resolved to a variable\n\tcom.android.internal.R.layout cannot be resolved to a variable\n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.drawable cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\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\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.dimen cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$InsertionHandleView;
    MethodParameters:
          Name  Flags
      this$0    final
      drawable  

  public void show();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5028
            aload 0 /* this */
            invokespecial android.widget.Editor$HandleView.show:()V
         1: .line 5031
            invokestatic android.os.SystemClock.uptimeMillis:()J
            getstatic android.widget.TextView.sLastCutCopyOrTextChangedTime:J
            lsub
         2: .line 5030
            lstore 1 /* durationSinceCutOrCopy */
        start local 1 // long durationSinceCutOrCopy
         3: .line 5034
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mInsertionActionModeRunnable:Ljava/lang/Runnable;
            ifnull 8
         4: .line 5035
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTapState:I
            iconst_2
            if_icmpeq 7
         5: .line 5036
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTapState:I
            iconst_3
            if_icmpeq 7
         6: .line 5037
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.isCursorInsideEasyCorrectionSpan:()Z
            ifeq 8
         7: .line 5038
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mInsertionActionModeRunnable:Ljava/lang/Runnable;
            invokevirtual android.widget.TextView.removeCallbacks:(Ljava/lang/Runnable;)Z
            pop
         8: .line 5043
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTapState:I
            iconst_2
            if_icmpeq 18
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTapState:I
            iconst_3
            if_icmpeq 18
         9: .line 5044
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.isCursorInsideEasyCorrectionSpan:()Z
            ifne 18
        10: .line 5045
            lload 1 /* durationSinceCutOrCopy */
            ldc 15000
            lcmp
            ifge 18
        11: .line 5046
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextActionMode:Landroid/view/ActionMode;
            ifnonnull 18
        12: .line 5047
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mInsertionActionModeRunnable:Ljava/lang/Runnable;
            ifnonnull 14
        13: .line 5048
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            new android.widget.Editor$InsertionHandleView$1
            dup
            aload 0 /* this */
            invokespecial android.widget.Editor$InsertionHandleView$1.<init>:(Landroid/widget/Editor$InsertionHandleView;)V
            putfield android.widget.Editor.mInsertionActionModeRunnable:Ljava/lang/Runnable;
        14: .line 5055
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
        15: .line 5056
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mInsertionActionModeRunnable:Ljava/lang/Runnable;
        16: .line 5057
            invokestatic android.view.ViewConfiguration.getDoubleTapTimeout:()I
            iconst_1
            iadd
            i2l
        17: .line 5055
            invokevirtual android.widget.TextView.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
        18: .line 5062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.hideAfterDelay:()V
        19: .line 5063
            return
        end local 1 // long durationSinceCutOrCopy
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   20     0                    this  Landroid/widget/Editor$InsertionHandleView;
            3   20     1  durationSinceCutOrCopy  J

  private void hideAfterDelay();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5066
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mHider:Ljava/lang/Runnable;
            ifnonnull 3
         1: .line 5067
            aload 0 /* this */
            new android.widget.Editor$InsertionHandleView$2
            dup
            aload 0 /* this */
            invokespecial android.widget.Editor$InsertionHandleView$2.<init>:(Landroid/widget/Editor$InsertionHandleView;)V
            putfield android.widget.Editor$InsertionHandleView.mHider:Ljava/lang/Runnable;
         2: .line 5072
            goto 4
         3: .line 5073
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.removeHiderCallback:()V
         4: .line 5075
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mHider:Ljava/lang/Runnable;
            ldc 4000
            invokevirtual android.widget.TextView.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
         5: .line 5076
            return
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/widget/Editor$InsertionHandleView;

  private void removeHiderCallback();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5079
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mHider:Ljava/lang/Runnable;
            ifnull 2
         1: .line 5080
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mHider:Ljava/lang/Runnable;
            invokevirtual android.widget.TextView.removeCallbacks:(Ljava/lang/Runnable;)Z
            pop
         2: .line 5082
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/Editor$InsertionHandleView;

  protected int getHotspotX(android.graphics.drawable.Drawable, boolean);
    descriptor: (Landroid/graphics/drawable/Drawable;Z)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.Editor$InsertionHandleView this
        start local 1 // android.graphics.drawable.Drawable drawable
        start local 2 // boolean isRtlRun
         0: .line 5086
            aload 1 /* drawable */
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
            iconst_2
            idiv
            ireturn
        end local 2 // boolean isRtlRun
        end local 1 // android.graphics.drawable.Drawable drawable
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/widget/Editor$InsertionHandleView;
            0    1     1  drawable  Landroid/graphics/drawable/Drawable;
            0    1     2  isRtlRun  Z
    MethodParameters:
          Name  Flags
      drawable  
      isRtlRun  

  protected int getHorizontalGravity(boolean);
    descriptor: (Z)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.widget.Editor$InsertionHandleView this
        start local 1 // boolean isRtlRun
         0: .line 5091
            iconst_1
            ireturn
        end local 1 // boolean isRtlRun
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/widget/Editor$InsertionHandleView;
            0    1     1  isRtlRun  Z
    MethodParameters:
          Name  Flags
      isRtlRun  

  protected int getCursorOffset();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5096
            aload 0 /* this */
            invokespecial android.widget.Editor$HandleView.getCursorOffset:()I
            istore 1 /* offset */
        start local 1 // int offset
         1: .line 5097
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mDrawableForCursor:Landroid/graphics/drawable/Drawable;
            ifnull 10
         2: .line 5098
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mDrawableForCursor:Landroid/graphics/drawable/Drawable;
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.drawable.Drawable.getPadding:(Landroid/graphics/Rect;)Z
            pop
         3: .line 5099
            iload 1 /* offset */
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mDrawableForCursor:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
         4: .line 5100
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
         5: .line 5099
            isub
         6: .line 5100
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
         7: .line 5099
            isub
         8: .line 5100
            iconst_2
         9: .line 5099
            idiv
            iadd
            istore 1 /* offset */
        10: .line 5102
      StackMap locals: int
      StackMap stack:
            iload 1 /* offset */
            ireturn
        end local 1 // int offset
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/widget/Editor$InsertionHandleView;
            1   11     1  offset  I

  int getCursorHorizontalPosition(android.text.Layout, int);
    descriptor: (Landroid/text/Layout;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.widget.Editor$InsertionHandleView this
        start local 1 // android.text.Layout layout
        start local 2 // int offset
         0: .line 5107
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mDrawableForCursor:Landroid/graphics/drawable/Drawable;
            ifnull 3
         1: .line 5108
            aload 0 /* this */
            aload 1 /* layout */
            iload 2 /* offset */
            invokevirtual android.widget.Editor$InsertionHandleView.getHorizontal:(Landroid/text/Layout;I)F
            fstore 3 /* horizontal */
        start local 3 // float horizontal
         2: .line 5109
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mDrawableForCursor:Landroid/graphics/drawable/Drawable;
            fload 3 /* horizontal */
            invokevirtual android.widget.Editor.clampHorizontalPosition:(Landroid/graphics/drawable/Drawable;F)I
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iadd
            ireturn
        end local 3 // float horizontal
         3: .line 5111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* layout */
            iload 2 /* offset */
            invokespecial android.widget.Editor$HandleView.getCursorHorizontalPosition:(Landroid/text/Layout;I)I
            ireturn
        end local 2 // int offset
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/widget/Editor$InsertionHandleView;
            0    4     1      layout  Landroid/text/Layout;
            0    4     2      offset  I
            2    3     3  horizontal  F
    MethodParameters:
        Name  Flags
      layout  
      offset  

  public boolean onTouchEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // android.widget.Editor$InsertionHandleView this
        start local 1 // android.view.MotionEvent ev
         0: .line 5116
            aload 0 /* this */
            aload 1 /* ev */
            invokespecial android.widget.Editor$HandleView.onTouchEvent:(Landroid/view/MotionEvent;)Z
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 5118
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getActionMasked:()I
            tableswitch { // 0 - 3
                    0: 2
                    1: 8
                    2: 6
                    3: 23
              default: 26
          }
         2: .line 5120
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawX:()F
            putfield android.widget.Editor$InsertionHandleView.mDownPositionX:F
         3: .line 5121
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawY:()F
            putfield android.widget.Editor$InsertionHandleView.mDownPositionY:F
         4: .line 5122
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.widget.Editor$InsertionHandleView.updateMagnifier:(Landroid/view/MotionEvent;)V
         5: .line 5123
            goto 26
         6: .line 5126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual android.widget.Editor$InsertionHandleView.updateMagnifier:(Landroid/view/MotionEvent;)V
         7: .line 5127
            goto 26
         8: .line 5130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.offsetHasBeenChanged:()Z
            ifne 21
         9: .line 5131
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mDownPositionX:F
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawX:()F
            fsub
            fstore 3 /* deltaX */
        start local 3 // float deltaX
        10: .line 5132
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mDownPositionY:F
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawY:()F
            fsub
            fstore 4 /* deltaY */
        start local 4 // float deltaY
        11: .line 5133
            fload 3 /* deltaX */
            fload 3 /* deltaX */
            fmul
            fload 4 /* deltaY */
            fload 4 /* deltaY */
            fmul
            fadd
            fstore 5 /* distanceSquared */
        start local 5 // float distanceSquared
        12: .line 5136
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
        13: .line 5135
            invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
            astore 6 /* viewConfiguration */
        start local 6 // android.view.ViewConfiguration viewConfiguration
        14: .line 5137
            aload 6 /* viewConfiguration */
            invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
            istore 7 /* touchSlop */
        start local 7 // int touchSlop
        15: .line 5139
            fload 5 /* distanceSquared */
            iload 7 /* touchSlop */
            iload 7 /* touchSlop */
            imul
            i2f
            fcmpg
            ifge 23
        16: .line 5141
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextActionMode:Landroid/view/ActionMode;
            ifnull 19
        17: .line 5142
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.stopTextActionMode:()V
        18: .line 5143
            goto 23
        19: .line 5144
      StackMap locals: android.widget.Editor$InsertionHandleView android.view.MotionEvent int float float float android.view.ViewConfiguration int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.startInsertionActionMode:()V
        end local 7 // int touchSlop
        end local 6 // android.view.ViewConfiguration viewConfiguration
        end local 5 // float distanceSquared
        end local 4 // float deltaY
        end local 3 // float deltaX
        20: .line 5147
            goto 23
        21: .line 5148
      StackMap locals: android.widget.Editor$InsertionHandleView android.view.MotionEvent int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextActionMode:Landroid/view/ActionMode;
            ifnull 23
        22: .line 5149
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextActionMode:Landroid/view/ActionMode;
            invokevirtual android.view.ActionMode.invalidateContentRect:()V
        23: .line 5154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.hideAfterDelay:()V
        24: .line 5155
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.dismissMagnifier:()V
        25: .line 5156
            goto 26
        26: .line 5162
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // android.view.MotionEvent ev
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Landroid/widget/Editor$InsertionHandleView;
            0   27     1                 ev  Landroid/view/MotionEvent;
            1   27     2             result  Z
           10   20     3             deltaX  F
           11   20     4             deltaY  F
           12   20     5    distanceSquared  F
           14   20     6  viewConfiguration  Landroid/view/ViewConfiguration;
           15   20     7          touchSlop  I
    MethodParameters:
      Name  Flags
      ev    

  public int getCurrentCursorOffset();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5167
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getSelectionStart:()I
            ireturn
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$InsertionHandleView;

  public void updateSelection(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.Editor$InsertionHandleView this
        start local 1 // int offset
         0: .line 5172
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
            checkcast android.text.Spannable
            iload 1 /* offset */
            invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;I)V
         1: .line 5173
            return
        end local 1 // int offset
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/Editor$InsertionHandleView;
            0    2     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  protected void updatePosition(float, float, boolean);
    descriptor: (FFZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.widget.Editor$InsertionHandleView this
        start local 1 // float x
        start local 2 // float y
        start local 3 // boolean fromTouchScreen
         0: .line 5177
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 4 /* layout */
        start local 4 // android.text.Layout layout
         1: .line 5179
            aload 4 /* layout */
            ifnull 8
         2: .line 5180
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mPreviousLineTouched:I
            iconst_m1
            if_icmpne 4
         3: .line 5181
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            fload 2 /* y */
            invokevirtual android.widget.TextView.getLineAtCoordinate:(F)I
            putfield android.widget.Editor$InsertionHandleView.mPreviousLineTouched:I
         4: .line 5183
      StackMap locals: android.text.Layout
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            aload 4 /* layout */
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.mPreviousLineTouched:I
            fload 2 /* y */
            invokevirtual android.widget.Editor.getCurrentLineAdjustedForSlop:(Landroid/text/Layout;IF)I
            istore 6 /* currLine */
        start local 6 // int currLine
         5: .line 5184
            aload 0 /* this */
            aload 4 /* layout */
            iload 6 /* currLine */
            fload 1 /* x */
            invokevirtual android.widget.Editor$InsertionHandleView.getOffsetAtCoordinate:(Landroid/text/Layout;IF)I
            istore 5 /* offset */
        start local 5 // int offset
         6: .line 5185
            aload 0 /* this */
            iload 6 /* currLine */
            putfield android.widget.Editor$InsertionHandleView.mPreviousLineTouched:I
        end local 6 // int currLine
         7: .line 5186
            goto 9
        end local 5 // int offset
         8: .line 5187
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 5 /* offset */
        start local 5 // int offset
         9: .line 5189
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* offset */
            iconst_0
            iload 3 /* fromTouchScreen */
            invokevirtual android.widget.Editor$InsertionHandleView.positionAtCursorOffset:(IZZ)V
        10: .line 5190
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextActionMode:Landroid/view/ActionMode;
            ifnull 12
        11: .line 5191
            aload 0 /* this */
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.invalidateActionMode:()V
        12: .line 5193
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int offset
        end local 4 // android.text.Layout layout
        end local 3 // boolean fromTouchScreen
        end local 2 // float y
        end local 1 // float x
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Landroid/widget/Editor$InsertionHandleView;
            0   13     1                x  F
            0   13     2                y  F
            0   13     3  fromTouchScreen  Z
            1   13     4           layout  Landroid/text/Layout;
            6    8     5           offset  I
            9   13     5           offset  I
            5    7     6         currLine  I
    MethodParameters:
                 Name  Flags
      x                
      y                
      fromTouchScreen  

  void onHandleMoved();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5197
            aload 0 /* this */
            invokespecial android.widget.Editor$HandleView.onHandleMoved:()V
         1: .line 5198
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.removeHiderCallback:()V
         2: .line 5199
            return
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/Editor$InsertionHandleView;

  public void onDetached();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5203
            aload 0 /* this */
            invokespecial android.widget.Editor$HandleView.onDetached:()V
         1: .line 5204
            aload 0 /* this */
            invokevirtual android.widget.Editor$InsertionHandleView.removeHiderCallback:()V
         2: .line 5205
            return
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/Editor$InsertionHandleView;

  protected int getMagnifierHandleTrigger();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$InsertionHandleView this
         0: .line 5210
            iconst_0
            ireturn
        end local 0 // android.widget.Editor$InsertionHandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$InsertionHandleView;

  static android.widget.Editor access$0(android.widget.Editor$InsertionHandleView);
    descriptor: (Landroid/widget/Editor$InsertionHandleView;)Landroid/widget/Editor;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 5014
            aload 0
            getfield android.widget.Editor$InsertionHandleView.this$0:Landroid/widget/Editor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
  public abstract HandleView = android.widget.Editor$HandleView of android.widget.Editor
  private InsertionHandleView = android.widget.Editor$InsertionHandleView of android.widget.Editor
  android.widget.Editor$InsertionHandleView$1
  android.widget.Editor$InsertionHandleView$2