final class android.widget.Editor$ProcessTextIntentActionsHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.widget.Editor$ProcessTextIntentActionsHandler
super_class: java.lang.Object
{
private final android.widget.Editor mEditor;
descriptor: Landroid/widget/Editor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.widget.TextView mTextView;
descriptor: Landroid/widget/TextView;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.pm.PackageManager mPackageManager;
descriptor: Landroid/content/pm/PackageManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String mPackageName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.util.SparseArray<android.content.Intent> mAccessibilityIntents;
descriptor: Landroid/util/SparseArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/SparseArray<Landroid/content/Intent;>;
private final android.util.SparseArray<android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction> mAccessibilityActions;
descriptor: Landroid/util/SparseArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/SparseArray<Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;>;
private final java.util.List<android.content.pm.ResolveInfo> mSupportedActivities;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
private void <init>(android.widget.Editor);
descriptor: (Landroid/widget/Editor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityIntents:Landroid/util/SparseArray;
2: aload 0
3: new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityActions:Landroid/util/SparseArray;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mSupportedActivities:Ljava/util/List;
5: aload 0
aload 1
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.widget.Editor
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mEditor:Landroid/widget/Editor;
6: aload 0
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mEditor:Landroid/widget/Editor;
getfield android.widget.Editor.mTextView:Landroid/widget/TextView;
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.widget.TextView
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mTextView:Landroid/widget/TextView;
7: aload 0
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.content.Context
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mContext:Landroid/content/Context;
8: aload 0
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.content.pm.PackageManager
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mPackageManager:Landroid/content/pm/PackageManager;
9: aload 0
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield android.widget.Editor$ProcessTextIntentActionsHandler.mPackageName:Ljava/lang/String;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 11 1 editor Landroid/widget/Editor;
MethodParameters:
Name Flags
editor
public void onInitializeMenu(android.view.Menu);
descriptor: (Landroid/view/Menu;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.loadSupportedActivities:()V
1: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mSupportedActivities:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 12
4: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mSupportedActivities:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.content.pm.ResolveInfo
astore 4
start local 4 5: aload 1
iconst_0
iconst_0
6: bipush 100
iload 3
iadd
7: aload 0
aload 4
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.getLabel:(Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
8: invokeinterface android.view.Menu.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
9: aload 0
aload 4
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.createProcessTextIntentForResolveInfo:(Landroid/content/pm/ResolveInfo;)Landroid/content/Intent;
invokeinterface android.view.MenuItem.setIntent:(Landroid/content/Intent;)Landroid/view/MenuItem;
10: iconst_0
invokeinterface android.view.MenuItem.setShowAsAction:(I)V
end local 4 11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
iload 2
if_icmplt 4
end local 3 13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 14 1 menu Landroid/view/Menu;
2 14 2 size I
3 13 3 i I
5 11 4 resolveInfo Landroid/content/pm/ResolveInfo;
MethodParameters:
Name Flags
menu
public boolean performMenuItemAction(android.view.MenuItem);
descriptor: (Landroid/view/MenuItem;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface android.view.MenuItem.getIntent:()Landroid/content/Intent;
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.fireIntent:(Landroid/content/Intent;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 1 1 item Landroid/view/MenuItem;
MethodParameters:
Name Flags
item
public void initializeAccessibilityActions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityIntents:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.clear:()V
1: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityActions:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.clear:()V
2: iconst_0
istore 1
start local 1 3: aload 0
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.loadSupportedActivities:()V
4: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mSupportedActivities:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: android.widget.Editor$ProcessTextIntentActionsHandler int top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.content.pm.ResolveInfo
astore 2
start local 2 6: ldc 268435712
iload 1
iinc 1 1
iadd
istore 4
start local 4 7: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityActions:Landroid/util/SparseArray;
8: iload 4
9: new android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction
dup
10: iload 4
aload 0
aload 2
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.getLabel:(Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
11: invokespecial android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.<init>:(ILjava/lang/CharSequence;)V
12: invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
13: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityIntents:Landroid/util/SparseArray;
14: iload 4
aload 0
aload 2
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.createProcessTextIntentForResolveInfo:(Landroid/content/pm/ResolveInfo;)Landroid/content/Intent;
15: invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
end local 4 end local 2 16: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
3 18 1 i I
6 16 2 resolveInfo Landroid/content/pm/ResolveInfo;
7 16 4 actionId I
public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
descriptor: (Landroid/view/accessibility/AccessibilityNodeInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityActions:Landroid/util/SparseArray;
iload 2
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction
invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityActions:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
if_icmplt 2
end local 2 5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 6 1 nodeInfo Landroid/view/accessibility/AccessibilityNodeInfo;
1 5 2 i I
MethodParameters:
Name Flags
nodeInfo
public boolean performAccessibilityAction(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mAccessibilityIntents:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.content.Intent
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.fireIntent:(Landroid/content/Intent;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 1 1 actionId I
MethodParameters:
Name Flags
actionId
private boolean fireIntent(android.content.Intent);
descriptor: (Landroid/content/Intent;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 7
ldc "android.intent.action.PROCESS_TEXT"
aload 1
invokevirtual android.content.Intent.getAction:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
1: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getSelectedText:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
invokestatic android.text.TextUtils.trimToParcelableSize:(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
checkcast java.lang.String
astore 2
3: aload 1
ldc "android.intent.extra.PROCESS_TEXT"
aload 2
invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
pop
4: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mEditor:Landroid/widget/Editor;
iconst_1
putfield android.widget.Editor.mPreserveSelection:Z
5: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mTextView:Landroid/widget/TextView;
aload 1
bipush 100
invokevirtual android.widget.TextView.startActivityForResult:(Landroid/content/Intent;I)V
6: iconst_1
ireturn
end local 2 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 8 1 intent Landroid/content/Intent;
2 7 2 selectedText Ljava/lang/String;
MethodParameters:
Name Flags
intent
private void loadSupportedActivities();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mSupportedActivities:Ljava/util/List;
invokeinterface java.util.List.clear:()V
1: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mContext:Landroid/content/Context;
invokevirtual android.content.Context.canStartActivityForResult:()Z
ifne 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.getContext:()Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
astore 1
start local 1 4: aload 1
aload 0
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.createProcessTextIntent:()Landroid/content/Intent;
iconst_0
invokevirtual android.content.pm.PackageManager.queryIntentActivities:(Landroid/content/Intent;I)Ljava/util/List;
5: astore 2
start local 2 6: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: android.widget.Editor$ProcessTextIntentActionsHandler android.content.pm.PackageManager java.util.List top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.content.pm.ResolveInfo
astore 3
start local 3 8: aload 0
aload 3
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.isSupportedActivity:(Landroid/content/pm/ResolveInfo;)Z
ifeq 10
9: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mSupportedActivities:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
4 12 1 packageManager Landroid/content/pm/PackageManager;
6 12 2 unfiltered Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
8 10 3 info Landroid/content/pm/ResolveInfo;
private boolean isSupportedActivity(android.content.pm.ResolveInfo);
descriptor: (Landroid/content/pm/ResolveInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mPackageName:Ljava/lang/String;
aload 1
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
1: aload 1
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.exported:Z
ifeq 4
2: aload 1
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.permission:Ljava/lang/String;
ifnull 5
3: aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mContext:Landroid/content/Context;
aload 1
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.permission:Ljava/lang/String;
invokevirtual android.content.Context.checkSelfPermission:(Ljava/lang/String;)I
ifeq 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 6 1 info Landroid/content/pm/ResolveInfo;
MethodParameters:
Name Flags
info
private android.content.Intent createProcessTextIntentForResolveInfo(android.content.pm.ResolveInfo);
descriptor: (Landroid/content/pm/ResolveInfo;)Landroid/content/Intent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.widget.Editor$ProcessTextIntentActionsHandler.createProcessTextIntent:()Landroid/content/Intent;
1: ldc "android.intent.extra.PROCESS_TEXT_READONLY"
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mTextView:Landroid/widget/TextView;
invokevirtual android.widget.TextView.isTextEditable:()Z
ifeq 2
iconst_0
goto 3
StackMap locals: android.widget.Editor$ProcessTextIntentActionsHandler android.content.pm.ResolveInfo
StackMap stack: android.content.Intent java.lang.String
2: iconst_1
StackMap locals: android.widget.Editor$ProcessTextIntentActionsHandler android.content.pm.ResolveInfo
StackMap stack: android.content.Intent java.lang.String int
3: invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent;
4: aload 1
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
aload 1
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.name:Ljava/lang/String;
invokevirtual android.content.Intent.setClassName:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 6 1 info Landroid/content/pm/ResolveInfo;
MethodParameters:
Name Flags
info
private android.content.Intent createProcessTextIntent();
descriptor: ()Landroid/content/Intent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: new android.content.Intent
dup
invokespecial android.content.Intent.<init>:()V
1: ldc "android.intent.action.PROCESS_TEXT"
invokevirtual android.content.Intent.setAction:(Ljava/lang/String;)Landroid/content/Intent;
2: ldc "text/plain"
invokevirtual android.content.Intent.setType:(Ljava/lang/String;)Landroid/content/Intent;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
private java.lang.CharSequence getLabel(android.content.pm.ResolveInfo);
descriptor: (Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield android.widget.Editor$ProcessTextIntentActionsHandler.mPackageManager:Landroid/content/pm/PackageManager;
invokevirtual android.content.pm.ResolveInfo.loadLabel:(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Editor$ProcessTextIntentActionsHandler;
0 1 1 resolveInfo Landroid/content/pm/ResolveInfo;
MethodParameters:
Name Flags
resolveInfo
}
SourceFile: "Editor.java"
NestHost: android.widget.Editor
InnerClasses:
public final AccessibilityAction = android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction of android.view.accessibility.AccessibilityNodeInfo
final ProcessTextIntentActionsHandler = android.widget.Editor$ProcessTextIntentActionsHandler of android.widget.Editor