public class com.android.internal.view.menu.MenuBuilder implements android.view.Menu
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.view.menu.MenuBuilder
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MenuBuilder"
private static final java.lang.String PRESENTER_KEY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "android:menu:presenters"
private static final java.lang.String ACTION_VIEW_STATES_KEY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "android:menu:actionviewstates"
private static final java.lang.String EXPANDED_ACTION_VIEW_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "android:menu:expandedactionview"
private static final int[] sCategoryToOrder;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.res.Resources mResources;
descriptor: Landroid/content/res/Resources;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mQwertyMode;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mShortcutsVisible;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.android.internal.view.menu.MenuBuilder$Callback mCallback;
descriptor: Lcom/android/internal/view/menu/MenuBuilder$Callback;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> mItems;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
private java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> mVisibleItems;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
private boolean mIsVisibleItemsStale;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> mActionItems;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
private java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> mNonActionItems;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
private boolean mIsActionItemsStale;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mDefaultShowAsAction;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.view.ContextMenu$ContextMenuInfo mCurrentMenuInfo;
descriptor: Landroid/view/ContextMenu$ContextMenuInfo;
flags: (0x0002) ACC_PRIVATE
java.lang.CharSequence mHeaderTitle;
descriptor: Ljava/lang/CharSequence;
flags: (0x0000)
android.graphics.drawable.Drawable mHeaderIcon;
descriptor: Landroid/graphics/drawable/Drawable;
flags: (0x0000)
android.view.View mHeaderView;
descriptor: Landroid/view/View;
flags: (0x0000)
private android.util.SparseArray<android.os.Parcelable> mFrozenViewStates;
descriptor: Landroid/util/SparseArray;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/SparseArray<Landroid/os/Parcelable;>;
private boolean mPreventDispatchingItemsChanged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mItemsChangedWhileDispatchPrevented;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mOptionalIconsVisible;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mIsClosing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> mTempShortcutItemList;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
private java.util.concurrent.CopyOnWriteArrayList<java.lang.ref.WeakReference<com.android.internal.view.menu.MenuPresenter>> mPresenters;
descriptor: Ljava/util/concurrent/CopyOnWriteArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/CopyOnWriteArrayList<Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;>;
private com.android.internal.view.menu.MenuItemImpl mExpandedItem;
descriptor: Lcom/android/internal/view/menu/MenuItemImpl;
flags: (0x0002) ACC_PRIVATE
private boolean mGroupDividerEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 6
newarray 10
dup
iconst_0
1: iconst_1
iastore
dup
iconst_1
2: iconst_4
iastore
dup
iconst_2
3: iconst_5
iastore
dup
iconst_3
4: iconst_3
iastore
dup
iconst_4
5: iconst_2
iastore
6: putstatic com.android.internal.view.menu.MenuBuilder.sCategoryToOrder:[I
7: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
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
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mDefaultShowAsAction:I
2: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
3: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mItemsChangedWhileDispatchPrevented:Z
4: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mOptionalIconsVisible:Z
5: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mIsClosing:Z
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.view.menu.MenuBuilder.mTempShortcutItemList:Ljava/util/ArrayList;
7: aload 0
8: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
9: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mGroupDividerEnabled:Z
10: aload 0
aload 1
putfield com.android.internal.view.menu.MenuBuilder.mContext:Landroid/content/Context;
11: aload 0
aload 1
invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
putfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
12: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
13: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.view.menu.MenuBuilder.mVisibleItems:Ljava/util/ArrayList;
14: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsVisibleItemsStale:Z
15: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.view.menu.MenuBuilder.mActionItems:Ljava/util/ArrayList;
16: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.view.menu.MenuBuilder.mNonActionItems:Ljava/util/ArrayList;
17: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
18: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.setShortcutsVisibleInner:(Z)V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 20 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public com.android.internal.view.menu.MenuBuilder setDefaultShowAsAction(int);
descriptor: (I)Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.android.internal.view.menu.MenuBuilder.mDefaultShowAsAction:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 defaultShowAsAction I
MethodParameters:
Name Flags
defaultShowAsAction
public void addMenuPresenter(com.android.internal.view.menu.MenuPresenter);
descriptor: (Lcom/android/internal/view/menu/MenuPresenter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mContext:Landroid/content/Context;
invokevirtual com.android.internal.view.menu.MenuBuilder.addMenuPresenter:(Lcom/android/internal/view/menu/MenuPresenter;Landroid/content/Context;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 presenter Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
presenter
public void addMenuPresenter(com.android.internal.view.menu.MenuPresenter, android.content.Context);
descriptor: (Lcom/android/internal/view/menu/MenuPresenter;Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.util.concurrent.CopyOnWriteArrayList.add:(Ljava/lang/Object;)Z
pop
1: aload 1
aload 2
aload 0
invokeinterface com.android.internal.view.menu.MenuPresenter.initForMenu:(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
2: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 4 1 presenter Lcom/android/internal/view/menu/MenuPresenter;
0 4 2 menuContext Landroid/content/Context;
MethodParameters:
Name Flags
presenter
menuContext
public void removeMenuPresenter(com.android.internal.view.menu.MenuPresenter);
descriptor: (Lcom/android/internal/view/menu/MenuPresenter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuPresenter top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 2: aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 4
start local 4 3: aload 4
ifnull 4
aload 4
aload 1
if_acmpne 5
4: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuPresenter java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 2
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 5: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuPresenter top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 7 1 presenter Lcom/android/internal/view/menu/MenuPresenter;
2 5 2 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
3 5 4 item Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
presenter
private void dispatchPresenterUpdate(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.isEmpty:()Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.stopDispatchingItemsChanged:()V
2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: com.android.internal.view.menu.MenuBuilder int top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 4: aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 4
start local 4 5: aload 4
ifnonnull 8
6: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 2
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
7: goto 9
8: StackMap locals: com.android.internal.view.menu.MenuBuilder int java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
aload 4
iload 1
invokeinterface com.android.internal.view.menu.MenuPresenter.updateMenuView:(Z)V
end local 4 end local 2 9: StackMap locals: com.android.internal.view.menu.MenuBuilder int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.startDispatchingItemsChanged:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 12 1 cleared Z
4 9 2 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
5 9 4 presenter Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
cleared
private boolean dispatchSubMenuSelected(com.android.internal.view.menu.SubMenuBuilder, com.android.internal.view.menu.MenuPresenter);
descriptor: (Lcom/android/internal/view/menu/SubMenuBuilder;Lcom/android/internal/view/menu/MenuPresenter;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.isEmpty:()Z
ifeq 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 2: aload 2
ifnull 4
3: aload 2
aload 1
invokeinterface com.android.internal.view.menu.MenuPresenter.onSubMenuSelected:(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
istore 3
4: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.SubMenuBuilder com.android.internal.view.menu.MenuPresenter int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 4
start local 4 6: aload 4
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 6
start local 6 7: aload 6
ifnonnull 10
8: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 4
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
9: goto 12
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.SubMenuBuilder com.android.internal.view.menu.MenuPresenter int java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
10: iload 3
ifne 12
11: aload 6
aload 1
invokeinterface com.android.internal.view.menu.MenuPresenter.onSubMenuSelected:(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
istore 3
end local 6 end local 4 12: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.SubMenuBuilder com.android.internal.view.menu.MenuPresenter int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 14 1 subMenu Lcom/android/internal/view/menu/SubMenuBuilder;
0 14 2 preferredPresenter Lcom/android/internal/view/menu/MenuPresenter;
2 14 3 result Z
6 12 4 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
7 12 6 presenter Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
subMenu
preferredPresenter
private void dispatchSaveInstanceState(android.os.Bundle);
descriptor: (Landroid/os/Bundle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.isEmpty:()Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
astore 2
start local 2 2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: com.android.internal.view.menu.MenuBuilder android.os.Bundle android.util.SparseArray top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 3
start local 3 4: aload 3
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 5
start local 5 5: aload 5
ifnonnull 8
6: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 3
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
7: goto 13
8: StackMap locals: com.android.internal.view.menu.MenuBuilder android.os.Bundle android.util.SparseArray java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
aload 5
invokeinterface com.android.internal.view.menu.MenuPresenter.getId:()I
istore 6
start local 6 9: iload 6
ifle 13
10: aload 5
invokeinterface com.android.internal.view.menu.MenuPresenter.onSaveInstanceState:()Landroid/os/Parcelable;
astore 7
start local 7 11: aload 7
ifnull 13
12: aload 2
iload 6
aload 7
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
end local 7 end local 6 end local 5 end local 3 13: StackMap locals: com.android.internal.view.menu.MenuBuilder android.os.Bundle android.util.SparseArray top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
14: aload 1
ldc "android:menu:presenters"
aload 2
invokevirtual android.os.Bundle.putSparseParcelableArray:(Ljava/lang/String;Landroid/util/SparseArray;)V
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 16 1 outState Landroid/os/Bundle;
2 16 2 presenterStates Landroid/util/SparseArray<Landroid/os/Parcelable;>;
4 13 3 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
5 13 5 presenter Lcom/android/internal/view/menu/MenuPresenter;
9 13 6 id I
11 13 7 state Landroid/os/Parcelable;
MethodParameters:
Name Flags
outState
private void dispatchRestoreInstanceState(android.os.Bundle);
descriptor: (Landroid/os/Bundle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ldc "android:menu:presenters"
invokevirtual android.os.Bundle.getSparseParcelableArray:(Ljava/lang/String;)Landroid/util/SparseArray;
astore 2
start local 2 1: aload 2
ifnull 2
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.isEmpty:()Z
ifeq 3
StackMap locals: android.util.SparseArray
StackMap stack:
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: com.android.internal.view.menu.MenuBuilder android.os.Bundle android.util.SparseArray top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 3
start local 3 5: aload 3
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 5
start local 5 6: aload 5
ifnonnull 9
7: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 3
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
8: goto 14
9: StackMap locals: com.android.internal.view.menu.MenuBuilder android.os.Bundle android.util.SparseArray java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
aload 5
invokeinterface com.android.internal.view.menu.MenuPresenter.getId:()I
istore 6
start local 6 10: iload 6
ifle 14
11: aload 2
iload 6
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.os.Parcelable
astore 7
start local 7 12: aload 7
ifnull 14
13: aload 5
aload 7
invokeinterface com.android.internal.view.menu.MenuPresenter.onRestoreInstanceState:(Landroid/os/Parcelable;)V
end local 7 end local 6 end local 5 end local 3 14: StackMap locals: com.android.internal.view.menu.MenuBuilder android.os.Bundle android.util.SparseArray top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 16 1 state Landroid/os/Bundle;
1 16 2 presenterStates Landroid/util/SparseArray<Landroid/os/Parcelable;>;
5 14 3 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
6 14 5 presenter Lcom/android/internal/view/menu/MenuPresenter;
10 14 6 id I
12 14 7 parcel Landroid/os/Parcelable;
MethodParameters:
Name Flags
state
public void savePresenterStates(android.os.Bundle);
descriptor: (Landroid/os/Bundle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.dispatchSaveInstanceState:(Landroid/os/Bundle;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 outState Landroid/os/Bundle;
MethodParameters:
Name Flags
outState
public void restorePresenterStates(android.os.Bundle);
descriptor: (Landroid/os/Bundle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.dispatchRestoreInstanceState:(Landroid/os/Bundle;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 state Landroid/os/Bundle;
MethodParameters:
Name Flags
state
public void saveActionViewStates(android.os.Bundle);
descriptor: (Landroid/os/Bundle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 16
4: StackMap locals: android.util.SparseArray int int
StackMap stack:
aload 0
iload 4
invokevirtual com.android.internal.view.menu.MenuBuilder.getItem:(I)Landroid/view/MenuItem;
astore 5
start local 5 5: aload 5
invokeinterface android.view.MenuItem.getActionView:()Landroid/view/View;
astore 6
start local 6 6: aload 6
ifnull 12
aload 6
invokevirtual android.view.View.getId:()I
iconst_m1
if_icmpeq 12
7: aload 2
ifnonnull 9
8: new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
astore 2
9: StackMap locals: android.view.MenuItem android.view.View
StackMap stack:
aload 6
aload 2
invokevirtual android.view.View.saveHierarchyState:(Landroid/util/SparseArray;)V
10: aload 5
invokeinterface android.view.MenuItem.isActionViewExpanded:()Z
ifeq 12
11: aload 1
ldc "android:menu:expandedactionview"
aload 5
invokeinterface android.view.MenuItem.getItemId:()I
invokevirtual android.os.Bundle.putInt:(Ljava/lang/String;I)V
12: StackMap locals:
StackMap stack:
aload 5
invokeinterface android.view.MenuItem.hasSubMenu:()Z
ifeq 15
13: aload 5
invokeinterface android.view.MenuItem.getSubMenu:()Landroid/view/SubMenu;
checkcast com.android.internal.view.menu.SubMenuBuilder
astore 7
start local 7 14: aload 7
aload 1
invokevirtual com.android.internal.view.menu.SubMenuBuilder.saveActionViewStates:(Landroid/os/Bundle;)V
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 3
if_icmplt 4
end local 4 17: aload 2
ifnull 19
18: aload 1
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getActionViewStatesKey:()Ljava/lang/String;
aload 2
invokevirtual android.os.Bundle.putSparseParcelableArray:(Ljava/lang/String;Landroid/util/SparseArray;)V
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 20 1 outStates Landroid/os/Bundle;
1 20 2 viewStates Landroid/util/SparseArray<Landroid/os/Parcelable;>;
2 20 3 itemCount I
3 17 4 i I
5 15 5 item Landroid/view/MenuItem;
6 15 6 v Landroid/view/View;
14 15 7 subMenu Lcom/android/internal/view/menu/SubMenuBuilder;
MethodParameters:
Name Flags
outStates
public void restoreActionViewStates(android.os.Bundle);
descriptor: (Landroid/os/Bundle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
3: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getActionViewStatesKey:()Ljava/lang/String;
4: invokevirtual android.os.Bundle.getSparseParcelableArray:(Ljava/lang/String;)Landroid/util/SparseArray;
astore 2
start local 2 5: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
istore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 16
8: StackMap locals: android.util.SparseArray int int
StackMap stack:
aload 0
iload 4
invokevirtual com.android.internal.view.menu.MenuBuilder.getItem:(I)Landroid/view/MenuItem;
astore 5
start local 5 9: aload 5
invokeinterface android.view.MenuItem.getActionView:()Landroid/view/View;
astore 6
start local 6 10: aload 6
ifnull 12
aload 6
invokevirtual android.view.View.getId:()I
iconst_m1
if_icmpeq 12
11: aload 6
aload 2
invokevirtual android.view.View.restoreHierarchyState:(Landroid/util/SparseArray;)V
12: StackMap locals: android.view.MenuItem android.view.View
StackMap stack:
aload 5
invokeinterface android.view.MenuItem.hasSubMenu:()Z
ifeq 15
13: aload 5
invokeinterface android.view.MenuItem.getSubMenu:()Landroid/view/SubMenu;
checkcast com.android.internal.view.menu.SubMenuBuilder
astore 7
start local 7 14: aload 7
aload 1
invokevirtual com.android.internal.view.menu.SubMenuBuilder.restoreActionViewStates:(Landroid/os/Bundle;)V
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 3
if_icmplt 8
end local 4 17: aload 1
ldc "android:menu:expandedactionview"
invokevirtual android.os.Bundle.getInt:(Ljava/lang/String;)I
istore 4
start local 4 18: iload 4
ifle 22
19: aload 0
iload 4
invokevirtual com.android.internal.view.menu.MenuBuilder.findItem:(I)Landroid/view/MenuItem;
astore 5
start local 5 20: aload 5
ifnull 22
21: aload 5
invokeinterface android.view.MenuItem.expandActionView:()Z
pop
end local 5 22: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 23 1 states Landroid/os/Bundle;
5 23 2 viewStates Landroid/util/SparseArray<Landroid/os/Parcelable;>;
6 23 3 itemCount I
7 17 4 i I
9 15 5 item Landroid/view/MenuItem;
10 15 6 v Landroid/view/View;
14 15 7 subMenu Lcom/android/internal/view/menu/SubMenuBuilder;
18 23 4 expandedId I
20 22 5 itemToExpand Landroid/view/MenuItem;
MethodParameters:
Name Flags
states
protected java.lang.String getActionViewStatesKey();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "android:menu:actionviewstates"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public void setCallback(com.android.internal.view.menu.MenuBuilder$Callback);
descriptor: (Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.android.internal.view.menu.MenuBuilder.mCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 cb Lcom/android/internal/view/menu/MenuBuilder$Callback;
MethodParameters:
Name Flags
cb
private android.view.MenuItem addInternal(int, int, int, java.lang.CharSequence);
descriptor: (IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
invokestatic com.android.internal.view.menu.MenuBuilder.getOrdering:(I)I
istore 5
start local 5 1: aload 0
iload 1
iload 2
iload 3
iload 5
aload 4
2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mDefaultShowAsAction:I
3: invokevirtual com.android.internal.view.menu.MenuBuilder.createNewMenuItem:(IIIILjava/lang/CharSequence;I)Lcom/android/internal/view/menu/MenuItemImpl;
astore 6
start local 6 4: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo;
ifnull 6
5: aload 6
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo;
invokevirtual com.android.internal.view.menu.MenuItemImpl.setMenuInfo:(Landroid/view/ContextMenu$ContextMenuInfo;)V
6: StackMap locals: int com.android.internal.view.menu.MenuItemImpl
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 5
invokestatic com.android.internal.view.menu.MenuBuilder.findInsertIndex:(Ljava/util/ArrayList;I)I
aload 6
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
7: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
8: 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 9 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 9 1 group I
0 9 2 id I
0 9 3 categoryOrder I
0 9 4 title Ljava/lang/CharSequence;
1 9 5 ordering I
4 9 6 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
group
id
categoryOrder
title
private com.android.internal.view.menu.MenuItemImpl createNewMenuItem(int, int, int, int, java.lang.CharSequence, int);
descriptor: (IIIILjava/lang/CharSequence;I)Lcom/android/internal/view/menu/MenuItemImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new com.android.internal.view.menu.MenuItemImpl
dup
aload 0
iload 1
iload 2
iload 3
iload 4
aload 5
1: iload 6
2: invokespecial com.android.internal.view.menu.MenuItemImpl.<init>:(Lcom/android/internal/view/menu/MenuBuilder;IIIILjava/lang/CharSequence;I)V
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 3 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 3 1 group I
0 3 2 id I
0 3 3 categoryOrder I
0 3 4 ordering I
0 3 5 title Ljava/lang/CharSequence;
0 3 6 defaultShowAsAction I
MethodParameters:
Name Flags
group
id
categoryOrder
ordering
title
defaultShowAsAction
public android.view.MenuItem add(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Landroid/view/MenuItem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iconst_0
iconst_0
aload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.addInternal:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 title Ljava/lang/CharSequence;
MethodParameters:
Name Flags
title
public android.view.MenuItem add(int);
descriptor: (I)Landroid/view/MenuItem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iconst_0
iconst_0
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
iload 1
invokevirtual android.content.res.Resources.getString:(I)Ljava/lang/String;
invokevirtual com.android.internal.view.menu.MenuBuilder.addInternal:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 titleRes I
MethodParameters:
Name Flags
titleRes
public android.view.MenuItem add(int, int, int, java.lang.CharSequence);
descriptor: (IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
aload 4
invokevirtual com.android.internal.view.menu.MenuBuilder.addInternal:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 group I
0 1 2 id I
0 1 3 categoryOrder I
0 1 4 title Ljava/lang/CharSequence;
MethodParameters:
Name Flags
group
id
categoryOrder
title
public android.view.MenuItem add(int, int, int, int);
descriptor: (IIII)Landroid/view/MenuItem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
iload 4
invokevirtual android.content.res.Resources.getString:(I)Ljava/lang/String;
invokevirtual com.android.internal.view.menu.MenuBuilder.addInternal:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 group I
0 1 2 id I
0 1 3 categoryOrder I
0 1 4 title I
MethodParameters:
Name Flags
group
id
categoryOrder
title
public android.view.SubMenu addSubMenu(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Landroid/view/SubMenu;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iconst_0
iconst_0
aload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 title Ljava/lang/CharSequence;
MethodParameters:
Name Flags
title
public android.view.SubMenu addSubMenu(int);
descriptor: (I)Landroid/view/SubMenu;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iconst_0
iconst_0
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
iload 1
invokevirtual android.content.res.Resources.getString:(I)Ljava/lang/String;
invokevirtual com.android.internal.view.menu.MenuBuilder.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 titleRes I
MethodParameters:
Name Flags
titleRes
public android.view.SubMenu addSubMenu(int, int, int, java.lang.CharSequence);
descriptor: (IIILjava/lang/CharSequence;)Landroid/view/SubMenu;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
aload 4
invokevirtual com.android.internal.view.menu.MenuBuilder.addInternal:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 5
start local 5 1: new com.android.internal.view.menu.SubMenuBuilder
dup
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mContext:Landroid/content/Context;
aload 0
aload 5
invokespecial com.android.internal.view.menu.SubMenuBuilder.<init>:(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)V
astore 6
start local 6 2: aload 5
aload 6
invokevirtual com.android.internal.view.menu.MenuItemImpl.setSubMenu:(Lcom/android/internal/view/menu/SubMenuBuilder;)V
3: 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 4 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 4 1 group I
0 4 2 id I
0 4 3 categoryOrder I
0 4 4 title Ljava/lang/CharSequence;
1 4 5 item Lcom/android/internal/view/menu/MenuItemImpl;
2 4 6 subMenu Lcom/android/internal/view/menu/SubMenuBuilder;
MethodParameters:
Name Flags
group
id
categoryOrder
title
public android.view.SubMenu addSubMenu(int, int, int, int);
descriptor: (IIII)Landroid/view/SubMenu;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
iload 4
invokevirtual android.content.res.Resources.getString:(I)Ljava/lang/String;
invokevirtual com.android.internal.view.menu.MenuBuilder.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 group I
0 1 2 id I
0 1 3 categoryOrder I
0 1 4 title I
MethodParameters:
Name Flags
group
id
categoryOrder
title
public void setGroupDividerEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.android.internal.view.menu.MenuBuilder.mGroupDividerEnabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 groupDividerEnabled Z
MethodParameters:
Name Flags
groupDividerEnabled
public boolean isGroupDividerEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mGroupDividerEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public int addIntentOptions(int, int, int, android.content.ComponentName, android.content.Intent[], android.content.Intent, int, android.view.MenuItem[]);
descriptor: (IIILandroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I[Landroid/view/MenuItem;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
astore 9
start local 9 1: aload 9
aload 4
aload 5
aload 6
iconst_0
invokevirtual android.content.pm.PackageManager.queryIntentActivityOptions:(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List;
2: astore 10
start local 10 3: aload 10
ifnull 4
aload 10
invokeinterface java.util.List.size:()I
goto 5
StackMap locals: android.content.pm.PackageManager java.util.List
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 11
start local 11 6: iload 7
iconst_1
iand
ifne 8
7: aload 0
iload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.removeGroup:(I)V
8: StackMap locals: int
StackMap stack:
iconst_0
istore 12
start local 12 9: goto 26
10: StackMap locals: int
StackMap stack:
aload 10
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.content.pm.ResolveInfo
astore 13
start local 13 11: new android.content.Intent
dup
12: aload 13
getfield android.content.pm.ResolveInfo.specificIndex:I
ifge 13
aload 6
goto 14
StackMap locals: com.android.internal.view.menu.MenuBuilder int int int android.content.ComponentName android.content.Intent[] android.content.Intent int android.view.MenuItem[] android.content.pm.PackageManager java.util.List int int android.content.pm.ResolveInfo
StackMap stack: new 11 new 11
13: aload 5
aload 13
getfield android.content.pm.ResolveInfo.specificIndex:I
aaload
14: StackMap locals: com.android.internal.view.menu.MenuBuilder int int int android.content.ComponentName android.content.Intent[] android.content.Intent int android.view.MenuItem[] android.content.pm.PackageManager java.util.List int int android.content.pm.ResolveInfo
StackMap stack: new 11 new 11 android.content.Intent
invokespecial android.content.Intent.<init>:(Landroid/content/Intent;)V
astore 14
start local 14 15: aload 14
new android.content.ComponentName
dup
16: aload 13
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.packageName:Ljava/lang/String;
17: aload 13
getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
getfield android.content.pm.ActivityInfo.name:Ljava/lang/String;
invokespecial android.content.ComponentName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
18: invokevirtual android.content.Intent.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent;
pop
19: aload 0
iload 1
iload 2
iload 3
aload 13
aload 9
invokevirtual android.content.pm.ResolveInfo.loadLabel:(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
invokevirtual com.android.internal.view.menu.MenuBuilder.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
20: aload 13
aload 9
invokevirtual android.content.pm.ResolveInfo.loadIcon:(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
invokeinterface android.view.MenuItem.setIcon:(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem;
21: aload 14
invokeinterface android.view.MenuItem.setIntent:(Landroid/content/Intent;)Landroid/view/MenuItem;
22: astore 15
start local 15 23: aload 8
ifnull 25
aload 13
getfield android.content.pm.ResolveInfo.specificIndex:I
iflt 25
24: aload 8
aload 13
getfield android.content.pm.ResolveInfo.specificIndex:I
aload 15
aastore
end local 15 end local 14 end local 13 25: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
26: iload 12
iload 11
if_icmplt 10
end local 12 27: iload 11
ireturn
end local 11 end local 10 end local 9 end local 8 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 28 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 28 1 group I
0 28 2 id I
0 28 3 categoryOrder I
0 28 4 caller Landroid/content/ComponentName;
0 28 5 specifics [Landroid/content/Intent;
0 28 6 intent Landroid/content/Intent;
0 28 7 flags I
0 28 8 outSpecificItems [Landroid/view/MenuItem;
1 28 9 pm Landroid/content/pm/PackageManager;
3 28 10 lri Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
6 28 11 N I
9 27 12 i I
11 25 13 ri Landroid/content/pm/ResolveInfo;
15 25 14 rintent Landroid/content/Intent;
23 25 15 item Landroid/view/MenuItem;
MethodParameters:
Name Flags
group
id
categoryOrder
caller
specifics
intent
flags
outSpecificItems
public void removeItem(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.findItemIndex:(I)I
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.removeItemAtInt:(IZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 id I
MethodParameters:
Name Flags
id
public void removeGroup(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.findGroupIndex:(I)I
istore 2
start local 2 1: iload 2
iflt 8
2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iload 2
isub
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 6
5: StackMap locals: int int int
StackMap stack:
aload 0
iload 2
iconst_0
invokevirtual com.android.internal.view.menu.MenuBuilder.removeItemAtInt:(IZ)V
6: StackMap locals:
StackMap stack:
iload 4
iinc 4 1
iload 3
if_icmpge 7
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
invokevirtual com.android.internal.view.menu.MenuItemImpl.getGroupId:()I
iload 1
if_icmpeq 5
7: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
end local 4 end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 9 1 group I
1 9 2 i I
3 8 3 maxRemovable I
4 8 4 numRemoved I
MethodParameters:
Name Flags
group
private void removeItemAtInt(int, boolean);
descriptor: (IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iflt 1
iload 1
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 2
StackMap locals:
StackMap stack:
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
3: iload 2
ifeq 4
aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 5 1 index I
0 5 2 updateChildrenOnMenuViews Z
MethodParameters:
Name Flags
index
updateChildrenOnMenuViews
public void removeItemAt(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.removeItemAtInt:(IZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 index I
MethodParameters:
Name Flags
index
public void clearAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
1: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.clear:()V
2: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.clearHeader:()V
3: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.clear:()V
4: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
5: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mItemsChangedWhileDispatchPrevented:Z
6: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/android/internal/view/menu/MenuBuilder;
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
ifnull 2
1: aload 0
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
invokevirtual com.android.internal.view.menu.MenuBuilder.collapseItemActionView:(Lcom/android/internal/view/menu/MenuItemImpl;)Z
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
3: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/view/menu/MenuBuilder;
void setExclusiveItemChecked(android.view.MenuItem);
descriptor: (Landroid/view/MenuItem;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface android.view.MenuItem.getGroupId:()I
istore 2
start local 2 1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 12
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 5
start local 5 5: aload 5
invokevirtual com.android.internal.view.menu.MenuItemImpl.getGroupId:()I
iload 2
if_icmpne 11
6: aload 5
invokevirtual com.android.internal.view.menu.MenuItemImpl.isExclusiveCheckable:()Z
ifne 7
goto 11
7: StackMap locals: com.android.internal.view.menu.MenuItemImpl
StackMap stack:
aload 5
invokevirtual com.android.internal.view.menu.MenuItemImpl.isCheckable:()Z
ifne 8
goto 11
8: StackMap locals:
StackMap stack:
aload 5
aload 5
aload 1
if_acmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack: com.android.internal.view.menu.MenuItemImpl
9: iconst_0
StackMap locals: com.android.internal.view.menu.MenuBuilder android.view.MenuItem int int int com.android.internal.view.menu.MenuItemImpl
StackMap stack: com.android.internal.view.menu.MenuItemImpl int
10: invokevirtual com.android.internal.view.menu.MenuItemImpl.setCheckedInt:(Z)V
end local 5 11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 3
if_icmplt 4
end local 4 13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 14 1 item Landroid/view/MenuItem;
1 14 2 group I
2 14 3 N I
3 13 4 i I
5 11 5 curItem Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
item
public void setGroupCheckable(int, boolean, boolean);
descriptor: (IZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 6
start local 6 4: aload 6
invokevirtual com.android.internal.view.menu.MenuItemImpl.getGroupId:()I
iload 1
if_icmpne 7
5: aload 6
iload 3
invokevirtual com.android.internal.view.menu.MenuItemImpl.setExclusiveCheckable:(Z)V
6: aload 6
iload 2
invokevirtual com.android.internal.view.menu.MenuItemImpl.setCheckable:(Z)Landroid/view/MenuItem;
pop
end local 6 7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 4
if_icmplt 3
end local 5 9: return
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 Lcom/android/internal/view/menu/MenuBuilder;
0 10 1 group I
0 10 2 checkable Z
0 10 3 exclusive Z
1 10 4 N I
2 9 5 i I
4 7 6 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
group
checkable
exclusive
public void setGroupVisible(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 8
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 6
start local 6 5: aload 6
invokevirtual com.android.internal.view.menu.MenuItemImpl.getGroupId:()I
iload 1
if_icmpne 7
6: aload 6
iload 2
invokevirtual com.android.internal.view.menu.MenuItemImpl.setVisibleInt:(Z)Z
ifeq 7
iconst_1
istore 4
end local 6 7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 3
if_icmplt 4
end local 5 9: iload 4
ifeq 10
aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 11 1 group I
0 11 2 visible Z
1 11 3 N I
2 11 4 changedAtLeastOneItem Z
3 9 5 i I
5 7 6 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
group
visible
public void setGroupEnabled(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 5
start local 5 4: aload 5
invokevirtual com.android.internal.view.menu.MenuItemImpl.getGroupId:()I
iload 1
if_icmpne 6
5: aload 5
iload 2
invokevirtual com.android.internal.view.menu.MenuItemImpl.setEnabled:(Z)Landroid/view/MenuItem;
pop
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 3
end local 4 8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 9 1 group I
0 9 2 enabled Z
1 9 3 N I
2 8 4 i I
4 6 5 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
group
enabled
public boolean hasVisibleItems();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 3
start local 3 4: aload 3
invokevirtual com.android.internal.view.menu.MenuItemImpl.isVisible:()Z
ifeq 6
5: iconst_1
ireturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 3
end local 2 8: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/view/menu/MenuBuilder;
1 9 1 size I
2 8 2 i I
4 6 3 item Lcom/android/internal/view/menu/MenuItemImpl;
public android.view.MenuItem findItem(int);
descriptor: (I)Landroid/view/MenuItem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 11
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 4
start local 4 4: aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.getItemId:()I
iload 1
if_icmpne 6
5: aload 4
areturn
6: StackMap locals: com.android.internal.view.menu.MenuItemImpl
StackMap stack:
aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.hasSubMenu:()Z
ifeq 10
7: aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.getSubMenu:()Landroid/view/SubMenu;
iload 1
invokeinterface android.view.SubMenu.findItem:(I)Landroid/view/MenuItem;
astore 5
start local 5 8: aload 5
ifnull 10
9: aload 5
areturn
end local 5 end local 4 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 2
if_icmplt 3
end local 3 12: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 13 1 id I
1 13 2 size I
2 12 3 i I
4 10 4 item Lcom/android/internal/view/menu/MenuItemImpl;
8 10 5 possibleItem Landroid/view/MenuItem;
MethodParameters:
Name Flags
id
public int findItemIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 4
start local 4 4: aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.getItemId:()I
iload 1
if_icmpne 6
5: iload 3
ireturn
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 3
end local 3 8: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 9 1 id I
1 9 2 size I
2 8 3 i I
4 6 4 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
id
public int findGroupIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokevirtual com.android.internal.view.menu.MenuBuilder.findGroupIndex:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 group I
MethodParameters:
Name Flags
group
public int findGroupIndex(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
istore 3
start local 3 1: iload 2
ifge 3
2: iconst_0
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
istore 4
start local 4 4: goto 9
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 5
start local 5 6: aload 5
invokevirtual com.android.internal.view.menu.MenuItemImpl.getGroupId:()I
iload 1
if_icmpne 8
7: iload 4
ireturn
end local 5 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 5
end local 4 10: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 11 1 group I
0 11 2 start I
1 11 3 size I
4 10 4 i I
6 8 5 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
group
start
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public android.view.MenuItem getItem(int);
descriptor: (I)Landroid/view/MenuItem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.MenuItem
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 index I
MethodParameters:
Name Flags
index
public boolean isShortcutKey(int, android.view.KeyEvent);
descriptor: (ILandroid/view/KeyEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokevirtual com.android.internal.view.menu.MenuBuilder.findItemWithShortcutForKey:(ILandroid/view/KeyEvent;)Lcom/android/internal/view/menu/MenuItemImpl;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 keyCode I
0 2 2 event Landroid/view/KeyEvent;
MethodParameters:
Name Flags
keyCode
event
public void setQwertyMode(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.android.internal.view.menu.MenuBuilder.mQwertyMode:Z
1: aload 0
iconst_0
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 3 1 isQwerty Z
MethodParameters:
Name Flags
isQwerty
private static int getOrdering(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: iload 0
ldc -65536
iand
bipush 16
ishr
istore 1
start local 1 1: iload 1
iflt 2
iload 1
getstatic com.android.internal.view.menu.MenuBuilder.sCategoryToOrder:[I
arraylength
if_icmplt 3
2: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "order does not contain a valid category."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic com.android.internal.view.menu.MenuBuilder.sCategoryToOrder:[I
iload 1
iaload
bipush 16
ishl
iload 0
ldc 65535
iand
ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 categoryOrder I
1 4 1 index I
MethodParameters:
Name Flags
categoryOrder
boolean isQwertyMode();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mQwertyMode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public void setShortcutsVisible(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mShortcutsVisible:Z
iload 1
if_icmpne 1
return
1: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.setShortcutsVisibleInner:(Z)V
2: aload 0
iconst_0
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 4 1 shortcutsVisible Z
MethodParameters:
Name Flags
shortcutsVisible
private void setShortcutsVisibleInner(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 3
1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
getfield android.content.res.Configuration.keyboard:I
iconst_1
if_icmpeq 3
2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mContext:Landroid/content/Context;
invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
invokevirtual android.view.ViewConfiguration.shouldShowMenuShortcutsWhenKeyboardPresent:()Z
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack: com.android.internal.view.menu.MenuBuilder
3: iconst_0
4: StackMap locals: com.android.internal.view.menu.MenuBuilder int
StackMap stack: com.android.internal.view.menu.MenuBuilder int
putfield com.android.internal.view.menu.MenuBuilder.mShortcutsVisible:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 6 1 shortcutsVisible Z
MethodParameters:
Name Flags
shortcutsVisible
public boolean isShortcutsVisible();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mShortcutsVisible:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
android.content.res.Resources getResources();
descriptor: ()Landroid/content/res/Resources;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mResources:Landroid/content/res/Resources;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public android.content.Context getContext();
descriptor: ()Landroid/content/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mContext:Landroid/content/Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
boolean dispatchMenuItemSelected(com.android.internal.view.menu.MenuBuilder, android.view.MenuItem);
descriptor: (Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
ifnull 1
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
aload 1
aload 2
invokeinterface com.android.internal.view.menu.MenuBuilder$Callback.onMenuItemSelected:(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 menu Lcom/android/internal/view/menu/MenuBuilder;
0 2 2 item Landroid/view/MenuItem;
MethodParameters:
Name Flags
menu
item
public void changeMenuMode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
ifnull 2
1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
aload 0
invokeinterface com.android.internal.view.menu.MenuBuilder$Callback.onMenuModeChange:(Lcom/android/internal/view/menu/MenuBuilder;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuBuilder;
private static int findInsertIndex(java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl>, );
descriptor: (Ljava/util/ArrayList;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 3
start local 3 3: aload 3
invokevirtual com.android.internal.view.menu.MenuItemImpl.getOrdering:()I
iload 1
if_icmpgt 5
4: iload 2
iconst_1
iadd
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
6: iload 2
ifge 2
end local 2 7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 items Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
0 8 1 ordering I
1 7 2 i I
3 5 3 item Lcom/android/internal/view/menu/MenuItemImpl;
Signature: (Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;I)I
MethodParameters:
Name Flags
items
ordering
public boolean performShortcut(int, android.view.KeyEvent, int);
descriptor: (ILandroid/view/KeyEvent;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
invokevirtual com.android.internal.view.menu.MenuBuilder.findItemWithShortcutForKey:(ILandroid/view/KeyEvent;)Lcom/android/internal/view/menu/MenuItemImpl;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: aload 4
ifnull 4
3: aload 0
aload 4
iload 3
invokevirtual com.android.internal.view.menu.MenuBuilder.performItemAction:(Landroid/view/MenuItem;I)Z
istore 5
4: StackMap locals: com.android.internal.view.menu.MenuItemImpl int
StackMap stack:
iload 3
iconst_2
iand
ifeq 6
5: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.close:(Z)V
6: StackMap locals:
StackMap stack:
iload 5
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 7 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 7 1 keyCode I
0 7 2 event Landroid/view/KeyEvent;
0 7 3 flags I
1 7 4 item Lcom/android/internal/view/menu/MenuItemImpl;
2 7 5 handled Z
MethodParameters:
Name Flags
keyCode
event
flags
void findItemsWithShortcutForKey(java.util.List<com.android.internal.view.menu.MenuItemImpl>, int, android.view.KeyEvent);
descriptor: (Ljava/util/List;ILandroid/view/KeyEvent;)V
flags: (0x0000)
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.isQwertyMode:()Z
istore 4
start local 4 1: aload 3
invokevirtual android.view.KeyEvent.getModifiers:()I
istore 5
start local 5 2: new android.view.KeyCharacterMap$KeyData
dup
invokespecial android.view.KeyCharacterMap$KeyData.<init>:()V
astore 6
start local 6 3: aload 3
aload 6
invokevirtual android.view.KeyEvent.getKeyData:(Landroid/view/KeyCharacterMap$KeyData;)Z
istore 7
start local 7 4: iload 7
ifne 6
iload 2
bipush 67
if_icmpeq 6
5: return
6: StackMap locals: com.android.internal.view.menu.MenuBuilder java.util.List int android.view.KeyEvent int int android.view.KeyCharacterMap$KeyData int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 8
start local 8 7: iconst_0
istore 9
start local 9 8: goto 31
9: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 10
start local 10 10: aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.hasSubMenu:()Z
ifeq 12
11: aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.getSubMenu:()Landroid/view/SubMenu;
checkcast com.android.internal.view.menu.MenuBuilder
aload 1
iload 2
aload 3
invokevirtual com.android.internal.view.menu.MenuBuilder.findItemsWithShortcutForKey:(Ljava/util/List;ILandroid/view/KeyEvent;)V
12: StackMap locals: com.android.internal.view.menu.MenuItemImpl
StackMap stack:
iload 4
ifeq 13
aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.getAlphabeticShortcut:()C
goto 14
StackMap locals:
StackMap stack:
13: aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.getNumericShortcut:()C
14: StackMap locals:
StackMap stack: int
istore 11
start local 11 15: iload 4
ifeq 16
aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.getAlphabeticModifiers:()I
goto 17
StackMap locals: int
StackMap stack:
16: aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.getNumericModifiers:()I
17: StackMap locals:
StackMap stack: int
istore 12
start local 12 18: iload 5
ldc 69647
iand
19: iload 12
ldc 69647
iand
20: if_icmpne 21
iconst_1
goto 22
StackMap locals: int
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 13
start local 13 23: iload 13
ifeq 30
iload 11
ifeq 30
24: iload 11
aload 6
getfield android.view.KeyCharacterMap$KeyData.meta:[C
iconst_0
caload
if_icmpeq 28
25: iload 11
aload 6
getfield android.view.KeyCharacterMap$KeyData.meta:[C
iconst_2
caload
if_icmpeq 28
26: iload 4
ifeq 30
iload 11
bipush 8
if_icmpne 30
27: iload 2
bipush 67
if_icmpne 30
28: StackMap locals: int
StackMap stack:
aload 10
invokevirtual com.android.internal.view.menu.MenuItemImpl.isEnabled:()Z
ifeq 30
29: aload 1
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 end local 11 end local 10 30: StackMap locals: com.android.internal.view.menu.MenuBuilder java.util.List int android.view.KeyEvent int int android.view.KeyCharacterMap$KeyData int int int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
31: iload 9
iload 8
if_icmplt 9
end local 9 32: return
end local 8 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 33 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 33 1 items Ljava/util/List<Lcom/android/internal/view/menu/MenuItemImpl;>;
0 33 2 keyCode I
0 33 3 event Landroid/view/KeyEvent;
1 33 4 qwerty Z
2 33 5 modifierState I
3 33 6 possibleChars Landroid/view/KeyCharacterMap$KeyData;
4 33 7 isKeyCodeMapped Z
7 33 8 N I
8 32 9 i I
10 30 10 item Lcom/android/internal/view/menu/MenuItemImpl;
15 30 11 shortcutChar C
18 30 12 shortcutModifiers I
23 30 13 isModifiersExactMatch Z
Signature: (Ljava/util/List<Lcom/android/internal/view/menu/MenuItemImpl;>;ILandroid/view/KeyEvent;)V
MethodParameters:
Name Flags
items
keyCode
event
com.android.internal.view.menu.MenuItemImpl findItemWithShortcutForKey(int, android.view.KeyEvent);
descriptor: (ILandroid/view/KeyEvent;)Lcom/android/internal/view/menu/MenuItemImpl;
flags: (0x0000)
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mTempShortcutItemList:Ljava/util/ArrayList;
astore 3
start local 3 1: aload 3
invokevirtual java.util.ArrayList.clear:()V
2: aload 0
aload 3
iload 1
aload 2
invokevirtual com.android.internal.view.menu.MenuBuilder.findItemsWithShortcutForKey:(Ljava/util/List;ILandroid/view/KeyEvent;)V
3: aload 3
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 5
4: aconst_null
areturn
5: StackMap locals: java.util.ArrayList
StackMap stack:
aload 2
invokevirtual android.view.KeyEvent.getMetaState:()I
istore 4
start local 4 6: new android.view.KeyCharacterMap$KeyData
dup
invokespecial android.view.KeyCharacterMap$KeyData.<init>:()V
astore 5
start local 5 7: aload 2
aload 5
invokevirtual android.view.KeyEvent.getKeyData:(Landroid/view/KeyCharacterMap$KeyData;)Z
pop
8: aload 3
invokevirtual java.util.ArrayList.size:()I
istore 6
start local 6 9: iload 6
iconst_1
if_icmpne 11
10: aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
areturn
11: StackMap locals: int android.view.KeyCharacterMap$KeyData int
StackMap stack:
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.isQwertyMode:()Z
istore 7
start local 7 12: iconst_0
istore 8
start local 8 13: goto 26
14: StackMap locals: int int
StackMap stack:
aload 3
iload 8
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 9
start local 9 15: iload 7
ifeq 16
aload 9
invokevirtual com.android.internal.view.menu.MenuItemImpl.getAlphabeticShortcut:()C
goto 17
16: StackMap locals: com.android.internal.view.menu.MenuItemImpl
StackMap stack:
aload 9
invokevirtual com.android.internal.view.menu.MenuItemImpl.getNumericShortcut:()C
17: StackMap locals:
StackMap stack: int
istore 10
start local 10 18: iload 10
aload 5
getfield android.view.KeyCharacterMap$KeyData.meta:[C
iconst_0
caload
if_icmpne 20
19: iload 4
iconst_2
iand
ifeq 24
20: StackMap locals: int
StackMap stack:
iload 10
aload 5
getfield android.view.KeyCharacterMap$KeyData.meta:[C
iconst_2
caload
if_icmpne 22
21: iload 4
iconst_2
iand
ifne 24
22: StackMap locals:
StackMap stack:
iload 7
ifeq 25
iload 10
bipush 8
if_icmpne 25
23: iload 1
bipush 67
if_icmpne 25
24: StackMap locals:
StackMap stack:
aload 9
areturn
end local 10 end local 9 25: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
26: iload 8
iload 6
if_icmplt 14
end local 8 27: aconst_null
areturn
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 28 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 28 1 keyCode I
0 28 2 event Landroid/view/KeyEvent;
1 28 3 items Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
6 28 4 metaState I
7 28 5 possibleChars Landroid/view/KeyCharacterMap$KeyData;
9 28 6 size I
12 28 7 qwerty Z
13 27 8 i I
15 25 9 item Lcom/android/internal/view/menu/MenuItemImpl;
18 25 10 shortcutChar C
MethodParameters:
Name Flags
keyCode
event
public boolean performIdentifierAction(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.findItem:(I)Landroid/view/MenuItem;
iload 2
invokevirtual com.android.internal.view.menu.MenuBuilder.performItemAction:(Landroid/view/MenuItem;I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 id I
0 1 2 flags I
MethodParameters:
Name Flags
id
flags
public boolean performItemAction(android.view.MenuItem, int);
descriptor: (Landroid/view/MenuItem;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
iload 2
invokevirtual com.android.internal.view.menu.MenuBuilder.performItemAction:(Landroid/view/MenuItem;Lcom/android/internal/view/menu/MenuPresenter;I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 1 1 item Landroid/view/MenuItem;
0 1 2 flags I
MethodParameters:
Name Flags
item
flags
public boolean performItemAction(android.view.MenuItem, com.android.internal.view.menu.MenuPresenter, int);
descriptor: (Landroid/view/MenuItem;Lcom/android/internal/view/menu/MenuPresenter;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.android.internal.view.menu.MenuItemImpl
astore 4
start local 4 1: aload 4
ifnull 2
aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.isEnabled:()Z
ifne 3
2: StackMap locals: com.android.internal.view.menu.MenuItemImpl
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.invoke:()Z
istore 5
start local 5 4: aload 1
invokeinterface android.view.MenuItem.getActionProvider:()Landroid/view/ActionProvider;
astore 6
start local 6 5: aload 6
ifnull 6
aload 6
invokevirtual android.view.ActionProvider.hasSubMenu:()Z
ifeq 6
iconst_1
goto 7
StackMap locals: int android.view.ActionProvider
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 7
start local 7 8: aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.hasCollapsibleActionView:()Z
ifeq 13
9: iload 5
aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.expandActionView:()Z
ior
istore 5
10: iload 5
ifeq 25
11: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.close:(Z)V
12: goto 25
StackMap locals: int
StackMap stack:
13: aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.hasSubMenu:()Z
ifne 14
iload 7
ifeq 23
14: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.hasSubMenu:()Z
ifne 16
15: aload 4
new com.android.internal.view.menu.SubMenuBuilder
dup
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getContext:()Landroid/content/Context;
aload 0
aload 4
invokespecial com.android.internal.view.menu.SubMenuBuilder.<init>:(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)V
invokevirtual com.android.internal.view.menu.MenuItemImpl.setSubMenu:(Lcom/android/internal/view/menu/SubMenuBuilder;)V
16: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.android.internal.view.menu.MenuItemImpl.getSubMenu:()Landroid/view/SubMenu;
checkcast com.android.internal.view.menu.SubMenuBuilder
astore 8
start local 8 17: iload 7
ifeq 19
18: aload 6
aload 8
invokevirtual android.view.ActionProvider.onPrepareSubMenu:(Landroid/view/SubMenu;)V
19: StackMap locals: com.android.internal.view.menu.SubMenuBuilder
StackMap stack:
iload 5
aload 0
aload 8
aload 2
invokevirtual com.android.internal.view.menu.MenuBuilder.dispatchSubMenuSelected:(Lcom/android/internal/view/menu/SubMenuBuilder;Lcom/android/internal/view/menu/MenuPresenter;)Z
ior
istore 5
20: iload 5
ifne 25
21: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.close:(Z)V
end local 8 22: goto 25
23: StackMap locals:
StackMap stack:
iload 3
iconst_1
iand
ifne 25
24: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.close:(Z)V
25: StackMap locals:
StackMap stack:
iload 5
ireturn
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 26 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 26 1 item Landroid/view/MenuItem;
0 26 2 preferredPresenter Lcom/android/internal/view/menu/MenuPresenter;
0 26 3 flags I
1 26 4 itemImpl Lcom/android/internal/view/menu/MenuItemImpl;
4 26 5 invoked Z
5 26 6 provider Landroid/view/ActionProvider;
8 26 7 providerHasSubMenu Z
17 22 8 subMenu Lcom/android/internal/view/menu/SubMenuBuilder;
MethodParameters:
Name Flags
item
preferredPresenter
flags
public final void close(boolean);
descriptor: (Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mIsClosing:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsClosing:Z
2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: com.android.internal.view.menu.MenuBuilder int top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 4: aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 4
start local 4 5: aload 4
ifnonnull 8
6: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 2
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
7: goto 9
8: StackMap locals: com.android.internal.view.menu.MenuBuilder int java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
aload 4
aload 0
iload 1
invokeinterface com.android.internal.view.menu.MenuPresenter.onCloseMenu:(Lcom/android/internal/view/menu/MenuBuilder;Z)V
end local 4 end local 2 9: StackMap locals: com.android.internal.view.menu.MenuBuilder int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mIsClosing:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 12 1 closeAllMenus Z
4 9 2 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
5 9 4 presenter Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
closeAllMenus
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.close:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
public void onItemsChanged(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
ifne 6
1: iload 1
ifeq 4
2: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsVisibleItemsStale:Z
3: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.dispatchPresenterUpdate:(Z)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mItemsChangedWhileDispatchPrevented:Z
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 8 1 structureChanged Z
MethodParameters:
Name Flags
structureChanged
public void stopDispatchingItemsChanged();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
ifne 3
1: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
2: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mItemsChangedWhileDispatchPrevented:Z
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/view/menu/MenuBuilder;
public void startDispatchingItemsChanged();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mPreventDispatchingItemsChanged:Z
1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItemsChangedWhileDispatchPrevented:Z
ifeq 4
2: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mItemsChangedWhileDispatchPrevented:Z
3: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/view/menu/MenuBuilder;
void onItemVisibleChanged(com.android.internal.view.menu.MenuItemImpl);
descriptor: (Lcom/android/internal/view/menu/MenuItemImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsVisibleItemsStale:Z
1: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 3 1 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
item
void onItemActionRequestChanged(com.android.internal.view.menu.MenuItemImpl);
descriptor: (Lcom/android/internal/view/menu/MenuItemImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
1: aload 0
iconst_1
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 3 1 item Lcom/android/internal/view/menu/MenuItemImpl;
MethodParameters:
Name Flags
item
public java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> getVisibleItems();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mIsVisibleItemsStale:Z
ifne 1
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mVisibleItems:Ljava/util/ArrayList;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mVisibleItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
2: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 1
start local 1 3: iconst_0
istore 3
start local 3 4: goto 8
5: StackMap locals: com.android.internal.view.menu.MenuBuilder int top int
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mItems:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 2
start local 2 6: aload 2
invokevirtual com.android.internal.view.menu.MenuItemImpl.isVisible:()Z
ifeq 7
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mVisibleItems:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: com.android.internal.view.menu.MenuBuilder int com.android.internal.view.menu.MenuItemImpl int
StackMap stack:
iinc 3 1
end local 2 StackMap locals: com.android.internal.view.menu.MenuBuilder int top int
StackMap stack:
8: iload 3
iload 1
if_icmplt 5
end local 3 9: aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mIsVisibleItemsStale:Z
10: aload 0
iconst_1
putfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
11: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mVisibleItems:Ljava/util/ArrayList;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/internal/view/menu/MenuBuilder;
3 12 1 itemsSize I
6 8 2 item Lcom/android/internal/view/menu/MenuItemImpl;
4 9 3 i I
Signature: ()Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
public void flagActionItems();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getVisibleItems:()Ljava/util/ArrayList;
astore 1
start local 1 1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
ifne 3
2: return
3: StackMap locals: java.util.ArrayList
StackMap stack:
iconst_0
istore 2
start local 2 4: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: com.android.internal.view.menu.MenuBuilder java.util.ArrayList int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 3
start local 3 6: aload 3
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 5
start local 5 7: aload 5
ifnonnull 10
8: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 3
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
9: goto 11
10: StackMap locals: com.android.internal.view.menu.MenuBuilder java.util.ArrayList int java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
iload 2
aload 5
invokeinterface com.android.internal.view.menu.MenuPresenter.flagActionItems:()Z
ior
istore 2
end local 5 end local 3 11: StackMap locals: com.android.internal.view.menu.MenuBuilder java.util.ArrayList int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: iload 2
ifeq 26
13: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mActionItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
14: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mNonActionItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
15: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 16: iconst_0
istore 4
start local 4 17: goto 24
18: StackMap locals: com.android.internal.view.menu.MenuBuilder java.util.ArrayList int int int
StackMap stack:
aload 1
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuItemImpl
astore 5
start local 5 19: aload 5
invokevirtual com.android.internal.view.menu.MenuItemImpl.isActionButton:()Z
ifeq 22
20: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mActionItems:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: goto 23
22: StackMap locals: com.android.internal.view.menu.MenuItemImpl
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mNonActionItems:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 23: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
24: iload 4
iload 3
if_icmplt 18
end local 4 end local 3 25: goto 29
26: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mActionItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
27: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mNonActionItems:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
28: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mNonActionItems:Ljava/util/ArrayList;
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getVisibleItems:()Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
29: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.android.internal.view.menu.MenuBuilder.mIsActionItemsStale:Z
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/android/internal/view/menu/MenuBuilder;
1 31 1 visibleItems Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
4 31 2 flagged Z
6 11 3 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
7 11 5 presenter Lcom/android/internal/view/menu/MenuPresenter;
16 25 3 itemsSize I
17 25 4 i I
19 23 5 item Lcom/android/internal/view/menu/MenuItemImpl;
public java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> getActionItems();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.flagActionItems:()V
1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mActionItems:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
Signature: ()Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
public java.util.ArrayList<com.android.internal.view.menu.MenuItemImpl> getNonActionItems();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.flagActionItems:()V
1: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mNonActionItems:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
Signature: ()Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
public void clearHeader();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mHeaderIcon:Landroid/graphics/drawable/Drawable;
1: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mHeaderTitle:Ljava/lang/CharSequence;
2: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mHeaderView:Landroid/view/View;
3: aload 0
iconst_0
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/view/menu/MenuBuilder;
private void setHeaderInternal(int, java.lang.CharSequence, int, android.graphics.drawable.Drawable, android.view.View);
descriptor: (ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, 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 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getResources:()Landroid/content/res/Resources;
astore 6
start local 6 1: aload 5
ifnull 6
2: aload 0
aload 5
putfield com.android.internal.view.menu.MenuBuilder.mHeaderView:Landroid/view/View;
3: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mHeaderTitle:Ljava/lang/CharSequence;
4: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mHeaderIcon:Landroid/graphics/drawable/Drawable;
5: goto 17
6: StackMap locals: android.content.res.Resources
StackMap stack:
iload 1
ifle 9
7: aload 0
aload 6
iload 1
invokevirtual android.content.res.Resources.getText:(I)Ljava/lang/CharSequence;
putfield com.android.internal.view.menu.MenuBuilder.mHeaderTitle:Ljava/lang/CharSequence;
8: goto 11
StackMap locals:
StackMap stack:
9: aload 2
ifnull 11
10: aload 0
aload 2
putfield com.android.internal.view.menu.MenuBuilder.mHeaderTitle:Ljava/lang/CharSequence;
11: StackMap locals:
StackMap stack:
iload 3
ifle 14
12: aload 0
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.getContext:()Landroid/content/Context;
iload 3
invokevirtual android.content.Context.getDrawable:(I)Landroid/graphics/drawable/Drawable;
putfield com.android.internal.view.menu.MenuBuilder.mHeaderIcon:Landroid/graphics/drawable/Drawable;
13: goto 16
StackMap locals:
StackMap stack:
14: aload 4
ifnull 16
15: aload 0
aload 4
putfield com.android.internal.view.menu.MenuBuilder.mHeaderIcon:Landroid/graphics/drawable/Drawable;
16: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mHeaderView:Landroid/view/View;
17: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.android.internal.view.menu.MenuBuilder.onItemsChanged:(Z)V
18: 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 19 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 19 1 titleRes I
0 19 2 title Ljava/lang/CharSequence;
0 19 3 iconRes I
0 19 4 icon Landroid/graphics/drawable/Drawable;
0 19 5 view Landroid/view/View;
1 19 6 r Landroid/content/res/Resources;
MethodParameters:
Name Flags
titleRes final
title final
iconRes final
icon final
view final
protected com.android.internal.view.menu.MenuBuilder setHeaderTitleInt(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 1
iconst_0
aconst_null
aconst_null
invokevirtual com.android.internal.view.menu.MenuBuilder.setHeaderInternal:(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 title Ljava/lang/CharSequence;
MethodParameters:
Name Flags
title
protected com.android.internal.view.menu.MenuBuilder setHeaderTitleInt(int);
descriptor: (I)Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aconst_null
iconst_0
aconst_null
aconst_null
invokevirtual com.android.internal.view.menu.MenuBuilder.setHeaderInternal:(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 titleRes I
MethodParameters:
Name Flags
titleRes
protected com.android.internal.view.menu.MenuBuilder setHeaderIconInt(android.graphics.drawable.Drawable);
descriptor: (Landroid/graphics/drawable/Drawable;)Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aconst_null
iconst_0
aload 1
aconst_null
invokevirtual com.android.internal.view.menu.MenuBuilder.setHeaderInternal:(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 icon Landroid/graphics/drawable/Drawable;
MethodParameters:
Name Flags
icon
protected com.android.internal.view.menu.MenuBuilder setHeaderIconInt(int);
descriptor: (I)Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aconst_null
iload 1
aconst_null
aconst_null
invokevirtual com.android.internal.view.menu.MenuBuilder.setHeaderInternal:(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 iconRes I
MethodParameters:
Name Flags
iconRes
protected com.android.internal.view.menu.MenuBuilder setHeaderViewInt(android.view.View);
descriptor: (Landroid/view/View;)Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aconst_null
iconst_0
aconst_null
aload 1
invokevirtual com.android.internal.view.menu.MenuBuilder.setHeaderInternal:(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 view Landroid/view/View;
MethodParameters:
Name Flags
view
public java.lang.CharSequence getHeaderTitle();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mHeaderTitle:Ljava/lang/CharSequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public android.graphics.drawable.Drawable getHeaderIcon();
descriptor: ()Landroid/graphics/drawable/Drawable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mHeaderIcon:Landroid/graphics/drawable/Drawable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public android.view.View getHeaderView();
descriptor: ()Landroid/view/View;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mHeaderView:Landroid/view/View;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public com.android.internal.view.menu.MenuBuilder getRootMenu();
descriptor: ()Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public void setCurrentMenuInfo(android.view.ContextMenu$ContextMenuInfo);
descriptor: (Landroid/view/ContextMenu$ContextMenuInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.android.internal.view.menu.MenuBuilder.mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 menuInfo Landroid/view/ContextMenu$ContextMenuInfo;
MethodParameters:
Name Flags
menuInfo
void setOptionalIconsVisible(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.android.internal.view.menu.MenuBuilder.mOptionalIconsVisible:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 2 1 visible Z
MethodParameters:
Name Flags
visible
boolean getOptionalIconsVisible();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mOptionalIconsVisible:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
public boolean expandItemActionView(com.android.internal.view.menu.MenuItemImpl);
descriptor: (Lcom/android/internal/view/menu/MenuItemImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.isEmpty:()Z
ifeq 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.stopDispatchingItemsChanged:()V
3: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 3
start local 3 5: aload 3
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 5
start local 5 6: aload 5
ifnonnull 9
7: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 3
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
8: goto 11
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
9: aload 5
aload 0
aload 1
invokeinterface com.android.internal.view.menu.MenuPresenter.expandItemActionView:(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
dup
istore 2
ifeq 11
10: goto 12
end local 5 end local 3 11: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int
StackMap stack:
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.startDispatchingItemsChanged:()V
13: iload 2
ifeq 15
14: aload 0
aload 1
putfield com.android.internal.view.menu.MenuBuilder.mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
15: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 16 1 item Lcom/android/internal/view/menu/MenuItemImpl;
2 16 2 expanded Z
5 11 3 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
6 11 5 presenter Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
item
public boolean collapseItemActionView(com.android.internal.view.menu.MenuItemImpl);
descriptor: (Lcom/android/internal/view/menu/MenuItemImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.isEmpty:()Z
ifne 1
aload 0
getfield com.android.internal.view.menu.MenuBuilder.mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
aload 1
if_acmpeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.stopDispatchingItemsChanged:()V
4: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 3
start local 3 6: aload 3
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.internal.view.menu.MenuPresenter
astore 5
start local 5 7: aload 5
ifnonnull 10
8: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 3
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
9: goto 12
StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int java.lang.ref.WeakReference java.util.Iterator com.android.internal.view.menu.MenuPresenter
StackMap stack:
10: aload 5
aload 0
aload 1
invokeinterface com.android.internal.view.menu.MenuPresenter.collapseItemActionView:(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
dup
istore 2
ifeq 12
11: goto 13
end local 5 end local 3 12: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: StackMap locals: com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.MenuItemImpl int
StackMap stack:
aload 0
invokevirtual com.android.internal.view.menu.MenuBuilder.startDispatchingItemsChanged:()V
14: iload 2
ifeq 16
15: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuBuilder.mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
16: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/android/internal/view/menu/MenuBuilder;
0 17 1 item Lcom/android/internal/view/menu/MenuItemImpl;
3 17 2 collapsed Z
6 12 3 ref Ljava/lang/ref/WeakReference<Lcom/android/internal/view/menu/MenuPresenter;>;
7 12 5 presenter Lcom/android/internal/view/menu/MenuPresenter;
MethodParameters:
Name Flags
item
public com.android.internal.view.menu.MenuItemImpl getExpandedItem();
descriptor: ()Lcom/android/internal/view/menu/MenuItemImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuBuilder.mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuBuilder;
}
SourceFile: "MenuBuilder.java"
NestMembers:
com.android.internal.view.menu.MenuBuilder$Callback com.android.internal.view.menu.MenuBuilder$ItemInvoker
InnerClasses:
public abstract ContextMenuInfo = android.view.ContextMenu$ContextMenuInfo of android.view.ContextMenu
public KeyData = android.view.KeyCharacterMap$KeyData of android.view.KeyCharacterMap
public abstract Callback = com.android.internal.view.menu.MenuBuilder$Callback of com.android.internal.view.menu.MenuBuilder
public abstract ItemInvoker = com.android.internal.view.menu.MenuBuilder$ItemInvoker of com.android.internal.view.menu.MenuBuilder