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 0: aload 0
aload 1
putfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
putfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
2: aload 0
new android.graphics.Paint
dup
iconst_1
invokespecial android.graphics.Paint.<init>:(I)V
putfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
3: aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
4: 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: invokevirtual android.graphics.Paint.setCompatibilityScaling:(F)V
6: aload 0
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: return
end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual android.view.inputmethod.CorrectionInfo.getOffset:()I
putfield android.widget.Editor$CorrectionHighlighter.mStart:I
1: aload 0
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mStart:I
aload 1
invokevirtual android.view.inputmethod.CorrectionInfo.getNewText:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
iadd
putfield android.widget.Editor$CorrectionHighlighter.mEnd:I
2: aload 0
invokestatic android.os.SystemClock.uptimeMillis:()J
putfield android.widget.Editor$CorrectionHighlighter.mFadingStartTime:J
3: aload 0
getfield android.widget.Editor$CorrectionHighlighter.mStart:I
iflt 4
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mEnd:I
ifge 5
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.Editor$CorrectionHighlighter.stopAnimation:()V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual android.widget.Editor$CorrectionHighlighter.updatePath:()Z
ifeq 8
aload 0
invokevirtual android.widget.Editor$CorrectionHighlighter.updatePaint:()Z
ifeq 8
1: iload 2
ifeq 3
2: aload 1
fconst_0
iload 2
i2f
invokevirtual android.graphics.Canvas.translate:(FF)V
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
invokevirtual android.graphics.Canvas.drawPath:(Landroid/graphics/Path;Landroid/graphics/Paint;)V
4: iload 2
ifeq 6
5: aload 1
fconst_0
iload 2
ineg
i2f
invokevirtual android.graphics.Canvas.translate:(FF)V
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual android.widget.Editor$CorrectionHighlighter.invalidate:(Z)V
7: goto 10
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.Editor$CorrectionHighlighter.stopAnimation:()V
9: aload 0
iconst_0
invokevirtual android.widget.Editor$CorrectionHighlighter.invalidate:(Z)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 0: invokestatic android.os.SystemClock.uptimeMillis:()J
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mFadingStartTime:J
lsub
lstore 1
start local 1 1: lload 1
ldc 400
lcmp
ifle 2
iconst_0
ireturn
2: StackMap locals: long
StackMap stack:
fconst_1
lload 1
l2f
ldc 400.0
fdiv
fsub
fstore 3
start local 3 3: aload 0
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
start local 4 4: aload 0
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: iload 4
i2f
fload 3
fmul
f2i
bipush 24
ishl
6: iadd
istore 5
start local 5 7: aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPaint:Landroid/graphics/Paint;
iload 5
invokevirtual android.graphics.Paint.setColor:(I)V
8: iconst_1
ireturn
end local 5 end local 4 end local 3 end local 1 end local 0 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 0: aload 0
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
start local 1 1: aload 1
ifnonnull 2
iconst_0
ireturn
2: StackMap locals: android.text.Layout
StackMap stack:
aload 0
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
start local 2 3: iload 2
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mStart:I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 4: iload 2
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mEnd:I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 5: aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
invokevirtual android.graphics.Path.reset:()V
6: aload 1
iload 3
iload 4
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
invokevirtual android.text.Layout.getSelectionPath:(IILandroid/graphics/Path;)V
7: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
ifnonnull 2
aload 0
new android.graphics.RectF
dup
invokespecial android.graphics.RectF.<init>:()V
putfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mPath:Landroid/graphics/Path;
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
iconst_0
invokevirtual android.graphics.Path.computeBounds:(Landroid/graphics/RectF;Z)V
3: aload 0
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
start local 2 4: aload 0
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
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
start local 3 5: iload 1
ifeq 11
6: aload 0
getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
7: iload 2
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.left:F
f2i
iadd
iload 3
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.top:F
f2i
iadd
8: iload 2
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.right:F
f2i
iadd
iload 3
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.bottom:F
f2i
iadd
9: invokevirtual android.widget.TextView.postInvalidateOnAnimation:(IIII)V
10: goto 14
11: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.left:F
f2i
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.top:F
f2i
12: aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.right:F
f2i
aload 0
getfield android.widget.Editor$CorrectionHighlighter.mTempRectF:Landroid/graphics/RectF;
getfield android.graphics.RectF.bottom:F
f2i
13: invokevirtual android.widget.TextView.postInvalidate:(IIII)V
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield android.widget.Editor$CorrectionHighlighter.this$0:Landroid/widget/Editor;
aconst_null
putfield android.widget.Editor.mCorrectionHighlighter:Landroid/widget/Editor$CorrectionHighlighter;
1: return
end local 0 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