class android.widget.Editor$TextActionModeCallback extends android.view.ActionMode$Callback2
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.widget.Editor$TextActionModeCallback
super_class: android.view.ActionMode$Callback2
{
private final android.graphics.Path mSelectionPath;
descriptor: Landroid/graphics/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.graphics.RectF mSelectionBounds;
descriptor: Landroid/graphics/RectF;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean mHasSelection;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mHandleHeight;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<android.view.MenuItem, android.view.View$OnClickListener> mAssistClickHandlers;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Landroid/view/MenuItem;Landroid/view/View$OnClickListener;>;
final android.widget.Editor this$0;
descriptor: Landroid/widget/Editor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.widget.Editor, int);
descriptor: (Landroid/widget/Editor;I)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
aload 0
invokespecial android.view.ActionMode$Callback2.<init>:()V
1: aload 0
new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
putfield android.widget.Editor$TextActionModeCallback.mSelectionPath:Landroid/graphics/Path;
2: aload 0
new android.graphics.RectF
dup
invokespecial android.graphics.RectF.<init>:()V
putfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.widget.Editor$TextActionModeCallback.mAssistClickHandlers:Ljava/util/Map;
4: aload 0
iload 2
ifeq 7
5: aload 1
getfield android.widget.Editor.mTextIsSelectable:Z
ifeq 6
iload 2
iconst_2
if_icmpeq 7
StackMap locals: android.widget.Editor$TextActionModeCallback android.widget.Editor int
StackMap stack: android.widget.Editor$TextActionModeCallback
6: iconst_0
goto 8
StackMap locals:
StackMap stack: android.widget.Editor$TextActionModeCallback
7: iconst_1
8: StackMap locals: android.widget.Editor$TextActionModeCallback android.widget.Editor int
StackMap stack: android.widget.Editor$TextActionModeCallback int
putfield android.widget.Editor$TextActionModeCallback.mHasSelection:Z
9: aload 0
getfield android.widget.Editor$TextActionModeCallback.mHasSelection:Z
ifeq 20
10: aload 1
invokevirtual android.widget.Editor.getSelectionController:()Landroid/widget/Editor$SelectionModifierCursorController;
astore 3
start local 3 11: aload 3
getfield android.widget.Editor$SelectionModifierCursorController.mStartHandle:Landroid/widget/Editor$SelectionHandleView;
ifnonnull 15
12: aload 3
invokevirtual android.widget.Editor$SelectionModifierCursorController.initDrawables:()V
13: aload 3
invokevirtual android.widget.Editor$SelectionModifierCursorController.initHandles:()V
14: aload 3
invokevirtual android.widget.Editor$SelectionModifierCursorController.hide:()V
15: StackMap locals: android.widget.Editor$SelectionModifierCursorController
StackMap stack:
aload 0
16: aload 1
getfield android.widget.Editor.mSelectHandleLeft:Landroid/graphics/drawable/Drawable;
invokevirtual android.graphics.drawable.Drawable.getMinimumHeight:()I
17: aload 1
getfield android.widget.Editor.mSelectHandleRight:Landroid/graphics/drawable/Drawable;
invokevirtual android.graphics.drawable.Drawable.getMinimumHeight:()I
18: invokestatic java.lang.Math.max:(II)I
putfield android.widget.Editor$TextActionModeCallback.mHandleHeight:I
end local 3 19: goto 26
20: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.widget.Editor.getInsertionController:()Landroid/widget/Editor$InsertionPointCursorController;
astore 3
start local 3 21: aload 3
ifnull 25
22: aload 3
invokevirtual android.widget.Editor$InsertionPointCursorController.getHandle:()Landroid/widget/Editor$InsertionHandleView;
pop
23: aload 0
aload 1
getfield android.widget.Editor.mSelectHandleCenter:Landroid/graphics/drawable/Drawable;
invokevirtual android.graphics.drawable.Drawable.getMinimumHeight:()I
putfield android.widget.Editor$TextActionModeCallback.mHandleHeight:I
24: goto 26
25: StackMap locals: android.widget.Editor$InsertionPointCursorController
StackMap stack:
aload 0
iconst_0
putfield android.widget.Editor$TextActionModeCallback.mHandleHeight:I
end local 3 26: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Landroid/widget/Editor$TextActionModeCallback;
0 27 2 mode I
11 19 3 selectionController Landroid/widget/Editor$SelectionModifierCursorController;
21 26 3 insertionController Landroid/widget/Editor$InsertionPointCursorController;
RuntimeInvisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
android.widget.Editor$TextActionMode()
RuntimeInvisibleParameterAnnotations:
0:
android.widget.Editor$TextActionMode()
1:
MethodParameters:
Name Flags
this$0 final
mode
public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
descriptor: (Landroid/view/ActionMode;Landroid/view/Menu;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.Editor$TextActionModeCallback.mAssistClickHandlers:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
1: aload 1
aconst_null
invokevirtual android.view.ActionMode.setTitle:(Ljava/lang/CharSequence;)V
2: aload 1
aconst_null
invokevirtual android.view.ActionMode.setSubtitle:(Ljava/lang/CharSequence;)V
3: aload 1
iconst_1
invokevirtual android.view.ActionMode.setTitleOptionalHint:(Z)V
4: aload 0
aload 2
invokevirtual android.widget.Editor$TextActionModeCallback.populateMenuWithItems:(Landroid/view/Menu;)V
5: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.getCustomCallback:()Landroid/view/ActionMode$Callback;
astore 3
start local 3 6: aload 3
ifnull 12
7: aload 3
aload 1
aload 2
invokeinterface android.view.ActionMode$Callback.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z
ifne 12
8: aload 0
getfield android.widget.Editor$TextActionModeCallback.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
9: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionEnd:()I
10: invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;I)V
11: iconst_0
ireturn
12: StackMap locals: android.view.ActionMode$Callback
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.canProcessText:()Z
ifeq 14
13: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mProcessTextIntentActionsHandler:Landroid/widget/Editor$ProcessTextIntentActionsHandler;
aload 2
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.onInitializeMenu:(Landroid/view/Menu;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.mHasSelection:Z
ifeq 16
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.hasTransientState:()Z
ifne 16
15: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
iconst_1
invokevirtual android.widget.TextView.setHasTransientState:(Z)V
16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/widget/Editor$TextActionModeCallback;
0 17 1 mode Landroid/view/ActionMode;
0 17 2 menu Landroid/view/Menu;
6 17 3 customCallback Landroid/view/ActionMode$Callback;
MethodParameters:
Name Flags
mode
menu
private android.view.ActionMode$Callback getCustomCallback();
descriptor: ()Landroid/view/ActionMode$Callback;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$TextActionModeCallback.mHasSelection:Z
ifeq 2
1: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mCustomSelectionActionModeCallback:Landroid/view/ActionMode$Callback;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mCustomInsertionActionModeCallback:Landroid/view/ActionMode$Callback;
3: StackMap locals:
StackMap stack: android.view.ActionMode$Callback
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Editor$TextActionModeCallback;
private void populateMenuWithItems(android.view.Menu);
descriptor: (Landroid/view/Menu;)V
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.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"
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$TextActionModeCallback;
MethodParameters:
Name Flags
menu
public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
descriptor: (Landroid/view/ActionMode;Landroid/view/Menu;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual android.widget.Editor$TextActionModeCallback.updateSelectAllItem:(Landroid/view/Menu;)V
1: aload 0
aload 2
invokevirtual android.widget.Editor$TextActionModeCallback.updateReplaceItem:(Landroid/view/Menu;)V
2: aload 0
aload 2
invokevirtual android.widget.Editor$TextActionModeCallback.updateAssistMenuItems:(Landroid/view/Menu;)V
3: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.getCustomCallback:()Landroid/view/ActionMode$Callback;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
aload 1
aload 2
invokeinterface android.view.ActionMode$Callback.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z
ireturn
6: StackMap locals: android.view.ActionMode$Callback
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/Editor$TextActionModeCallback;
0 7 1 mode Landroid/view/ActionMode;
0 7 2 menu Landroid/view/Menu;
4 7 3 customCallback Landroid/view/ActionMode$Callback;
MethodParameters:
Name Flags
mode
menu
private void updateSelectAllItem(android.view.Menu);
descriptor: (Landroid/view/Menu;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string 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$TextActionModeCallback;
MethodParameters:
Name Flags
menu
private void updateReplaceItem(android.view.Menu);
descriptor: (Landroid/view/Menu;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string 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$TextActionModeCallback;
MethodParameters:
Name Flags
menu
private void updateAssistMenuItems(android.view.Menu);
descriptor: (Landroid/view/Menu;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.widget.Editor$TextActionModeCallback.clearAssistMenuItems:(Landroid/view/Menu;)V
1: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.shouldEnableAssistMenuItems:()Z
ifne 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
invokevirtual android.widget.Editor.getSelectionActionModeHelper:()Landroid/widget/SelectionActionModeHelper;
invokevirtual android.widget.SelectionActionModeHelper.getTextClassification:()Landroid/view/textclassifier/TextClassification;
4: astore 2
start local 2 5: aload 2
ifnonnull 7
6: return
7: StackMap locals: android.view.textclassifier.TextClassification
StackMap stack:
aload 2
invokevirtual android.view.textclassifier.TextClassification.getActions:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 14
8: aload 0
aload 1
9: aload 2
invokevirtual android.view.textclassifier.TextClassification.getActions:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.app.RemoteAction
getstatic android.widget.TextView.ID_ASSIST:I
10: iconst_0
iconst_2
11: invokevirtual android.widget.Editor$TextActionModeCallback.addAssistMenuItem:(Landroid/view/Menu;Landroid/app/RemoteAction;III)Landroid/view/MenuItem;
astore 3
start local 3 12: aload 3
aload 2
invokevirtual android.view.textclassifier.TextClassification.getIntent:()Landroid/content/Intent;
invokeinterface android.view.MenuItem.setIntent:(Landroid/content/Intent;)Landroid/view/MenuItem;
pop
end local 3 13: goto 29
StackMap locals:
StackMap stack:
14: aload 0
aload 2
invokevirtual android.widget.Editor$TextActionModeCallback.hasLegacyAssistItem:(Landroid/view/textclassifier/TextClassification;)Z
ifeq 29
15: aload 1
16: getstatic android.widget.TextView.ID_ASSIST:I
getstatic android.widget.TextView.ID_ASSIST:I
iconst_0
17: aload 2
invokevirtual android.view.textclassifier.TextClassification.getLabel:()Ljava/lang/CharSequence;
18: invokeinterface android.view.Menu.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
19: aload 2
invokevirtual android.view.textclassifier.TextClassification.getIcon:()Landroid/graphics/drawable/Drawable;
invokeinterface android.view.MenuItem.setIcon:(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem;
20: aload 2
invokevirtual android.view.textclassifier.TextClassification.getIntent:()Landroid/content/Intent;
invokeinterface android.view.MenuItem.setIntent:(Landroid/content/Intent;)Landroid/view/MenuItem;
21: astore 3
start local 3 22: aload 3
iconst_2
invokeinterface android.view.MenuItem.setShowAsAction:(I)V
23: aload 0
getfield android.widget.Editor$TextActionModeCallback.mAssistClickHandlers:Ljava/util/Map;
aload 3
24: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
25: aload 2
invokevirtual android.view.textclassifier.TextClassification.getIntent:()Landroid/content/Intent;
26: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.createAssistMenuItemPendingIntentRequestCode:()I
27: invokestatic android.view.textclassifier.TextClassification.createPendingIntent:(Landroid/content/Context;Landroid/content/Intent;I)Landroid/app/PendingIntent;
28: invokestatic android.view.textclassifier.TextClassification.createIntentOnClickListener:(Landroid/app/PendingIntent;)Landroid/view/View$OnClickListener;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 29: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.view.textclassifier.TextClassification.getActions:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 3
start local 3 30: iconst_1
istore 4
start local 4 31: goto 37
32: StackMap locals: int int
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual android.view.textclassifier.TextClassification.getActions:()Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.app.RemoteAction
iconst_0
33: bipush 50
iload 4
iadd
iconst_1
isub
34: iconst_0
35: invokevirtual android.widget.Editor$TextActionModeCallback.addAssistMenuItem:(Landroid/view/Menu;Landroid/app/RemoteAction;III)Landroid/view/MenuItem;
pop
36: iinc 4 1
StackMap locals:
StackMap stack:
37: iload 4
iload 3
if_icmplt 32
end local 4 38: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Landroid/widget/Editor$TextActionModeCallback;
0 39 1 menu Landroid/view/Menu;
5 39 2 textClassification Landroid/view/textclassifier/TextClassification;
12 13 3 item Landroid/view/MenuItem;
22 29 3 item Landroid/view/MenuItem;
30 39 3 count I
31 38 4 i I
MethodParameters:
Name Flags
menu
private android.view.MenuItem addAssistMenuItem(android.view.Menu, android.app.RemoteAction, int, int, int);
descriptor: (Landroid/view/Menu;Landroid/app/RemoteAction;III)Landroid/view/MenuItem;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
getstatic android.widget.TextView.ID_ASSIST:I
iload 3
iload 4
aload 2
invokevirtual android.app.RemoteAction.getTitle:()Ljava/lang/CharSequence;
invokeinterface android.view.Menu.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
1: aload 2
invokevirtual android.app.RemoteAction.getContentDescription:()Ljava/lang/CharSequence;
invokeinterface android.view.MenuItem.setContentDescription:(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
2: astore 6
start local 6 3: aload 2
invokevirtual android.app.RemoteAction.shouldShowIcon:()Z
ifeq 5
4: aload 6
aload 2
invokevirtual android.app.RemoteAction.getIcon:()Landroid/graphics/drawable/Icon;
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
invokevirtual android.graphics.drawable.Icon.loadDrawable:(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
invokeinterface android.view.MenuItem.setIcon:(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem;
pop
5: StackMap locals: android.view.MenuItem
StackMap stack:
aload 6
iload 5
invokeinterface android.view.MenuItem.setShowAsAction:(I)V
6: aload 0
getfield android.widget.Editor$TextActionModeCallback.mAssistClickHandlers:Ljava/util/Map;
aload 6
7: aload 2
invokevirtual android.app.RemoteAction.getActionIntent:()Landroid/app/PendingIntent;
invokestatic android.view.textclassifier.TextClassification.createIntentOnClickListener:(Landroid/app/PendingIntent;)Landroid/view/View$OnClickListener;
8: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 6
areturn
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 10 0 this Landroid/widget/Editor$TextActionModeCallback;
0 10 1 menu Landroid/view/Menu;
0 10 2 action Landroid/app/RemoteAction;
0 10 3 intemId I
0 10 4 order I
0 10 5 showAsAction I
3 10 6 item Landroid/view/MenuItem;
MethodParameters:
Name Flags
menu
action
intemId
order
showAsAction
private void clearAssistMenuItems(android.view.Menu);
descriptor: (Landroid/view/Menu;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokeinterface android.view.Menu.getItem:(I)Landroid/view/MenuItem;
astore 3
start local 3 3: aload 3
invokeinterface android.view.MenuItem.getGroupId:()I
getstatic android.widget.TextView.ID_ASSIST:I
if_icmpne 6
4: aload 1
aload 3
invokeinterface android.view.MenuItem.getItemId:()I
invokeinterface android.view.Menu.removeItem:(I)V
5: goto 7
6: StackMap locals: android.view.MenuItem
StackMap stack:
iinc 2 1
end local 3 7: StackMap locals:
StackMap stack:
iload 2
aload 1
invokeinterface android.view.Menu.size:()I
if_icmplt 2
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/widget/Editor$TextActionModeCallback;
0 9 1 menu Landroid/view/Menu;
1 9 2 i I
3 7 3 menuItem Landroid/view/MenuItem;
MethodParameters:
Name Flags
menu
private boolean hasLegacyAssistItem(android.view.textclassifier.TextClassification);
descriptor: (Landroid/view/textclassifier/TextClassification;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.view.textclassifier.TextClassification.getIcon:()Landroid/graphics/drawable/Drawable;
ifnonnull 4
1: aload 1
invokevirtual android.view.textclassifier.TextClassification.getLabel:()Ljava/lang/CharSequence;
2: invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
3: ifne 7
StackMap locals:
StackMap stack:
4: aload 1
invokevirtual android.view.textclassifier.TextClassification.getIntent:()Landroid/content/Intent;
ifnonnull 6
5: aload 1
invokevirtual android.view.textclassifier.TextClassification.getOnClickListener:()Landroid/view/View$OnClickListener;
ifnull 7
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/Editor$TextActionModeCallback;
0 8 1 classification Landroid/view/textclassifier/TextClassification;
MethodParameters:
Name Flags
classification
private boolean onAssistMenuItemClicked(android.view.MenuItem);
descriptor: (Landroid/view/MenuItem;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface android.view.MenuItem.getGroupId:()I
getstatic android.widget.TextView.ID_ASSIST:I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: invokestatic com.android.internal.util.Preconditions.checkArgument:(Z)V
3: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
invokevirtual android.widget.Editor.getSelectionActionModeHelper:()Landroid/widget/SelectionActionModeHelper;
invokevirtual android.widget.SelectionActionModeHelper.getTextClassification:()Landroid/view/textclassifier/TextClassification;
4: astore 2
start local 2 5: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.shouldEnableAssistMenuItems:()Z
ifeq 6
aload 2
ifnonnull 7
6: StackMap locals: android.view.textclassifier.TextClassification
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.mAssistClickHandlers:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.view.View$OnClickListener
astore 3
start local 3 8: aload 3
ifnonnull 15
9: aload 1
invokeinterface android.view.MenuItem.getIntent:()Landroid/content/Intent;
astore 4
start local 4 10: aload 4
ifnull 15
11: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
aload 4
12: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.createAssistMenuItemPendingIntentRequestCode:()I
13: invokestatic android.view.textclassifier.TextClassification.createPendingIntent:(Landroid/content/Context;Landroid/content/Intent;I)Landroid/app/PendingIntent;
14: invokestatic android.view.textclassifier.TextClassification.createIntentOnClickListener:(Landroid/app/PendingIntent;)Landroid/view/View$OnClickListener;
astore 3
end local 4 15: StackMap locals: android.view.View$OnClickListener
StackMap stack:
aload 3
ifnull 18
16: aload 3
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokeinterface android.view.View$OnClickListener.onClick:(Landroid/view/View;)V
17: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
invokevirtual android.widget.Editor.stopTextActionMode:()V
18: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/widget/Editor$TextActionModeCallback;
0 19 1 assistMenuItem Landroid/view/MenuItem;
5 19 2 textClassification Landroid/view/textclassifier/TextClassification;
8 19 3 onClickListener Landroid/view/View$OnClickListener;
10 15 4 intent Landroid/content/Intent;
MethodParameters:
Name Flags
assistMenuItem
private int createAssistMenuItemPendingIntentRequestCode();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.hasSelection:()Z
ifeq 5
1: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getText:()Ljava/lang/CharSequence;
2: aload 0
getfield android.widget.Editor$TextActionModeCallback.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$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionEnd:()I
3: invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
4: invokevirtual java.lang.Object.hashCode:()I
goto 6
5: StackMap locals:
StackMap stack:
iconst_0
6: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/Editor$TextActionModeCallback;
private boolean shouldEnableAssistMenuItems();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.isDeviceProvisioned:()Z
ifeq 4
1: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
invokestatic android.view.textclassifier.TextClassificationManager.getSettings:(Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
2: invokevirtual android.view.textclassifier.TextClassificationConstants.isSmartTextShareEnabled:()Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/Editor$TextActionModeCallback;
public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
descriptor: (Landroid/view/ActionMode;Landroid/view/MenuItem;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
invokevirtual android.widget.Editor.getSelectionActionModeHelper:()Landroid/widget/SelectionActionModeHelper;
aload 2
invokeinterface android.view.MenuItem.getItemId:()I
invokevirtual android.widget.SelectionActionModeHelper.onSelectionAction:(I)V
1: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mProcessTextIntentActionsHandler:Landroid/widget/Editor$ProcessTextIntentActionsHandler;
aload 2
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.performMenuItemAction:(Landroid/view/MenuItem;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.getCustomCallback:()Landroid/view/ActionMode$Callback;
astore 3
start local 3 4: aload 3
ifnull 6
aload 3
aload 1
aload 2
invokeinterface android.view.ActionMode$Callback.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals: android.view.ActionMode$Callback
StackMap stack:
aload 2
invokeinterface android.view.MenuItem.getGroupId:()I
getstatic android.widget.TextView.ID_ASSIST:I
if_icmpne 8
aload 0
aload 2
invokevirtual android.widget.Editor$TextActionModeCallback.onAssistMenuItemClicked:(Landroid/view/MenuItem;)Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
aload 2
invokeinterface android.view.MenuItem.getItemId:()I
invokevirtual android.widget.TextView.onTextContextMenuItem:(I)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/widget/Editor$TextActionModeCallback;
0 9 1 mode Landroid/view/ActionMode;
0 9 2 item Landroid/view/MenuItem;
4 9 3 customCallback Landroid/view/ActionMode$Callback;
MethodParameters:
Name Flags
mode
item
public void onDestroyActionMode(android.view.ActionMode);
descriptor: (Landroid/view/ActionMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
invokevirtual android.widget.Editor.getSelectionActionModeHelper:()Landroid/widget/SelectionActionModeHelper;
invokevirtual android.widget.SelectionActionModeHelper.onDestroyActionMode:()V
1: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
aconst_null
putfield android.widget.Editor.mTextActionMode:Landroid/view/ActionMode;
2: aload 0
invokevirtual android.widget.Editor$TextActionModeCallback.getCustomCallback:()Landroid/view/ActionMode$Callback;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
aload 1
invokeinterface android.view.ActionMode$Callback.onDestroyActionMode:(Landroid/view/ActionMode;)V
5: StackMap locals: android.view.ActionMode$Callback
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mPreserveSelection:Z
ifne 9
6: aload 0
getfield android.widget.Editor$TextActionModeCallback.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
7: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionEnd:()I
8: invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;I)V
9: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSelectionModifierCursorController:Landroid/widget/Editor$SelectionModifierCursorController;
ifnull 11
10: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mSelectionModifierCursorController:Landroid/widget/Editor$SelectionModifierCursorController;
invokevirtual android.widget.Editor$SelectionModifierCursorController.hide:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.mAssistClickHandlers:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
12: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
iconst_0
putfield android.widget.Editor.mRequestingLinkActionMode:Z
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/Editor$TextActionModeCallback;
0 14 1 mode Landroid/view/ActionMode;
3 14 2 customCallback Landroid/view/ActionMode$Callback;
MethodParameters:
Name Flags
mode
public void onGetContentRect(android.view.ActionMode, android.view.View, android.graphics.Rect);
descriptor: (Landroid/view/ActionMode;Landroid/view/View;Landroid/graphics/Rect;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 1
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokespecial android.view.ActionMode$Callback2.onGetContentRect:(Landroid/view/ActionMode;Landroid/view/View;Landroid/graphics/Rect;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.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$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionEnd:()I
if_icmpeq 11
4: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionPath:Landroid/graphics/Path;
invokevirtual android.graphics.Path.reset:()V
5: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
6: aload 0
getfield android.widget.Editor$TextActionModeCallback.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$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionEnd:()I
aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionPath:Landroid/graphics/Path;
7: invokevirtual android.text.Layout.getSelectionPath:(IILandroid/graphics/Path;)V
8: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionPath:Landroid/graphics/Path;
aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
iconst_1
invokevirtual android.graphics.Path.computeBounds:(Landroid/graphics/RectF;Z)V
9: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
dup
getfield android.graphics.RectF.bottom:F
aload 0
getfield android.widget.Editor$TextActionModeCallback.mHandleHeight:I
i2f
fadd
putfield android.graphics.RectF.bottom:F
10: goto 22
11: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
astore 4
start local 4 12: aload 4
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionStart:()I
invokevirtual android.text.Layout.getLineForOffset:(I)I
istore 5
start local 5 13: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
aconst_null
14: aload 4
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectionStart:()I
invokevirtual android.text.Layout.getPrimaryHorizontal:(I)F
15: invokevirtual android.widget.Editor.clampHorizontalPosition:(Landroid/graphics/drawable/Drawable;F)I
i2f
fstore 6
start local 6 16: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
17: fload 6
18: aload 4
iload 5
invokevirtual android.text.Layout.getLineTop:(I)I
i2f
19: fload 6
20: aload 4
iload 5
invokevirtual android.text.Layout.getLineBottom:(I)I
aload 0
getfield android.widget.Editor$TextActionModeCallback.mHandleHeight:I
iadd
i2f
21: invokevirtual android.graphics.RectF.set:(FFFF)V
end local 6 end local 5 end local 4 22: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.viewportToContentHorizontalOffset:()I
istore 4
start local 4 23: aload 0
getfield android.widget.Editor$TextActionModeCallback.this$0:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.viewportToContentVerticalOffset:()I
istore 5
start local 5 24: aload 3
25: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
getfield android.graphics.RectF.left:F
iload 4
i2f
fadd
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
26: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
getfield android.graphics.RectF.top:F
iload 5
i2f
fadd
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
27: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
getfield android.graphics.RectF.right:F
iload 4
i2f
fadd
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
28: aload 0
getfield android.widget.Editor$TextActionModeCallback.mSelectionBounds:Landroid/graphics/RectF;
getfield android.graphics.RectF.bottom:F
iload 5
i2f
fadd
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
29: invokevirtual android.graphics.Rect.set:(IIII)V
30: return
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 31 0 this Landroid/widget/Editor$TextActionModeCallback;
0 31 1 mode Landroid/view/ActionMode;
0 31 2 view Landroid/view/View;
0 31 3 outRect Landroid/graphics/Rect;
12 22 4 layout Landroid/text/Layout;
13 22 5 line I
16 22 6 primaryHorizontal F
23 31 4 textHorizontalOffset I
24 31 5 textVerticalOffset I
MethodParameters:
Name Flags
mode
view
outRect
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
public abstract Callback = android.view.ActionMode$Callback of android.view.ActionMode
public abstract Callback2 = android.view.ActionMode$Callback2 of android.view.ActionMode
public abstract OnClickListener = android.view.View$OnClickListener of android.view.View
private InsertionHandleView = android.widget.Editor$InsertionHandleView of android.widget.Editor
private InsertionPointCursorController = android.widget.Editor$InsertionPointCursorController of android.widget.Editor
final ProcessTextIntentActionsHandler = android.widget.Editor$ProcessTextIntentActionsHandler of android.widget.Editor
SelectionModifierCursorController = android.widget.Editor$SelectionModifierCursorController of android.widget.Editor
abstract TextActionMode = android.widget.Editor$TextActionMode of android.widget.Editor
private TextActionModeCallback = android.widget.Editor$TextActionModeCallback of android.widget.Editor