public abstract class android.widget.Editor$HandleView extends android.view.View implements android.widget.Editor$TextViewPositionListener
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.widget.Editor$HandleView
  super_class: android.view.View
{
  protected android.graphics.drawable.Drawable mDrawable;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0004) ACC_PROTECTED

  protected android.graphics.drawable.Drawable mDrawableLtr;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0004) ACC_PROTECTED

  protected android.graphics.drawable.Drawable mDrawableRtl;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0004) ACC_PROTECTED

  private final android.widget.PopupWindow mContainer;
    descriptor: Landroid/widget/PopupWindow;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

  protected int mHotspotX;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int mHorizontalGravity;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

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

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

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

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

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

  protected int mPreviousOffset;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

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

  protected int mPrevLine;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int mPreviousLineTouched;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

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

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

  private final long[] mPreviousOffsetsTimes;
    descriptor: [J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] mPreviousOffsets;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final android.widget.Magnifier$Callback mHandlesVisibilityCallback;
    descriptor: Landroid/widget/Magnifier$Callback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private void <init>(android.widget.Editor, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, int);
    descriptor: (Landroid/widget/Editor;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.widget.Editor$HandleView 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$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;
    MethodParameters:
             Name  Flags
      this$0       final
      drawableLtr  
      drawableRtl  
      id           final

  public float getIdealVerticalOffset();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4495
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIdealVerticalOffset:F
            freturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;

  protected void updateDrawable();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4499
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIsDragging:Z
            ifeq 2
         1: .line 4501
            return
         2: .line 4503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 1 /* layout */
        start local 1 // android.text.Layout layout
         3: .line 4504
            aload 1 /* layout */
            ifnonnull 5
         4: .line 4505
            return
         5: .line 4507
      StackMap locals: android.text.Layout
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCurrentCursorOffset:()I
            istore 2 /* offset */
        start local 2 // int offset
         6: .line 4508
            aload 0 /* this */
            aload 1 /* layout */
            iload 2 /* offset */
            invokevirtual android.widget.Editor$HandleView.isAtRtlRun:(Landroid/text/Layout;I)Z
            istore 3 /* isRtlCharAtOffset */
        start local 3 // boolean isRtlCharAtOffset
         7: .line 4509
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            astore 4 /* oldDrawable */
        start local 4 // android.graphics.drawable.Drawable oldDrawable
         8: .line 4510
            aload 0 /* this */
            iload 3 /* isRtlCharAtOffset */
            ifeq 9
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawableRtl:Landroid/graphics/drawable/Drawable;
            goto 10
      StackMap locals: android.widget.Editor$HandleView android.text.Layout int int android.graphics.drawable.Drawable
      StackMap stack: android.widget.Editor$HandleView
         9: aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawableLtr:Landroid/graphics/drawable/Drawable;
      StackMap locals: android.widget.Editor$HandleView android.text.Layout int int android.graphics.drawable.Drawable
      StackMap stack: android.widget.Editor$HandleView android.graphics.drawable.Drawable
        10: putfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
        11: .line 4511
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            iload 3 /* isRtlCharAtOffset */
            invokevirtual android.widget.Editor$HandleView.getHotspotX:(Landroid/graphics/drawable/Drawable;Z)I
            putfield android.widget.Editor$HandleView.mHotspotX:I
        12: .line 4512
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* isRtlCharAtOffset */
            invokevirtual android.widget.Editor$HandleView.getHorizontalGravity:(Z)I
            putfield android.widget.Editor$HandleView.mHorizontalGravity:I
        13: .line 4513
            aload 4 /* oldDrawable */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            if_acmpeq 21
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.isShowing:()Z
            ifeq 21
        14: .line 4515
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* layout */
            iload 2 /* offset */
            invokevirtual android.widget.Editor$HandleView.getCursorHorizontalPosition:(Landroid/text/Layout;I)I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHotspotX:I
            isub
        15: .line 4516
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            isub
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCursorOffset:()I
            iadd
        16: .line 4515
            putfield android.widget.Editor$HandleView.mPositionX:I
        17: .line 4517
            aload 0 /* this */
            dup
            getfield android.widget.Editor$HandleView.mPositionX:I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.viewportToContentHorizontalOffset:()I
            iadd
            putfield android.widget.Editor$HandleView.mPositionX:I
        18: .line 4518
            aload 0 /* this */
            iconst_1
            putfield android.widget.Editor$HandleView.mPositionHasChanged:Z
        19: .line 4519
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentX:I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            iconst_0
            iconst_0
            invokevirtual android.widget.Editor$HandleView.updatePosition:(IIZZ)V
        20: .line 4520
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.postInvalidate:()V
        21: .line 4522
      StackMap locals:
      StackMap stack:
            return
        end local 4 // android.graphics.drawable.Drawable oldDrawable
        end local 3 // boolean isRtlCharAtOffset
        end local 2 // int offset
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Landroid/widget/Editor$HandleView;
            3   22     1             layout  Landroid/text/Layout;
            6   22     2             offset  I
            7   22     3  isRtlCharAtOffset  Z
            8   22     4        oldDrawable  Landroid/graphics/drawable/Drawable;

  protected abstract int getHotspotX(android.graphics.drawable.Drawable, boolean);
    descriptor: (Landroid/graphics/drawable/Drawable;Z)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      drawable  
      isRtlRun  

  protected abstract int getHorizontalGravity(boolean);
    descriptor: (Z)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      isRtlRun  

  private void startTouchUpFilter(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // int offset
         0: .line 4537
            aload 0 /* this */
            iconst_0
            putfield android.widget.Editor$HandleView.mNumberPreviousOffsets:I
         1: .line 4538
            aload 0 /* this */
            iload 1 /* offset */
            invokevirtual android.widget.Editor$HandleView.addPositionToTouchUpFilter:(I)V
         2: .line 4539
            return
        end local 1 // int offset
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/Editor$HandleView;
            0    3     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  private void addPositionToTouchUpFilter(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // int offset
         0: .line 4542
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetIndex:I
            iconst_1
            iadd
            iconst_5
            irem
            putfield android.widget.Editor$HandleView.mPreviousOffsetIndex:I
         1: .line 4543
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsets:[I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetIndex:I
            iload 1 /* offset */
            iastore
         2: .line 4544
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetsTimes:[J
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetIndex:I
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lastore
         3: .line 4545
            aload 0 /* this */
            dup
            getfield android.widget.Editor$HandleView.mNumberPreviousOffsets:I
            iconst_1
            iadd
            putfield android.widget.Editor$HandleView.mNumberPreviousOffsets:I
         4: .line 4546
            return
        end local 1 // int offset
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/widget/Editor$HandleView;
            0    5     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  private void filterOnTouchUp(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // boolean fromTouchScreen
         0: .line 4549
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lstore 2 /* now */
        start local 2 // long now
         1: .line 4550
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 4551
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetIndex:I
            istore 5 /* index */
        start local 5 // int index
         3: .line 4552
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mNumberPreviousOffsets:I
            iconst_5
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* iMax */
        start local 6 // int iMax
         4: .line 4553
            goto 7
         5: .line 4554
      StackMap locals: android.widget.Editor$HandleView int long int int int
      StackMap stack:
            iinc 4 /* i */ 1
         6: .line 4555
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetIndex:I
            iload 4 /* i */
            isub
            iconst_5
            iadd
            iconst_5
            irem
            istore 5 /* index */
         7: .line 4553
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 6 /* iMax */
            if_icmpge 8
            lload 2 /* now */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetsTimes:[J
            iload 5 /* index */
            laload
            lsub
            ldc 150
            lcmp
            iflt 5
         8: .line 4558
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifle 11
            iload 4 /* i */
            iload 6 /* iMax */
            if_icmpge 11
         9: .line 4559
            lload 2 /* now */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsetsTimes:[J
            iload 5 /* index */
            laload
            lsub
            ldc 350
            lcmp
            ifle 11
        10: .line 4560
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffsets:[I
            iload 5 /* index */
            iaload
            iconst_0
            iload 1 /* fromTouchScreen */
            invokevirtual android.widget.Editor$HandleView.positionAtCursorOffset:(IZZ)V
        11: .line 4562
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int iMax
        end local 5 // int index
        end local 4 // int i
        end local 2 // long now
        end local 1 // boolean fromTouchScreen
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Landroid/widget/Editor$HandleView;
            0   12     1  fromTouchScreen  Z
            1   12     2              now  J
            2   12     4                i  I
            3   12     5            index  I
            4   12     6             iMax  I
    MethodParameters:
                 Name  Flags
      fromTouchScreen  

  public boolean offsetHasBeenChanged();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4565
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mNumberPreviousOffsets:I
            iconst_1
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/Editor$HandleView;

  protected void onMeasure(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 4570
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getPreferredWidth:()I
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getPreferredHeight:()I
            invokevirtual android.widget.Editor$HandleView.setMeasuredDimension:(II)V
         1: .line 4571
            return
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Landroid/widget/Editor$HandleView;
            0    2     1   widthMeasureSpec  I
            0    2     2  heightMeasureSpec  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  public void invalidate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4575
            aload 0 /* this */
            invokespecial android.view.View.invalidate:()V
         1: .line 4576
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.isShowing:()Z
            ifeq 3
         2: .line 4577
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCurrentCursorOffset:()I
            iconst_1
            iconst_0
            invokevirtual android.widget.Editor$HandleView.positionAtCursorOffset:(IZZ)V
         3: .line 4579
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Editor$HandleView;

  private int getPreferredWidth();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4582
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mMinSize:I
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;

  private int getPreferredHeight();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4586
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mMinSize:I
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;

  public void show();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4590
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.isShowing:()Z
            ifeq 1
            return
         1: .line 4592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.getPositionListener:()Landroid/widget/Editor$PositionListener;
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.Editor$PositionListener.addSubscriber:(Landroid/widget/Editor$TextViewPositionListener;Z)V
         2: .line 4595
            aload 0 /* this */
            iconst_m1
            putfield android.widget.Editor$HandleView.mPreviousOffset:I
         3: .line 4596
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCurrentCursorOffset:()I
            iconst_0
            iconst_0
            invokevirtual android.widget.Editor$HandleView.positionAtCursorOffset:(IZZ)V
         4: .line 4597
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/widget/Editor$HandleView;

  protected void dismiss();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4600
            aload 0 /* this */
            iconst_0
            putfield android.widget.Editor$HandleView.mIsDragging:Z
         1: .line 4601
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mContainer:Landroid/widget/PopupWindow;
            invokevirtual android.widget.PopupWindow.dismiss:()V
         2: .line 4602
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.onDetached:()V
         3: .line 4603
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/widget/Editor$HandleView;

  public void hide();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4606
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.dismiss:()V
         1: .line 4608
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.getPositionListener:()Landroid/widget/Editor$PositionListener;
            aload 0 /* this */
            invokevirtual android.widget.Editor$PositionListener.removeSubscriber:(Landroid/widget/Editor$TextViewPositionListener;)V
         2: .line 4609
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/Editor$HandleView;

  public boolean isShowing();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4612
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mContainer:Landroid/widget/PopupWindow;
            invokevirtual android.widget.PopupWindow.isShowing:()Z
            ireturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;

  private boolean shouldShow();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4617
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIsDragging:Z
            ifeq 2
         1: .line 4618
            iconst_1
            ireturn
         2: .line 4621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.isInBatchEditMode:()Z
            ifeq 4
         3: .line 4622
            iconst_0
            ireturn
         4: .line 4625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
         5: .line 4626
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionX:I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHotspotX:I
            iadd
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            iadd
            i2f
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionY:I
            i2f
         6: .line 4625
            invokevirtual android.widget.TextView.isPositionVisible:(FF)Z
            ireturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/widget/Editor$HandleView;

  private void setVisible(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // boolean visible
         0: .line 4630
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mContainer:Landroid/widget/PopupWindow;
            invokevirtual android.widget.PopupWindow.getContentView:()Landroid/view/View;
            iload 1 /* visible */
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: android.view.View
         1: iconst_4
      StackMap locals: android.widget.Editor$HandleView int
      StackMap stack: android.view.View int
         2: invokevirtual android.view.View.setVisibility:(I)V
         3: .line 4631
            return
        end local 1 // boolean visible
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/widget/Editor$HandleView;
            0    4     1  visible  Z
    MethodParameters:
         Name  Flags
      visible  final

  public abstract int getCurrentCursorOffset();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected abstract void updateSelection(int);
    descriptor: (I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  protected abstract void updatePosition(float, float, boolean);
    descriptor: (FFZ)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      x                
      y                
      fromTouchScreen  

  protected abstract int getMagnifierHandleTrigger();
    descriptor: ()I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected boolean isAtRtlRun(android.text.Layout, int);
    descriptor: (Landroid/text/Layout;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.text.Layout layout
        start local 2 // int offset
         0: .line 4643
            aload 1 /* layout */
            iload 2 /* offset */
            invokevirtual android.text.Layout.isRtlCharAt:(I)Z
            ireturn
        end local 2 // int offset
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/widget/Editor$HandleView;
            0    1     1  layout  Landroid/text/Layout;
            0    1     2  offset  I
    MethodParameters:
        Name  Flags
      layout  
      offset  

  public float getHorizontal(android.text.Layout, int);
    descriptor: (Landroid/text/Layout;I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.text.Layout layout
        start local 2 // int offset
         0: .line 4648
            aload 1 /* layout */
            iload 2 /* offset */
            invokevirtual android.text.Layout.getPrimaryHorizontal:(I)F
            freturn
        end local 2 // int offset
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/widget/Editor$HandleView;
            0    1     1  layout  Landroid/text/Layout;
            0    1     2  offset  I
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
        Name  Flags
      layout  
      offset  

  protected int getOffsetAtCoordinate(android.text.Layout, int, float);
    descriptor: (Landroid/text/Layout;IF)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.text.Layout layout
        start local 2 // int line
        start local 3 // float x
         0: .line 4652
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            iload 2 /* line */
            fload 3 /* x */
            invokevirtual android.widget.TextView.getOffsetAtCoordinate:(IF)I
            ireturn
        end local 3 // float x
        end local 2 // int line
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/widget/Editor$HandleView;
            0    1     1  layout  Landroid/text/Layout;
            0    1     2    line  I
            0    1     3       x  F
    MethodParameters:
        Name  Flags
      layout  
      line    
      x       

  protected void positionAtCursorOffset(int, boolean, boolean);
    descriptor: (IZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // int offset
        start local 2 // boolean forceUpdatePosition
        start local 3 // boolean fromTouchScreen
         0: .line 4665
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.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 4666
            aload 4 /* layout */
            ifnonnull 4
         2: .line 4668
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.prepareCursorControllers:()V
         3: .line 4669
            return
         4: .line 4671
      StackMap locals: android.text.Layout
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 4 /* layout */
         5: .line 4673
            iload 1 /* offset */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPreviousOffset:I
            if_icmpeq 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* offsetChanged */
        start local 5 // boolean offsetChanged
         8: .line 4674
            iload 5 /* offsetChanged */
            ifne 9
            iload 2 /* forceUpdatePosition */
            ifeq 24
         9: .line 4675
      StackMap locals: int
      StackMap stack:
            iload 5 /* offsetChanged */
            ifeq 14
        10: .line 4676
            aload 0 /* this */
            iload 1 /* offset */
            invokevirtual android.widget.Editor$HandleView.updateSelection:(I)V
        11: .line 4677
            iload 3 /* fromTouchScreen */
            ifeq 13
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mHapticTextHandleEnabled:Z
            ifeq 13
        12: .line 4678
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            bipush 9
            invokevirtual android.widget.TextView.performHapticFeedback:(I)Z
            pop
        13: .line 4680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* offset */
            invokevirtual android.widget.Editor$HandleView.addPositionToTouchUpFilter:(I)V
        14: .line 4682
      StackMap locals:
      StackMap stack:
            aload 4 /* layout */
            iload 1 /* offset */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            istore 6 /* line */
        start local 6 // int line
        15: .line 4683
            aload 0 /* this */
            iload 6 /* line */
            putfield android.widget.Editor$HandleView.mPrevLine:I
        16: .line 4685
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* layout */
            iload 1 /* offset */
            invokevirtual android.widget.Editor$HandleView.getCursorHorizontalPosition:(Landroid/text/Layout;I)I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHotspotX:I
            isub
        17: .line 4686
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            isub
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCursorOffset:()I
            iadd
        18: .line 4685
            putfield android.widget.Editor$HandleView.mPositionX:I
        19: .line 4687
            aload 0 /* this */
            aload 4 /* layout */
            iload 6 /* line */
            invokevirtual android.text.Layout.getLineBottomWithoutSpacing:(I)I
            putfield android.widget.Editor$HandleView.mPositionY:I
        20: .line 4690
            aload 0 /* this */
            dup
            getfield android.widget.Editor$HandleView.mPositionX:I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.viewportToContentHorizontalOffset:()I
            iadd
            putfield android.widget.Editor$HandleView.mPositionX:I
        21: .line 4691
            aload 0 /* this */
            dup
            getfield android.widget.Editor$HandleView.mPositionY:I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.viewportToContentVerticalOffset:()I
            iadd
            putfield android.widget.Editor$HandleView.mPositionY:I
        22: .line 4693
            aload 0 /* this */
            iload 1 /* offset */
            putfield android.widget.Editor$HandleView.mPreviousOffset:I
        23: .line 4694
            aload 0 /* this */
            iconst_1
            putfield android.widget.Editor$HandleView.mPositionHasChanged:Z
        end local 6 // int line
        24: .line 4696
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean offsetChanged
        end local 4 // android.text.Layout layout
        end local 3 // boolean fromTouchScreen
        end local 2 // boolean forceUpdatePosition
        end local 1 // int offset
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Landroid/widget/Editor$HandleView;
            0   25     1               offset  I
            0   25     2  forceUpdatePosition  Z
            0   25     3      fromTouchScreen  Z
            1   25     4               layout  Landroid/text/Layout;
            8   25     5        offsetChanged  Z
           15   24     6                 line  I
    MethodParameters:
                     Name  Flags
      offset               
      forceUpdatePosition  
      fromTouchScreen      

  int getCursorHorizontalPosition(android.text.Layout, int);
    descriptor: (Landroid/text/Layout;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.text.Layout layout
        start local 2 // int offset
         0: .line 4706
            aload 0 /* this */
            aload 1 /* layout */
            iload 2 /* offset */
            invokevirtual android.widget.Editor$HandleView.getHorizontal:(Landroid/text/Layout;I)F
            ldc 0.5
            fsub
            f2i
            ireturn
        end local 2 // int offset
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/widget/Editor$HandleView;
            0    1     1  layout  Landroid/text/Layout;
            0    1     2  offset  I
    MethodParameters:
        Name  Flags
      layout  
      offset  

  public void updatePosition(int, int, boolean, boolean);
    descriptor: (IIZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // int parentPositionX
        start local 2 // int parentPositionY
        start local 3 // boolean parentPositionChanged
        start local 4 // boolean parentScrolled
         0: .line 4712
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCurrentCursorOffset:()I
            iload 4 /* parentScrolled */
            iconst_0
            invokevirtual android.widget.Editor$HandleView.positionAtCursorOffset:(IZZ)V
         1: .line 4713
            iload 3 /* parentPositionChanged */
            ifne 2
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionHasChanged:Z
            ifeq 21
         2: .line 4714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIsDragging:Z
            ifeq 9
         3: .line 4716
            iload 1 /* parentPositionX */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentX:I
            if_icmpne 4
            iload 2 /* parentPositionY */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            if_icmpeq 8
         4: .line 4717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.widget.Editor$HandleView.mTouchToWindowOffsetX:F
            iload 1 /* parentPositionX */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentX:I
            isub
            i2f
            fadd
            putfield android.widget.Editor$HandleView.mTouchToWindowOffsetX:F
         5: .line 4718
            aload 0 /* this */
            dup
            getfield android.widget.Editor$HandleView.mTouchToWindowOffsetY:F
            iload 2 /* parentPositionY */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            isub
            i2f
            fadd
            putfield android.widget.Editor$HandleView.mTouchToWindowOffsetY:F
         6: .line 4719
            aload 0 /* this */
            iload 1 /* parentPositionX */
            putfield android.widget.Editor$HandleView.mLastParentX:I
         7: .line 4720
            aload 0 /* this */
            iload 2 /* parentPositionY */
            putfield android.widget.Editor$HandleView.mLastParentY:I
         8: .line 4723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.onHandleMoved:()V
         9: .line 4726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.shouldShow:()Z
            ifeq 18
        10: .line 4728
            iconst_2
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionX:I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHotspotX:I
            iadd
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            iadd
            iastore
            dup
            iconst_1
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionY:I
            iastore
            astore 5 /* pts */
        start local 5 // int[] pts
        11: .line 4729
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            aload 5 /* pts */
            invokevirtual android.widget.TextView.transformFromViewToWindowSpace:([I)V
        12: .line 4730
            aload 5 /* pts */
            iconst_0
            dup2
            iaload
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHotspotX:I
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            iadd
            isub
            iastore
        13: .line 4732
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.isShowing:()Z
            ifeq 16
        14: .line 4733
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mContainer:Landroid/widget/PopupWindow;
            aload 5 /* pts */
            iconst_0
            iaload
            aload 5 /* pts */
            iconst_1
            iaload
            iconst_m1
            iconst_m1
            invokevirtual android.widget.PopupWindow.update:(IIII)V
        15: .line 4734
            goto 20
        16: .line 4735
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mContainer:Landroid/widget/PopupWindow;
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            iconst_0
            aload 5 /* pts */
            iconst_0
            iaload
            aload 5 /* pts */
            iconst_1
            iaload
            invokevirtual android.widget.PopupWindow.showAtLocation:(Landroid/view/View;III)V
        end local 5 // int[] pts
        17: .line 4737
            goto 20
        18: .line 4738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.isShowing:()Z
            ifeq 20
        19: .line 4739
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.dismiss:()V
        20: .line 4743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.Editor$HandleView.mPositionHasChanged:Z
        21: .line 4745
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean parentScrolled
        end local 3 // boolean parentPositionChanged
        end local 2 // int parentPositionY
        end local 1 // int parentPositionX
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   22     0                   this  Landroid/widget/Editor$HandleView;
            0   22     1        parentPositionX  I
            0   22     2        parentPositionY  I
            0   22     3  parentPositionChanged  Z
            0   22     4         parentScrolled  Z
           11   17     5                    pts  [I
    MethodParameters:
                       Name  Flags
      parentPositionX        
      parentPositionY        
      parentPositionChanged  
      parentScrolled         

  protected void onDraw(android.graphics.Canvas);
    descriptor: (Landroid/graphics/Canvas;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.graphics.Canvas c
         0: .line 4749
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
            istore 2 /* drawWidth */
        start local 2 // int drawWidth
         1: .line 4750
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            istore 3 /* left */
        start local 3 // int left
         2: .line 4752
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            iload 3 /* left */
            iconst_0
            iload 3 /* left */
            iload 2 /* drawWidth */
            iadd
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
            invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
         3: .line 4753
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            aload 1 /* c */
            invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
         4: .line 4754
            return
        end local 3 // int left
        end local 2 // int drawWidth
        end local 1 // android.graphics.Canvas c
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/widget/Editor$HandleView;
            0    5     1          c  Landroid/graphics/Canvas;
            1    5     2  drawWidth  I
            2    5     3       left  I
    MethodParameters:
      Name  Flags
      c     

  private int getHorizontalOffset();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4757
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getPreferredWidth:()I
            istore 1 /* width */
        start local 1 // int width
         1: .line 4758
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mDrawable:Landroid/graphics/drawable/Drawable;
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
            istore 2 /* drawWidth */
        start local 2 // int drawWidth
         2: .line 4760
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHorizontalGravity:I
            lookupswitch { // 3
                    3: 3
                    5: 7
                   17: 5
              default: 5
          }
         3: .line 4762
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* left */
        start local 3 // int left
         4: .line 4763
            goto 8
        end local 3 // int left
         5: .line 4766
      StackMap locals:
      StackMap stack:
            iload 1 /* width */
            iload 2 /* drawWidth */
            isub
            iconst_2
            idiv
            istore 3 /* left */
        start local 3 // int left
         6: .line 4767
            goto 8
        end local 3 // int left
         7: .line 4769
      StackMap locals:
      StackMap stack:
            iload 1 /* width */
            iload 2 /* drawWidth */
            isub
            istore 3 /* left */
        start local 3 // int left
         8: .line 4772
      StackMap locals: int
      StackMap stack:
            iload 3 /* left */
            ireturn
        end local 3 // int left
        end local 2 // int drawWidth
        end local 1 // int width
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Landroid/widget/Editor$HandleView;
            1    9     1      width  I
            2    9     2  drawWidth  I
            4    5     3       left  I
            6    7     3       left  I
            8    9     3       left  I

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

  private boolean tooLargeTextForMagnifier();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4781
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            invokevirtual android.widget.Magnifier.getHeight:()I
            i2f
         1: .line 4782
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            invokevirtual android.widget.Magnifier.getZoom:()F
         2: .line 4781
            fdiv
         3: .line 4780
            invokestatic java.lang.Math.round:(F)I
            i2f
            fstore 1 /* magnifierContentHeight */
        start local 1 // float magnifierContentHeight
         4: .line 4783
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getPaint:()Landroid/text/TextPaint;
            invokevirtual android.text.TextPaint.getFontMetrics:()Landroid/graphics/Paint$FontMetrics;
            astore 2 /* fontMetrics */
        start local 2 // android.graphics.Paint$FontMetrics fontMetrics
         5: .line 4784
            aload 2 /* fontMetrics */
            getfield android.graphics.Paint$FontMetrics.descent:F
            aload 2 /* fontMetrics */
            getfield android.graphics.Paint$FontMetrics.ascent:F
            fsub
            fstore 3 /* glyphHeight */
        start local 3 // float glyphHeight
         6: .line 4785
            fload 3 /* glyphHeight */
            fload 1 /* magnifierContentHeight */
            fcmpl
            ifle 7
            iconst_1
            ireturn
      StackMap locals: float android.graphics.Paint$FontMetrics float
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // float glyphHeight
        end local 2 // android.graphics.Paint$FontMetrics fontMetrics
        end local 1 // float magnifierContentHeight
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0                    this  Landroid/widget/Editor$HandleView;
            4    8     1  magnifierContentHeight  F
            5    8     2             fontMetrics  Landroid/graphics/Paint$FontMetrics;
            6    8     3             glyphHeight  F

  private boolean obtainMagnifierShowCoordinates(android.view.MotionEvent, android.graphics.PointF);
    descriptor: (Landroid/view/MotionEvent;Landroid/graphics/PointF;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.view.MotionEvent event
        start local 2 // android.graphics.PointF showPosInView
         0: .line 4797
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getMagnifierHandleTrigger:()I
            istore 3 /* trigger */
        start local 3 // int trigger
         1: .line 4800
            iload 3 /* trigger */
            tableswitch { // 0 - 2
                    0: 2
                    1: 5
                    2: 8
              default: 11
          }
         2: .line 4802
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getSelectionStart:()I
            istore 4 /* offset */
        start local 4 // int offset
         3: .line 4803
            iconst_m1
            istore 5 /* otherHandleOffset */
        start local 5 // int otherHandleOffset
         4: .line 4804
            goto 13
        end local 5 // int otherHandleOffset
        end local 4 // int offset
         5: .line 4806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getSelectionStart:()I
            istore 4 /* offset */
        start local 4 // int offset
         6: .line 4807
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getSelectionEnd:()I
            istore 5 /* otherHandleOffset */
        start local 5 // int otherHandleOffset
         7: .line 4808
            goto 13
        end local 5 // int otherHandleOffset
        end local 4 // int offset
         8: .line 4810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getSelectionEnd:()I
            istore 4 /* offset */
        start local 4 // int offset
         9: .line 4811
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getSelectionStart:()I
            istore 5 /* otherHandleOffset */
        start local 5 // int otherHandleOffset
        10: .line 4812
            goto 13
        end local 5 // int otherHandleOffset
        end local 4 // int offset
        11: .line 4814
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* offset */
        start local 4 // int offset
        12: .line 4815
            iconst_m1
            istore 5 /* otherHandleOffset */
        start local 5 // int otherHandleOffset
        13: .line 4819
      StackMap locals: int int
      StackMap stack:
            iload 4 /* offset */
            iconst_m1
            if_icmpne 15
        14: .line 4820
            iconst_0
            ireturn
        15: .line 4823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 6 /* layout */
        start local 6 // android.text.Layout layout
        16: .line 4824
            aload 6 /* layout */
            iload 4 /* offset */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            istore 7 /* lineNumber */
        start local 7 // int lineNumber
        17: .line 4827
            iload 5 /* otherHandleOffset */
            iconst_m1
            if_icmpeq 20
        18: .line 4828
            iload 7 /* lineNumber */
            aload 6 /* layout */
            iload 5 /* otherHandleOffset */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            if_icmpne 20
        19: .line 4827
            iconst_1
            goto 21
      StackMap locals: android.text.Layout int
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 8 /* sameLineSelection */
        start local 8 // boolean sameLineSelection
        22: .line 4829
            iload 8 /* sameLineSelection */
            ifeq 31
        23: .line 4830
            iload 4 /* offset */
            iload 5 /* otherHandleOffset */
            if_icmpge 24
            iconst_1
            goto 25
      StackMap locals: int
      StackMap stack:
        24: iconst_0
        25: .line 4831
      StackMap locals:
      StackMap stack: int
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 4 /* offset */
            invokevirtual android.widget.Editor$HandleView.getHorizontal:(Landroid/text/Layout;I)F
        26: .line 4832
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 5 /* otherHandleOffset */
            invokevirtual android.widget.Editor$HandleView.getHorizontal:(Landroid/text/Layout;I)F
        27: .line 4831
            fcmpg
            ifge 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
        29: .line 4832
      StackMap locals: android.widget.Editor$HandleView android.view.MotionEvent android.graphics.PointF int int int android.text.Layout int int
      StackMap stack: int int
            if_icmpeq 31
        30: .line 4829
            iconst_1
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 9 /* rtl */
        start local 9 // boolean rtl
        33: .line 4835
            iconst_2
            newarray 10
            astore 10 /* textViewLocationOnScreen */
        start local 10 // int[] textViewLocationOnScreen
        34: .line 4836
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            aload 10 /* textViewLocationOnScreen */
            invokevirtual android.widget.TextView.getLocationOnScreen:([I)V
        35: .line 4837
            aload 1 /* event */
            invokevirtual android.view.MotionEvent.getRawX:()F
            aload 10 /* textViewLocationOnScreen */
            iconst_0
            iaload
            i2f
            fsub
            fstore 11 /* touchXInView */
        start local 11 // float touchXInView
        36: .line 4838
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getTotalPaddingLeft:()I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getScrollX:()I
            isub
            i2f
            fstore 12 /* leftBound */
        start local 12 // float leftBound
        37: .line 4839
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getTotalPaddingLeft:()I
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getScrollX:()I
            isub
            i2f
            fstore 13 /* rightBound */
        start local 13 // float rightBound
        38: .line 4840
            iload 8 /* sameLineSelection */
            ifeq 43
            iload 3 /* trigger */
            iconst_2
            if_icmpne 39
            iconst_1
            goto 40
      StackMap locals: android.widget.Editor$HandleView android.view.MotionEvent android.graphics.PointF int int int android.text.Layout int int int int[] float float float
      StackMap stack:
        39: iconst_0
      StackMap locals:
      StackMap stack: int
        40: iload 9 /* rtl */
            ixor
            ifeq 43
        41: .line 4841
            fload 12 /* leftBound */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 5 /* otherHandleOffset */
            invokevirtual android.widget.Editor$HandleView.getHorizontal:(Landroid/text/Layout;I)F
            fadd
            fstore 12 /* leftBound */
        42: .line 4842
            goto 44
        43: .line 4843
      StackMap locals:
      StackMap stack:
            fload 12 /* leftBound */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 7 /* lineNumber */
            invokevirtual android.text.Layout.getLineLeft:(I)F
            fadd
            fstore 12 /* leftBound */
        44: .line 4845
      StackMap locals:
      StackMap stack:
            iload 8 /* sameLineSelection */
            ifeq 49
            iload 3 /* trigger */
            iconst_1
            if_icmpne 45
            iconst_1
            goto 46
      StackMap locals:
      StackMap stack:
        45: iconst_0
      StackMap locals:
      StackMap stack: int
        46: iload 9 /* rtl */
            ixor
            ifeq 49
        47: .line 4846
            fload 13 /* rightBound */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 5 /* otherHandleOffset */
            invokevirtual android.widget.Editor$HandleView.getHorizontal:(Landroid/text/Layout;I)F
            fadd
            fstore 13 /* rightBound */
        48: .line 4847
            goto 50
        49: .line 4848
      StackMap locals:
      StackMap stack:
            fload 13 /* rightBound */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 7 /* lineNumber */
            invokevirtual android.text.Layout.getLineRight:(I)F
            fadd
            fstore 13 /* rightBound */
        50: .line 4850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            invokevirtual android.widget.Magnifier.getWidth:()I
            i2f
        51: .line 4851
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
            invokevirtual android.widget.Magnifier.getZoom:()F
        52: .line 4850
            fdiv
            invokestatic java.lang.Math.round:(F)I
            i2f
            fstore 14 /* contentWidth */
        start local 14 // float contentWidth
        53: .line 4852
            fload 11 /* touchXInView */
            fload 12 /* leftBound */
            fload 14 /* contentWidth */
            fconst_2
            fdiv
            fsub
            fcmpg
            iflt 55
        54: .line 4853
            fload 11 /* touchXInView */
            fload 13 /* rightBound */
            fload 14 /* contentWidth */
            fconst_2
            fdiv
            fadd
            fcmpl
            ifle 56
        55: .line 4855
      StackMap locals: float
      StackMap stack:
            iconst_0
            ireturn
        56: .line 4857
      StackMap locals:
      StackMap stack:
            aload 2 /* showPosInView */
            fload 12 /* leftBound */
            fload 13 /* rightBound */
            fload 11 /* touchXInView */
            invokestatic java.lang.Math.min:(FF)F
            invokestatic java.lang.Math.max:(FF)F
            putfield android.graphics.PointF.x:F
        57: .line 4860
            aload 2 /* showPosInView */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 7 /* lineNumber */
            invokevirtual android.text.Layout.getLineTop:(I)I
        58: .line 4861
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            iload 7 /* lineNumber */
            invokevirtual android.text.Layout.getLineBottom:(I)I
            iadd
            i2f
            fconst_2
            fdiv
        59: .line 4862
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getTotalPaddingTop:()I
            i2f
            fadd
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getScrollY:()I
            i2f
            fsub
        60: .line 4860
            putfield android.graphics.PointF.y:F
        61: .line 4864
            iconst_1
            ireturn
        end local 14 // float contentWidth
        end local 13 // float rightBound
        end local 12 // float leftBound
        end local 11 // float touchXInView
        end local 10 // int[] textViewLocationOnScreen
        end local 9 // boolean rtl
        end local 8 // boolean sameLineSelection
        end local 7 // int lineNumber
        end local 6 // android.text.Layout layout
        end local 5 // int otherHandleOffset
        end local 4 // int offset
        end local 3 // int trigger
        end local 2 // android.graphics.PointF showPosInView
        end local 1 // android.view.MotionEvent event
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   62     0                      this  Landroid/widget/Editor$HandleView;
            0   62     1                     event  Landroid/view/MotionEvent;
            0   62     2             showPosInView  Landroid/graphics/PointF;
            1   62     3                   trigger  I
            3    5     4                    offset  I
            6    8     4                    offset  I
            9   11     4                    offset  I
           12   62     4                    offset  I
            4    5     5         otherHandleOffset  I
            7    8     5         otherHandleOffset  I
           10   11     5         otherHandleOffset  I
           13   62     5         otherHandleOffset  I
           16   62     6                    layout  Landroid/text/Layout;
           17   62     7                lineNumber  I
           22   62     8         sameLineSelection  Z
           33   62     9                       rtl  Z
           34   62    10  textViewLocationOnScreen  [I
           36   62    11              touchXInView  F
           37   62    12                 leftBound  F
           38   62    13                rightBound  F
           53   62    14              contentWidth  F
    MethodParameters:
               Name  Flags
      event          final
      showPosInView  final

  private boolean handleOverlapsMagnifier(android.widget.Editor$HandleView, android.graphics.Rect);
    descriptor: (Landroid/widget/Editor$HandleView;Landroid/graphics/Rect;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.widget.Editor$HandleView handle
        start local 2 // android.graphics.Rect magnifierRect
         0: .line 4869
            aload 1 /* handle */
            getfield android.widget.Editor$HandleView.mContainer:Landroid/widget/PopupWindow;
            astore 3 /* window */
        start local 3 // android.widget.PopupWindow window
         1: .line 4870
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.hasDecorView:()Z
            ifne 3
         2: .line 4871
            iconst_0
            ireturn
         3: .line 4873
      StackMap locals: android.widget.PopupWindow
      StackMap stack:
            new android.graphics.Rect
            dup
         4: .line 4874
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.getDecorViewLayoutParams:()Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.x:I
         5: .line 4875
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.getDecorViewLayoutParams:()Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.y:I
         6: .line 4876
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.getDecorViewLayoutParams:()Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.x:I
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.getContentView:()Landroid/view/View;
            invokevirtual android.view.View.getWidth:()I
            iadd
         7: .line 4877
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.getDecorViewLayoutParams:()Landroid/view/WindowManager$LayoutParams;
            getfield android.view.WindowManager$LayoutParams.y:I
            aload 3 /* window */
            invokevirtual android.widget.PopupWindow.getContentView:()Landroid/view/View;
            invokevirtual android.view.View.getHeight:()I
            iadd
         8: .line 4873
            invokespecial android.graphics.Rect.<init>:(IIII)V
            astore 4 /* handleRect */
        start local 4 // android.graphics.Rect handleRect
         9: .line 4878
            aload 4 /* handleRect */
            aload 2 /* magnifierRect */
            invokestatic android.graphics.Rect.intersects:(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
            ireturn
        end local 4 // android.graphics.Rect handleRect
        end local 3 // android.widget.PopupWindow window
        end local 2 // android.graphics.Rect magnifierRect
        end local 1 // android.widget.Editor$HandleView handle
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Landroid/widget/Editor$HandleView;
            0   10     1         handle  Landroid/widget/Editor$HandleView;
            0   10     2  magnifierRect  Landroid/graphics/Rect;
            1   10     3         window  Landroid/widget/PopupWindow;
            9   10     4     handleRect  Landroid/graphics/Rect;
    MethodParameters:
               Name  Flags
      handle         final
      magnifierRect  final

  private android.widget.Editor$HandleView getOtherSelectionHandle();
    descriptor: ()Landroid/widget/Editor$HandleView;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4882
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.getSelectionController:()Landroid/widget/Editor$SelectionModifierCursorController;
            astore 1 /* controller */
        start local 1 // android.widget.Editor$SelectionModifierCursorController controller
         1: .line 4883
            aload 1 /* controller */
            ifnull 2
            aload 1 /* controller */
            invokevirtual android.widget.Editor$SelectionModifierCursorController.isActive:()Z
            ifne 3
         2: .line 4884
      StackMap locals: android.widget.Editor$SelectionModifierCursorController
      StackMap stack:
            aconst_null
            areturn
         3: .line 4886
      StackMap locals:
      StackMap stack:
            aload 1 /* controller */
            getfield android.widget.Editor$SelectionModifierCursorController.mStartHandle:Landroid/widget/Editor$SelectionHandleView;
            aload 0 /* this */
            if_acmpeq 5
         4: .line 4887
            aload 1 /* controller */
            getfield android.widget.Editor$SelectionModifierCursorController.mStartHandle:Landroid/widget/Editor$SelectionHandleView;
            goto 6
         5: .line 4888
      StackMap locals:
      StackMap stack:
            aload 1 /* controller */
            getfield android.widget.Editor$SelectionModifierCursorController.mEndHandle:Landroid/widget/Editor$SelectionHandleView;
         6: .line 4886
      StackMap locals:
      StackMap stack: android.widget.Editor$SelectionHandleView
            areturn
        end local 1 // android.widget.Editor$SelectionModifierCursorController controller
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Landroid/widget/Editor$HandleView;
            1    7     1  controller  Landroid/widget/Editor$SelectionModifierCursorController;

  protected final void updateMagnifier(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.view.MotionEvent event
         0: .line 4910
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            ifnonnull 2
         1: .line 4911
            return
         2: .line 4914
      StackMap locals:
      StackMap stack:
            new android.graphics.PointF
            dup
            invokespecial android.graphics.PointF.<init>:()V
            astore 2 /* showPosInView */
        start local 2 // android.graphics.PointF showPosInView
         3: .line 4915
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.tooLargeTextForMagnifier:()Z
            ifne 6
         4: .line 4916
            aload 0 /* this */
            aload 1 /* event */
            aload 2 /* showPosInView */
            invokevirtual android.widget.Editor$HandleView.obtainMagnifierShowCoordinates:(Landroid/view/MotionEvent;Landroid/graphics/PointF;)Z
            ifeq 6
         5: .line 4915
            iconst_1
            goto 7
      StackMap locals: android.graphics.PointF
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* shouldShow */
        start local 3 // boolean shouldShow
         8: .line 4917
            iload 3 /* shouldShow */
            ifeq 16
         9: .line 4919
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            iconst_1
            putfield android.widget.Editor.mRenderCursorRegardlessTiming:Z
        10: .line 4920
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.invalidateCursorPath:()V
        11: .line 4921
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.suspendBlink:()V
        12: .line 4922
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            getfield android.widget.Editor$MagnifierMotionAnimator.mMagnifier:Landroid/widget/Magnifier;
        13: .line 4923
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHandlesVisibilityCallback:Landroid/widget/Magnifier$Callback;
            invokevirtual android.widget.Magnifier.setOnOperationCompleteCallback:(Landroid/widget/Magnifier$Callback;)V
        14: .line 4925
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            aload 2 /* showPosInView */
            getfield android.graphics.PointF.x:F
            aload 2 /* showPosInView */
            getfield android.graphics.PointF.y:F
            invokevirtual android.widget.Editor$MagnifierMotionAnimator.show:(FF)V
        15: .line 4926
            goto 17
        16: .line 4927
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.dismissMagnifier:()V
        17: .line 4929
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean shouldShow
        end local 2 // android.graphics.PointF showPosInView
        end local 1 // android.view.MotionEvent event
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Landroid/widget/Editor$HandleView;
            0   18     1          event  Landroid/view/MotionEvent;
            3   18     2  showPosInView  Landroid/graphics/PointF;
            8   18     3     shouldShow  Z
    MethodParameters:
       Name  Flags
      event  final

  protected final void dismissMagnifier();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 4932
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            ifnull 8
         1: .line 4933
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
            invokevirtual android.widget.Editor$MagnifierMotionAnimator.dismiss:()V
         2: .line 4934
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            iconst_0
            putfield android.widget.Editor.mRenderCursorRegardlessTiming:Z
         3: .line 4935
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.resumeBlink:()V
         4: .line 4936
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.Editor$HandleView.setVisible:(Z)V
         5: .line 4937
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getOtherSelectionHandle:()Landroid/widget/Editor$HandleView;
            astore 1 /* otherHandle */
        start local 1 // android.widget.Editor$HandleView otherHandle
         6: .line 4938
            aload 1 /* otherHandle */
            ifnull 8
         7: .line 4939
            aload 1 /* otherHandle */
            iconst_1
            invokevirtual android.widget.Editor$HandleView.setVisible:(Z)V
        end local 1 // android.widget.Editor$HandleView otherHandle
         8: .line 4942
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/widget/Editor$HandleView;
            6    8     1  otherHandle  Landroid/widget/Editor$HandleView;

  public boolean onTouchEvent(android.view.MotionEvent);
    descriptor: (Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // android.widget.Editor$HandleView this
        start local 1 // android.view.MotionEvent ev
         0: .line 4946
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            aload 1 /* ev */
            invokevirtual android.widget.Editor.updateFloatingToolbarVisibility:(Landroid/view/MotionEvent;)V
         1: .line 4948
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getActionMasked:()I
            tableswitch { // 0 - 3
                    0: 2
                    1: 33
                    2: 15
                    3: 34
              default: 36
          }
         2: .line 4950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getCurrentCursorOffset:()I
            invokevirtual android.widget.Editor$HandleView.startTouchUpFilter:(I)V
         3: .line 4952
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.this$0:Landroid/widget/Editor;
            invokevirtual android.widget.Editor.getPositionListener:()Landroid/widget/Editor$PositionListener;
            astore 2 /* positionListener */
        start local 2 // android.widget.Editor$PositionListener positionListener
         4: .line 4953
            aload 0 /* this */
            aload 2 /* positionListener */
            invokevirtual android.widget.Editor$PositionListener.getPositionX:()I
            putfield android.widget.Editor$HandleView.mLastParentX:I
         5: .line 4954
            aload 0 /* this */
            aload 2 /* positionListener */
            invokevirtual android.widget.Editor$PositionListener.getPositionY:()I
            putfield android.widget.Editor$HandleView.mLastParentY:I
         6: .line 4955
            aload 0 /* this */
            aload 2 /* positionListener */
            invokevirtual android.widget.Editor$PositionListener.getPositionXOnScreen:()I
            putfield android.widget.Editor$HandleView.mLastParentXOnScreen:I
         7: .line 4956
            aload 0 /* this */
            aload 2 /* positionListener */
            invokevirtual android.widget.Editor$PositionListener.getPositionYOnScreen:()I
            putfield android.widget.Editor$HandleView.mLastParentYOnScreen:I
         8: .line 4958
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawX:()F
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentXOnScreen:I
            i2f
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentX:I
            i2f
            fadd
            fstore 3 /* xInWindow */
        start local 3 // float xInWindow
         9: .line 4959
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawY:()F
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentYOnScreen:I
            i2f
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            i2f
            fadd
            fstore 4 /* yInWindow */
        start local 4 // float yInWindow
        10: .line 4960
            aload 0 /* this */
            fload 3 /* xInWindow */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionX:I
            i2f
            fsub
            putfield android.widget.Editor$HandleView.mTouchToWindowOffsetX:F
        11: .line 4961
            aload 0 /* this */
            fload 4 /* yInWindow */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionY:I
            i2f
            fsub
            putfield android.widget.Editor$HandleView.mTouchToWindowOffsetY:F
        12: .line 4963
            aload 0 /* this */
            iconst_1
            putfield android.widget.Editor$HandleView.mIsDragging:Z
        13: .line 4964
            aload 0 /* this */
            iconst_m1
            putfield android.widget.Editor$HandleView.mPreviousLineTouched:I
        14: .line 4965
            goto 36
        end local 4 // float yInWindow
        end local 3 // float xInWindow
        end local 2 // android.widget.Editor$PositionListener positionListener
        15: .line 4969
      StackMap locals:
      StackMap stack:
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawX:()F
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentXOnScreen:I
            i2f
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentX:I
            i2f
            fadd
            fstore 2 /* xInWindow */
        start local 2 // float xInWindow
        16: .line 4970
            aload 1 /* ev */
            invokevirtual android.view.MotionEvent.getRawY:()F
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentYOnScreen:I
            i2f
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            i2f
            fadd
            fstore 3 /* yInWindow */
        start local 3 // float yInWindow
        17: .line 4973
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mTouchToWindowOffsetY:F
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            i2f
            fsub
            fstore 4 /* previousVerticalOffset */
        start local 4 // float previousVerticalOffset
        18: .line 4974
            fload 3 /* yInWindow */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mPositionY:I
            i2f
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            i2f
            fsub
            fstore 5 /* currentVerticalOffset */
        start local 5 // float currentVerticalOffset
        19: .line 4976
            fload 4 /* previousVerticalOffset */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIdealVerticalOffset:F
            fcmpg
            ifge 23
        20: .line 4977
            fload 5 /* currentVerticalOffset */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIdealVerticalOffset:F
            invokestatic java.lang.Math.min:(FF)F
            fstore 6 /* newVerticalOffset */
        start local 6 // float newVerticalOffset
        21: .line 4978
            fload 6 /* newVerticalOffset */
            fload 4 /* previousVerticalOffset */
            invokestatic java.lang.Math.max:(FF)F
            fstore 6 /* newVerticalOffset */
        22: .line 4979
            goto 25
        end local 6 // float newVerticalOffset
        23: .line 4980
      StackMap locals: android.widget.Editor$HandleView android.view.MotionEvent float float float float
      StackMap stack:
            fload 5 /* currentVerticalOffset */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIdealVerticalOffset:F
            invokestatic java.lang.Math.max:(FF)F
            fstore 6 /* newVerticalOffset */
        start local 6 // float newVerticalOffset
        24: .line 4981
            fload 6 /* newVerticalOffset */
            fload 4 /* previousVerticalOffset */
            invokestatic java.lang.Math.min:(FF)F
            fstore 6 /* newVerticalOffset */
        25: .line 4983
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            fload 6 /* newVerticalOffset */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mLastParentY:I
            i2f
            fadd
            putfield android.widget.Editor$HandleView.mTouchToWindowOffsetY:F
        26: .line 4986
            fload 2 /* xInWindow */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mTouchToWindowOffsetX:F
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mHotspotX:I
            i2f
            fadd
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.getHorizontalOffset:()I
            i2f
            fadd
        27: .line 4985
            fstore 7 /* newPosX */
        start local 7 // float newPosX
        28: .line 4987
            fload 3 /* yInWindow */
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mTouchToWindowOffsetY:F
            fsub
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mTouchOffsetY:F
            fadd
            fstore 8 /* newPosY */
        start local 8 // float newPosY
        29: .line 4989
            aload 0 /* this */
            fload 7 /* newPosX */
            fload 8 /* newPosY */
        30: .line 4990
            aload 1 /* ev */
            sipush 4098
            invokevirtual android.view.MotionEvent.isFromSource:(I)Z
        31: .line 4989
            invokevirtual android.widget.Editor$HandleView.updatePosition:(FFZ)V
        32: .line 4991
            goto 36
        end local 8 // float newPosY
        end local 7 // float newPosX
        end local 6 // float newVerticalOffset
        end local 5 // float currentVerticalOffset
        end local 4 // float previousVerticalOffset
        end local 3 // float yInWindow
        end local 2 // float xInWindow
        33: .line 4995
      StackMap locals: android.widget.Editor$HandleView android.view.MotionEvent
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ev */
            sipush 4098
            invokevirtual android.view.MotionEvent.isFromSource:(I)Z
            invokevirtual android.widget.Editor$HandleView.filterOnTouchUp:(Z)V
        34: .line 4998
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.Editor$HandleView.mIsDragging:Z
        35: .line 4999
            aload 0 /* this */
            invokevirtual android.widget.Editor$HandleView.updateDrawable:()V
        36: .line 5002
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // android.view.MotionEvent ev
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   37     0                    this  Landroid/widget/Editor$HandleView;
            0   37     1                      ev  Landroid/view/MotionEvent;
            4   15     2        positionListener  Landroid/widget/Editor$PositionListener;
            9   15     3               xInWindow  F
           10   15     4               yInWindow  F
           16   33     2               xInWindow  F
           17   33     3               yInWindow  F
           18   33     4  previousVerticalOffset  F
           19   33     5   currentVerticalOffset  F
           21   23     6       newVerticalOffset  F
           24   33     6       newVerticalOffset  F
           28   33     7                 newPosX  F
           29   33     8                 newPosY  F
    MethodParameters:
      Name  Flags
      ev    

  public boolean isDragging();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 5006
            aload 0 /* this */
            getfield android.widget.Editor$HandleView.mIsDragging:Z
            ireturn
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;

  void onHandleMoved();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 5009
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;

  public void onDetached();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.widget.Editor$HandleView this
         0: .line 5011
            return
        end local 0 // android.widget.Editor$HandleView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/Editor$HandleView;
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
  public FontMetrics = android.graphics.Paint$FontMetrics of android.graphics.Paint
  public LayoutParams = android.view.WindowManager$LayoutParams of android.view.WindowManager
  public abstract HandleView = android.widget.Editor$HandleView of android.widget.Editor
  private MagnifierMotionAnimator = android.widget.Editor$MagnifierMotionAnimator of android.widget.Editor
  private PositionListener = android.widget.Editor$PositionListener of android.widget.Editor
  SelectionModifierCursorController = android.widget.Editor$SelectionModifierCursorController of android.widget.Editor
  private abstract TextViewPositionListener = android.widget.Editor$TextViewPositionListener of android.widget.Editor
  public abstract Callback = android.widget.Magnifier$Callback of android.widget.Magnifier
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()