public class android.widget.Editor$SuggestionsPopupWindow extends android.widget.Editor$PinnedPopupWindow implements android.widget.AdapterView$OnItemClickListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.widget.Editor$SuggestionsPopupWindow
super_class: android.widget.Editor$PinnedPopupWindow
{
private static final int MAX_NUMBER_SUGGESTIONS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final java.lang.String USER_DICTIONARY_EXTRA_WORD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "word"
private static final java.lang.String USER_DICTIONARY_EXTRA_LOCALE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "locale"
private android.widget.Editor$SuggestionInfo[] mSuggestionInfos;
descriptor: [Landroid/widget/Editor$SuggestionInfo;
flags: (0x0002) ACC_PRIVATE
private int mNumberOfSuggestions;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mCursorWasVisibleBeforeSuggestions;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mIsShowingUp;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.widget.Editor$SuggestionsPopupWindow$SuggestionAdapter mSuggestionsAdapter;
descriptor: Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;
flags: (0x0002) ACC_PRIVATE
private android.text.style.TextAppearanceSpan mHighlightSpan;
descriptor: Landroid/text/style/TextAppearanceSpan;
flags: (0x0002) ACC_PRIVATE
private android.widget.TextView mAddToDictionaryButton;
descriptor: Landroid/widget/TextView;
flags: (0x0002) ACC_PRIVATE
private android.widget.TextView mDeleteButton;
descriptor: Landroid/widget/TextView;
flags: (0x0002) ACC_PRIVATE
private android.widget.ListView mSuggestionListView;
descriptor: Landroid/widget/ListView;
flags: (0x0002) ACC_PRIVATE
private final android.widget.Editor$SuggestionSpanInfo mMisspelledSpanInfo;
descriptor: Landroid/widget/Editor$SuggestionSpanInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mContainerMarginWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mContainerMarginTop;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.widget.LinearLayout mContainerView;
descriptor: Landroid/widget/LinearLayout;
flags: (0x0002) ACC_PRIVATE
private android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0002) ACC_PRIVATE
final android.widget.Editor this$0;
descriptor: Landroid/widget/Editor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(android.widget.Editor);
descriptor: (Landroid/widget/Editor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
aload 0
aload 1
invokespecial android.widget.Editor$PinnedPopupWindow.<init>:(Landroid/widget/Editor;)V
1: aload 0
iconst_0
putfield android.widget.Editor$SuggestionsPopupWindow.mIsShowingUp:Z
2: aload 0
new android.widget.Editor$SuggestionSpanInfo
dup
invokespecial android.widget.Editor$SuggestionSpanInfo.<init>:()V
putfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
3: aload 0
aload 1
getfield android.widget.Editor.mCursorVisible:Z
putfield android.widget.Editor$SuggestionsPopupWindow.mCursorWasVisibleBeforeSuggestions:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
MethodParameters:
Name Flags
this$0 final
protected void setUp();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
aload 0
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
invokevirtual android.widget.Editor$SuggestionsPopupWindow.applyDefaultTheme:(Landroid/content/Context;)Landroid/content/Context;
putfield android.widget.Editor$SuggestionsPopupWindow.mContext:Landroid/content/Context;
1: aload 0
new android.text.style.TextAppearanceSpan
dup
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContext:Landroid/content/Context;
2: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
getfield android.widget.TextView.mTextEditSuggestionHighlightStyle:I
invokespecial android.text.style.TextAppearanceSpan.<init>:(Landroid/content/Context;I)V
3: putfield android.widget.Editor$SuggestionsPopupWindow.mHighlightSpan:Landroid/text/style/TextAppearanceSpan;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
private android.content.Context applyDefaultTheme(android.content.Context);
descriptor: (Landroid/content/Context;)Landroid/content/Context;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \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"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
MethodParameters:
Name Flags
originalContext
protected void createPopupWindow();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new android.widget.Editor$SuggestionsPopupWindow$CustomPopupWindow
dup
aload 0
invokespecial android.widget.Editor$SuggestionsPopupWindow$CustomPopupWindow.<init>:(Landroid/widget/Editor$SuggestionsPopupWindow;)V
putfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
1: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
iconst_2
invokevirtual android.widget.PopupWindow.setInputMethodMode:(I)V
2: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
new android.graphics.drawable.ColorDrawable
dup
iconst_0
invokespecial android.graphics.drawable.ColorDrawable.<init>:(I)V
invokevirtual android.widget.PopupWindow.setBackgroundDrawable:(Landroid/graphics/drawable/Drawable;)V
3: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
iconst_1
invokevirtual android.widget.PopupWindow.setFocusable:(Z)V
4: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
iconst_0
invokevirtual android.widget.PopupWindow.setClippingEnabled:(Z)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
protected void initContentView();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \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"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
public boolean isShowingUp();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mIsShowingUp:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
public void onParentLostFocus();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield android.widget.Editor$SuggestionsPopupWindow.mIsShowingUp:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
public android.view.ViewGroup getContentViewForTesting();
descriptor: ()Landroid/view/ViewGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContentView:Landroid/view/ViewGroup;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
public void show();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
instanceof android.text.Editable
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
invokevirtual android.widget.Editor.extractedTextModeWillBeStarted:()Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.Editor$SuggestionsPopupWindow.updateSuggestions:()Z
ifeq 8
4: aload 0
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mCursorVisible:Z
putfield android.widget.Editor$SuggestionsPopupWindow.mCursorWasVisibleBeforeSuggestions:Z
5: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
iconst_0
invokevirtual android.widget.TextView.setCursorVisible:(Z)V
6: aload 0
iconst_1
putfield android.widget.Editor$SuggestionsPopupWindow.mIsShowingUp:Z
7: aload 0
invokespecial android.widget.Editor$PinnedPopupWindow.show:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionListView:Landroid/widget/ListView;
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
ifne 9
bipush 8
goto 10
StackMap locals:
StackMap stack: android.widget.ListView
9: iconst_0
StackMap locals: android.widget.Editor$SuggestionsPopupWindow
StackMap stack: android.widget.ListView int
10: invokevirtual android.widget.ListView.setVisibility:(I)V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
protected void measureContent();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getResources:()Landroid/content/res/Resources;
invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
astore 1
start local 1 1: aload 1
getfield android.util.DisplayMetrics.widthPixels:I
ldc -2147483648
2: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 2
start local 2 3: aload 1
getfield android.util.DisplayMetrics.heightPixels:I
ldc -2147483648
4: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: aconst_null
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 14
9: StackMap locals: android.widget.Editor$SuggestionsPopupWindow android.util.DisplayMetrics int int int android.view.View int
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionsAdapter:Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;
iload 6
aload 5
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContentView:Landroid/view/ViewGroup;
invokevirtual android.widget.Editor$SuggestionsPopupWindow$SuggestionAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
astore 5
10: aload 5
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
bipush -2
putfield android.view.ViewGroup$LayoutParams.width:I
11: aload 5
iload 2
iload 3
invokevirtual android.view.View.measure:(II)V
12: iload 4
aload 5
invokevirtual android.view.View.getMeasuredWidth:()I
invokestatic java.lang.Math.max:(II)I
istore 4
13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
if_icmplt 9
end local 6 15: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mAddToDictionaryButton:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getVisibility:()I
bipush 8
if_icmpeq 18
16: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mAddToDictionaryButton:Landroid/widget/TextView;
iload 2
iload 3
invokevirtual android.widget.TextView.measure:(II)V
17: iload 4
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mAddToDictionaryButton:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getMeasuredWidth:()I
invokestatic java.lang.Math.max:(II)I
istore 4
18: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mDeleteButton:Landroid/widget/TextView;
iload 2
iload 3
invokevirtual android.widget.TextView.measure:(II)V
19: iload 4
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mDeleteButton:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getMeasuredWidth:()I
invokestatic java.lang.Math.max:(II)I
istore 4
20: iload 4
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContainerView:Landroid/widget/LinearLayout;
invokevirtual android.widget.LinearLayout.getPaddingLeft:()I
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContainerView:Landroid/widget/LinearLayout;
invokevirtual android.widget.LinearLayout.getPaddingRight:()I
iadd
21: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContainerMarginWidth:I
22: iadd
iadd
istore 4
23: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContentView:Landroid/view/ViewGroup;
24: iload 4
ldc 1073741824
invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
25: iload 3
26: invokevirtual android.view.ViewGroup.measure:(II)V
27: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
invokevirtual android.widget.PopupWindow.getBackground:()Landroid/graphics/drawable/Drawable;
astore 6
start local 6 28: aload 6
ifnull 32
29: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
ifnonnull 30
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
30: StackMap locals: android.graphics.drawable.Drawable
StackMap stack:
aload 6
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
invokevirtual android.graphics.drawable.Drawable.getPadding:(Landroid/graphics/Rect;)Z
pop
31: iload 4
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.left:I
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.right:I
iadd
iadd
istore 4
32: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mPopupWindow:Landroid/widget/PopupWindow;
iload 4
invokevirtual android.widget.PopupWindow.setWidth:(I)V
33: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
1 34 1 displayMetrics Landroid/util/DisplayMetrics;
3 34 2 horizontalMeasure I
5 34 3 verticalMeasure I
6 34 4 width I
7 34 5 view Landroid/view/View;
8 15 6 i I
28 34 6 popupBackground Landroid/graphics/drawable/Drawable;
protected int getTextOffset();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionStart:()I
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionStart:()I
iadd
iconst_2
idiv
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
protected int getVerticalLocalPosition(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
astore 2
start local 2 1: aload 2
iload 1
invokevirtual android.text.Layout.getLineBottomWithoutSpacing:(I)I
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContainerMarginTop:I
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
0 2 1 line I
1 2 2 layout Landroid/text/Layout;
MethodParameters:
Name Flags
line
protected int clipVertically(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mContentView:Landroid/view/ViewGroup;
invokevirtual android.view.ViewGroup.getMeasuredHeight:()I
istore 2
start local 2 1: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getResources:()Landroid/content/res/Resources;
invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
astore 3
start local 3 2: iload 1
aload 3
getfield android.util.DisplayMetrics.heightPixels:I
iload 2
isub
invokestatic java.lang.Math.min:(II)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
0 3 1 positionY I
1 3 2 height I
2 3 3 displayMetrics Landroid/util/DisplayMetrics;
MethodParameters:
Name Flags
positionY
private void hideWithCleanUp();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: android.widget.Editor$SuggestionsPopupWindow top int int android.widget.Editor$SuggestionInfo[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual android.widget.Editor$SuggestionInfo.clear:()V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
invokevirtual android.widget.Editor$SuggestionSpanInfo.clear:()V
6: aload 0
invokevirtual android.widget.Editor$SuggestionsPopupWindow.hide:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
2 3 1 info Landroid/widget/Editor$SuggestionInfo;
private boolean updateSuggestions();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
checkcast android.text.Spannable
astore 1
start local 1 1: aload 0
2: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSuggestionHelper:Landroid/widget/Editor$SuggestionHelper;
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
invokevirtual android.widget.Editor$SuggestionHelper.getSuggestionInfo:([Landroid/widget/Editor$SuggestionInfo;Landroid/widget/Editor$SuggestionSpanInfo;)I
3: putfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
4: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
ifne 6
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSuggestionSpan:Landroid/text/style/SuggestionSpan;
ifnonnull 6
5: iconst_0
ireturn
6: StackMap locals: android.text.Spannable
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.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 7: iconst_0
istore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 14
10: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
iload 4
aaload
getfield android.widget.Editor$SuggestionInfo.mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
astore 5
start local 5 11: iload 2
aload 5
getfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
invokestatic java.lang.Math.min:(II)I
istore 2
12: iload 3
aload 5
getfield android.widget.Editor$SuggestionSpanInfo.mSpanEnd:I
invokestatic java.lang.Math.max:(II)I
istore 3
end local 5 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
if_icmplt 10
end local 4 15: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSuggestionSpan:Landroid/text/style/SuggestionSpan;
ifnull 18
16: iload 2
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
invokestatic java.lang.Math.min:(II)I
istore 2
17: iload 3
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanEnd:I
invokestatic java.lang.Math.max:(II)I
istore 3
18: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 19: goto 22
20: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
iload 4
aaload
iload 2
iload 3
invokevirtual android.widget.Editor$SuggestionsPopupWindow.highlightTextDifferences:(Landroid/widget/Editor$SuggestionInfo;II)V
21: iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
if_icmplt 20
end local 4 23: bipush 8
istore 4
start local 4 24: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSuggestionSpan:Landroid/text/style/SuggestionSpan;
ifnull 28
25: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
iflt 28
26: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanEnd:I
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
if_icmple 28
27: iconst_0
istore 4
28: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mAddToDictionaryButton:Landroid/widget/TextView;
iload 4
invokevirtual android.widget.TextView.setVisibility:(I)V
29: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSuggestionRangeSpan:Landroid/text/style/SuggestionRangeSpan;
ifnonnull 30
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
new android.text.style.SuggestionRangeSpan
dup
invokespecial android.text.style.SuggestionRangeSpan.<init>:()V
putfield android.widget.Editor.mSuggestionRangeSpan:Landroid/text/style/SuggestionRangeSpan;
30: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mNumberOfSuggestions:I
ifeq 34
31: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
iconst_0
aaload
getfield android.widget.Editor$SuggestionInfo.mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSuggestionSpan:Landroid/text/style/SuggestionSpan;
invokevirtual android.text.style.SuggestionSpan.getUnderlineColor:()I
32: istore 5
start local 5 33: goto 35
end local 5 34: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSuggestionSpan:Landroid/text/style/SuggestionSpan;
invokevirtual android.text.style.SuggestionSpan.getUnderlineColor:()I
istore 5
start local 5 35: StackMap locals: int
StackMap stack:
iload 5
ifne 38
36: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSuggestionRangeSpan:Landroid/text/style/SuggestionRangeSpan;
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
getfield android.widget.TextView.mHighlightColor:I
invokevirtual android.text.style.SuggestionRangeSpan.setBackgroundColor:(I)V
37: goto 42
38: StackMap locals:
StackMap stack:
iload 5
invokestatic android.graphics.Color.alpha:(I)I
i2f
ldc 0.4
fmul
f2i
istore 6
start local 6 39: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSuggestionRangeSpan:Landroid/text/style/SuggestionRangeSpan;
40: iload 5
ldc 16777215
iand
iload 6
bipush 24
ishl
iadd
41: invokevirtual android.text.style.SuggestionRangeSpan.setBackgroundColor:(I)V
end local 6 42: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSuggestionRangeSpan:Landroid/text/style/SuggestionRangeSpan;
iload 2
iload 3
43: bipush 33
44: invokeinterface android.text.Spannable.setSpan:(Ljava/lang/Object;III)V
45: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionsAdapter:Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;
invokevirtual android.widget.Editor$SuggestionsPopupWindow$SuggestionAdapter.notifyDataSetChanged:()V
46: iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
1 47 1 spannable Landroid/text/Spannable;
7 47 2 spanUnionStart I
8 47 3 spanUnionEnd I
9 15 4 i I
11 13 5 spanInfo Landroid/widget/Editor$SuggestionSpanInfo;
19 23 4 i I
24 47 4 addToDictionaryButtonVisibility I
33 34 5 underlineColor I
35 47 5 underlineColor I
39 42 6 newAlpha I
private void highlightTextDifferences(android.widget.Editor$SuggestionInfo, int, int);
descriptor: (Landroid/widget/Editor$SuggestionInfo;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
checkcast android.text.Spannable
astore 4
start local 4 1: aload 1
getfield android.widget.Editor$SuggestionInfo.mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanStart:I
istore 5
start local 5 2: aload 1
getfield android.widget.Editor$SuggestionInfo.mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
getfield android.widget.Editor$SuggestionSpanInfo.mSpanEnd:I
istore 6
start local 6 3: aload 1
iload 5
iload 2
isub
putfield android.widget.Editor$SuggestionInfo.mSuggestionStart:I
4: aload 1
aload 1
getfield android.widget.Editor$SuggestionInfo.mSuggestionStart:I
5: aload 1
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
invokevirtual android.text.SpannableStringBuilder.length:()I
iadd
6: putfield android.widget.Editor$SuggestionInfo.mSuggestionEnd:I
7: aload 1
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mHighlightSpan:Landroid/text/style/TextAppearanceSpan;
iconst_0
aload 1
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
invokevirtual android.text.SpannableStringBuilder.length:()I
8: bipush 33
9: invokevirtual android.text.SpannableStringBuilder.setSpan:(Ljava/lang/Object;III)V
10: aload 4
invokeinterface android.text.Spannable.toString:()Ljava/lang/String;
astore 7
start local 7 11: aload 1
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
iconst_0
aload 7
iload 2
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual android.text.SpannableStringBuilder.insert:(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
pop
12: aload 1
getfield android.widget.Editor$SuggestionInfo.mText:Landroid/text/SpannableStringBuilder;
aload 7
iload 6
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
pop
13: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
0 14 1 suggestionInfo Landroid/widget/Editor$SuggestionInfo;
0 14 2 unionStart I
0 14 3 unionEnd I
1 14 4 text Landroid/text/Spannable;
2 14 5 spanStart I
3 14 6 spanEnd I
11 14 7 textAsString Ljava/lang/String;
MethodParameters:
Name Flags
suggestionInfo
unionStart
unionEnd
public void onItemClick(android.widget.AdapterView<?>, android.view.View, int, );
descriptor: (Landroid/widget/AdapterView;Landroid/view/View;IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
iload 3
aaload
astore 6
start local 6 1: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
aload 6
invokevirtual android.widget.Editor.replaceWithSuggestion:(Landroid/widget/Editor$SuggestionInfo;)V
2: aload 0
invokevirtual android.widget.Editor$SuggestionsPopupWindow.hideWithCleanUp:()V
3: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Editor$SuggestionsPopupWindow;
0 4 1 parent Landroid/widget/AdapterView<*>;
0 4 2 view Landroid/view/View;
0 4 3 position I
0 4 4 id J
1 4 6 suggestionInfo Landroid/widget/Editor$SuggestionInfo;
Signature: (Landroid/widget/AdapterView<*>;Landroid/view/View;IJ)V
MethodParameters:
Name Flags
parent
view
position
id
public void updatePosition(int, int, boolean, boolean);
descriptor: (IIZZ)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
iload 1
iload 2
iload 3
iload 4
invokespecial android.widget.Editor$PinnedPopupWindow.updatePosition:(IIZZ)V
return
LocalVariableTable:
Start End Slot Name Signature
public boolean isShowing();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial android.widget.Editor$PinnedPopupWindow.isShowing:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public void hide();
descriptor: ()V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial android.widget.Editor$PinnedPopupWindow.hide:()V
return
LocalVariableTable:
Start End Slot Name Signature
static android.widget.Editor access$3(android.widget.Editor$SuggestionsPopupWindow);
descriptor: (Landroid/widget/Editor$SuggestionsPopupWindow;)Landroid/widget/Editor;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield android.widget.Editor$SuggestionsPopupWindow.this$0:Landroid/widget/Editor;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
public MeasureSpec = android.view.View$MeasureSpec of android.view.View
public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
public abstract OnItemClickListener = android.widget.AdapterView$OnItemClickListener of android.widget.AdapterView
private abstract PinnedPopupWindow = android.widget.Editor$PinnedPopupWindow of android.widget.Editor
private SuggestionHelper = android.widget.Editor$SuggestionHelper of android.widget.Editor
private final SuggestionInfo = android.widget.Editor$SuggestionInfo of android.widget.Editor
private final SuggestionSpanInfo = android.widget.Editor$SuggestionSpanInfo of android.widget.Editor
public SuggestionsPopupWindow = android.widget.Editor$SuggestionsPopupWindow of android.widget.Editor
private CustomPopupWindow = android.widget.Editor$SuggestionsPopupWindow$CustomPopupWindow of android.widget.Editor$SuggestionsPopupWindow
private SuggestionAdapter = android.widget.Editor$SuggestionsPopupWindow$SuggestionAdapter of android.widget.Editor$SuggestionsPopupWindow
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()