class android.widget.Editor$CorrectionHighlighter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.widget.Editor$CorrectionHighlighter
  super_class: java.lang.Object
{
  private final android.graphics.Path mPath;
    descriptor: Landroid/graphics/Path;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

  private android.graphics.RectF mTempRectF;
    descriptor: Landroid/graphics/RectF;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>(android.widget.Editor);
    descriptor: (Landroid/widget/Editor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.Editor$CorrectionHighlighter this
         0: .line 6161
            aload 0 /* this */
            aload 1
            putfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 6154
            aload 0 /* this */
            new android.graphics.Path
            dup
            invokespecial android.graphics.Path.<init>:()V
            putfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
         2: .line 6155
            aload 0 /* this */
            new android.graphics.Paint
            dup
            iconst_1
            invokespecial android.graphics.Paint.<init>:(I)V
            putfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
         3: .line 6162
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
         4: .line 6163
            aload 1
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getCompatibilityInfo:()Landroid/content/res/CompatibilityInfo;
            getfield android.content.res.CompatibilityInfo.applicationScale:F
         5: .line 6162
            invokevirtual android.graphics.Paint.setCompatibilityScaling:(F)V
         6: .line 6164
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
            getstatic android.graphics.Paint$Style.FILL:Landroid/graphics/Paint$Style;
            invokevirtual android.graphics.Paint.setStyle:(Landroid/graphics/Paint$Style;)V
         7: .line 6165
            return
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/widget/Editor$CorrectionHighlighter;
    MethodParameters:
        Name  Flags
      this$0  final

  public void highlight(android.view.inputmethod.CorrectionInfo);
    descriptor: (Landroid/view/inputmethod/CorrectionInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.Editor$CorrectionHighlighter this
        start local 1 // android.view.inputmethod.CorrectionInfo info
         0: .line 6168
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual android.view.inputmethod.CorrectionInfo.getOffset:()I
            putfield android.widget.Editor$CorrectionHighlighter.mStart:I
         1: .line 6169
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mStart:I
            aload 1 /* info */
            invokevirtual android.view.inputmethod.CorrectionInfo.getNewText:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            iadd
            putfield android.widget.Editor$CorrectionHighlighter.mEnd:I
         2: .line 6170
            aload 0 /* this */
            invokestatic android.os.SystemClock.uptimeMillis:()J
            putfield android.widget.Editor$CorrectionHighlighter.mFadingStartTime:J
         3: .line 6172
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mStart:I
            iflt 4
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mEnd:I
            ifge 5
         4: .line 6173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$CorrectionHighlighter.stopAnimation:()V
         5: .line 6175
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.inputmethod.CorrectionInfo info
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/widget/Editor$CorrectionHighlighter;
            0    6     1  info  Landroid/view/inputmethod/CorrectionInfo;
    MethodParameters:
      Name  Flags
      info  

  public void draw(android.graphics.Canvas, int);
    descriptor: (Landroid/graphics/Canvas;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.Editor$CorrectionHighlighter this
        start local 1 // android.graphics.Canvas canvas
        start local 2 // int cursorOffsetVertical
         0: .line 6178
            aload 0 /* this */
            invokevirtual android.widget.Editor$CorrectionHighlighter.updatePath:()Z
            ifeq 8
            aload 0 /* this */
            invokevirtual android.widget.Editor$CorrectionHighlighter.updatePaint:()Z
            ifeq 8
         1: .line 6179
            iload 2 /* cursorOffsetVertical */
            ifeq 3
         2: .line 6180
            aload 1 /* canvas */
            fconst_0
            iload 2 /* cursorOffsetVertical */
            i2f
            invokevirtual android.graphics.Canvas.translate:(FF)V
         3: .line 6183
      StackMap locals:
      StackMap stack:
            aload 1 /* canvas */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
            invokevirtual android.graphics.Canvas.drawPath:(Landroid/graphics/Path;Landroid/graphics/Paint;)V
         4: .line 6185
            iload 2 /* cursorOffsetVertical */
            ifeq 6
         5: .line 6186
            aload 1 /* canvas */
            fconst_0
            iload 2 /* cursorOffsetVertical */
            ineg
            i2f
            invokevirtual android.graphics.Canvas.translate:(FF)V
         6: .line 6188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.Editor$CorrectionHighlighter.invalidate:(Z)V
         7: .line 6189
            goto 10
         8: .line 6190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.Editor$CorrectionHighlighter.stopAnimation:()V
         9: .line 6191
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.Editor$CorrectionHighlighter.invalidate:(Z)V
        10: .line 6193
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int cursorOffsetVertical
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Landroid/widget/Editor$CorrectionHighlighter;
            0   11     1                canvas  Landroid/graphics/Canvas;
            0   11     2  cursorOffsetVertical  I
    MethodParameters:
                      Name  Flags
      canvas                
      cursorOffsetVertical  

  private boolean updatePaint();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // android.widget.Editor$CorrectionHighlighter this
         0: .line 6196
            invokestatic android.os.SystemClock.uptimeMillis:()J
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mFadingStartTime:J
            lsub
            lstore 1 /* duration */
        start local 1 // long duration
         1: .line 6197
            lload 1 /* duration */
            ldc 400
            lcmp
            ifle 2
            iconst_0
            ireturn
         2: .line 6199
      StackMap locals: long
      StackMap stack:
            fconst_1
            lload 1 /* duration */
            l2f
            ldc 400.0
            fdiv
            fsub
            fstore 3 /* coef */
        start local 3 // float coef
         3: .line 6200
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            getfield android.widget.TextView.mHighlightColor:I
            invokestatic android.graphics.Color.alpha:(I)I
            istore 4 /* highlightColorAlpha */
        start local 4 // int highlightColorAlpha
         4: .line 6201
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            getfield android.widget.TextView.mHighlightColor:I
            ldc 16777215
            iand
         5: .line 6202
            iload 4 /* highlightColorAlpha */
            i2f
            fload 3 /* coef */
            fmul
            f2i
            bipush 24
            ishl
         6: .line 6201
            iadd
            istore 5 /* color */
        start local 5 // int color
         7: .line 6203
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
            iload 5 /* color */
            invokevirtual android.graphics.Paint.setColor:(I)V
         8: .line 6204
            iconst_1
            ireturn
        end local 5 // int color
        end local 4 // int highlightColorAlpha
        end local 3 // float coef
        end local 1 // long duration
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Landroid/widget/Editor$CorrectionHighlighter;
            1    9     1             duration  J
            3    9     3                 coef  F
            4    9     4  highlightColorAlpha  I
            7    9     5                color  I

  private boolean updatePath();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.widget.Editor$CorrectionHighlighter this
         0: .line 6208
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.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
         1: .line 6209
            aload 1 /* layout */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 6212
      StackMap locals: android.text.Layout
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            istore 2 /* length */
        start local 2 // int length
         3: .line 6213
            iload 2 /* length */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mStart:I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* start */
        start local 3 // int start
         4: .line 6214
            iload 2 /* length */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mEnd:I
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* end */
        start local 4 // int end
         5: .line 6216
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
            invokevirtual android.graphics.Path.reset:()V
         6: .line 6217
            aload 1 /* layout */
            iload 3 /* start */
            iload 4 /* end */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
            invokevirtual android.text.Layout.getSelectionPath:(IILandroid/graphics/Path;)V
         7: .line 6218
            iconst_1
            ireturn
        end local 4 // int end
        end local 3 // int start
        end local 2 // int length
        end local 1 // android.text.Layout layout
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Landroid/widget/Editor$CorrectionHighlighter;
            1    8     1  layout  Landroid/text/Layout;
            3    8     2  length  I
            4    8     3   start  I
            5    8     4     end  I

  private void invalidate(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // android.widget.Editor$CorrectionHighlighter this
        start local 1 // boolean delayed
         0: .line 6222
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            ifnonnull 1
            return
         1: .line 6224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            ifnonnull 2
            aload 0 /* this */
            new android.graphics.RectF
            dup
            invokespecial android.graphics.RectF.<init>:()V
            putfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
         2: .line 6225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            iconst_0
            invokevirtual android.graphics.Path.computeBounds:(Landroid/graphics/RectF;Z)V
         3: .line 6227
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getCompoundPaddingLeft:()I
            istore 2 /* left */
        start local 2 // int left
         4: .line 6228
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            invokevirtual android.widget.TextView.getExtendedPaddingTop:()I
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            iconst_1
            invokevirtual android.widget.TextView.getVerticalOffset:(Z)I
            iadd
            istore 3 /* top */
        start local 3 // int top
         5: .line 6230
            iload 1 /* delayed */
            ifeq 11
         6: .line 6231
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
         7: .line 6232
            iload 2 /* left */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.left:F
            f2i
            iadd
            iload 3 /* top */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.top:F
            f2i
            iadd
         8: .line 6233
            iload 2 /* left */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.right:F
            f2i
            iadd
            iload 3 /* top */
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.bottom:F
            f2i
            iadd
         9: .line 6231
            invokevirtual android.widget.TextView.postInvalidateOnAnimation:(IIII)V
        10: .line 6234
            goto 14
        11: .line 6235
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.left:F
            f2i
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.top:F
            f2i
        12: .line 6236
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.right:F
            f2i
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
            getfield android.graphics.RectF.bottom:F
            f2i
        13: .line 6235
            invokevirtual android.widget.TextView.postInvalidate:(IIII)V
        14: .line 6238
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int top
        end local 2 // int left
        end local 1 // boolean delayed
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Landroid/widget/Editor$CorrectionHighlighter;
            0   15     1  delayed  Z
            4   15     2     left  I
            5   15     3      top  I
    MethodParameters:
         Name  Flags
      delayed  

  private void stopAnimation();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.Editor$CorrectionHighlighter this
         0: .line 6241
            aload 0 /* this */
            getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
            aconst_null
            putfield android.widget.Editor.mCorrectionHighlighter:Landroid/widget/Editor$CorrectionHighlighter;
         1: .line 6242
            return
        end local 0 // android.widget.Editor$CorrectionHighlighter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/Editor$CorrectionHighlighter;
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
  public final Style = android.graphics.Paint$Style of android.graphics.Paint
  private CorrectionHighlighter = android.widget.Editor$CorrectionHighlighter of android.widget.Editor