public abstract class com.android.internal.view.menu.BaseMenuPresenter implements com.android.internal.view.menu.MenuPresenter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.android.internal.view.menu.BaseMenuPresenter
  super_class: java.lang.Object
{
  protected android.content.Context mSystemContext;
    descriptor: Landroid/content/Context;
    flags: (0x0004) ACC_PROTECTED

  protected android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0004) ACC_PROTECTED

  protected com.android.internal.view.menu.MenuBuilder mMenu;
    descriptor: Lcom/android/internal/view/menu/MenuBuilder;
    flags: (0x0004) ACC_PROTECTED

  protected android.view.LayoutInflater mSystemInflater;
    descriptor: Landroid/view/LayoutInflater;
    flags: (0x0004) ACC_PROTECTED

  protected android.view.LayoutInflater mInflater;
    descriptor: Landroid/view/LayoutInflater;
    flags: (0x0004) ACC_PROTECTED

  private com.android.internal.view.menu.MenuPresenter$Callback mCallback;
    descriptor: Lcom/android/internal/view/menu/MenuPresenter$Callback;
    flags: (0x0002) ACC_PRIVATE

  private int mMenuLayoutRes;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mItemLayoutRes;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  protected com.android.internal.view.menu.MenuView mMenuView;
    descriptor: Lcom/android/internal/view/menu/MenuView;
    flags: (0x0004) ACC_PROTECTED

  private int mId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.content.Context, int, int);
    descriptor: (Landroid/content/Context;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // android.content.Context context
        start local 2 // int menuLayoutRes
        start local 3 // int itemLayoutRes
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* context */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mSystemContext:Landroid/content/Context;
         2: .line 57
            aload 0 /* this */
            aload 1 /* context */
            invokestatic android.view.LayoutInflater.from:(Landroid/content/Context;)Landroid/view/LayoutInflater;
            putfield com.android.internal.view.menu.BaseMenuPresenter.mSystemInflater:Landroid/view/LayoutInflater;
         3: .line 58
            aload 0 /* this */
            iload 2 /* menuLayoutRes */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mMenuLayoutRes:I
         4: .line 59
            aload 0 /* this */
            iload 3 /* itemLayoutRes */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mItemLayoutRes:I
         5: .line 60
            return
        end local 3 // int itemLayoutRes
        end local 2 // int menuLayoutRes
        end local 1 // android.content.Context context
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    6     1        context  Landroid/content/Context;
            0    6     2  menuLayoutRes  I
            0    6     3  itemLayoutRes  I
    MethodParameters:
               Name  Flags
      context        
      menuLayoutRes  
      itemLayoutRes  

  public void initForMenu(android.content.Context, com.android.internal.view.menu.MenuBuilder);
    descriptor: (Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // android.content.Context context
        start local 2 // com.android.internal.view.menu.MenuBuilder menu
         0: .line 64
            aload 0 /* this */
            aload 1 /* context */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mContext:Landroid/content/Context;
         1: .line 65
            aload 0 /* this */
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mContext:Landroid/content/Context;
            invokestatic android.view.LayoutInflater.from:(Landroid/content/Context;)Landroid/view/LayoutInflater;
            putfield com.android.internal.view.menu.BaseMenuPresenter.mInflater:Landroid/view/LayoutInflater;
         2: .line 66
            aload 0 /* this */
            aload 2 /* menu */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mMenu:Lcom/android/internal/view/menu/MenuBuilder;
         3: .line 67
            return
        end local 2 // com.android.internal.view.menu.MenuBuilder menu
        end local 1 // android.content.Context context
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    4     1  context  Landroid/content/Context;
            0    4     2     menu  Lcom/android/internal/view/menu/MenuBuilder;
    MethodParameters:
         Name  Flags
      context  
      menu     

  public com.android.internal.view.menu.MenuView getMenuView(android.view.ViewGroup);
    descriptor: (Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // android.view.ViewGroup root
         0: .line 71
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenuView:Lcom/android/internal/view/menu/MenuView;
            ifnonnull 4
         1: .line 72
            aload 0 /* this */
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mSystemInflater:Landroid/view/LayoutInflater;
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenuLayoutRes:I
            aload 1 /* root */
            iconst_0
            invokevirtual android.view.LayoutInflater.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View;
            checkcast com.android.internal.view.menu.MenuView
            putfield com.android.internal.view.menu.BaseMenuPresenter.mMenuView:Lcom/android/internal/view/menu/MenuView;
         2: .line 73
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenuView:Lcom/android/internal/view/menu/MenuView;
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenu:Lcom/android/internal/view/menu/MenuBuilder;
            invokeinterface com.android.internal.view.menu.MenuView.initialize:(Lcom/android/internal/view/menu/MenuBuilder;)V
         3: .line 74
            aload 0 /* this */
            iconst_1
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.updateMenuView:(Z)V
         4: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenuView:Lcom/android/internal/view/menu/MenuView;
            areturn
        end local 1 // android.view.ViewGroup root
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    5     1  root  Landroid/view/ViewGroup;
    MethodParameters:
      Name  Flags
      root  

  public void updateMenuView(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // boolean cleared
         0: .line 84
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenuView:Lcom/android/internal/view/menu/MenuView;
            checkcast android.view.ViewGroup
            astore 2 /* parent */
        start local 2 // android.view.ViewGroup parent
         1: .line 85
            aload 2 /* parent */
            ifnonnull 2
            return
         2: .line 87
      StackMap locals: android.view.ViewGroup
      StackMap stack:
            iconst_0
            istore 3 /* childIndex */
        start local 3 // int childIndex
         3: .line 88
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenu:Lcom/android/internal/view/menu/MenuBuilder;
            ifnull 28
         4: .line 89
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenu:Lcom/android/internal/view/menu/MenuBuilder;
            invokevirtual com.android.internal.view.menu.MenuBuilder.flagActionItems:()V
         5: .line 90
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenu:Lcom/android/internal/view/menu/MenuBuilder;
            invokevirtual com.android.internal.view.menu.MenuBuilder.getVisibleItems:()Ljava/util/ArrayList;
            astore 4 /* visibleItems */
        start local 4 // java.util.ArrayList visibleItems
         6: .line 91
            aload 4 /* visibleItems */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* itemCount */
        start local 5 // int itemCount
         7: .line 92
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 24
         9: .line 93
      StackMap locals: com.android.internal.view.menu.BaseMenuPresenter int android.view.ViewGroup int java.util.ArrayList int int
      StackMap stack:
            aload 4 /* visibleItems */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.android.internal.view.menu.MenuItemImpl
            astore 7 /* item */
        start local 7 // com.android.internal.view.menu.MenuItemImpl item
        10: .line 94
            aload 0 /* this */
            iload 3 /* childIndex */
            aload 7 /* item */
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.shouldIncludeItem:(ILcom/android/internal/view/menu/MenuItemImpl;)Z
            ifeq 23
        11: .line 95
            aload 2 /* parent */
            iload 3 /* childIndex */
            invokevirtual android.view.ViewGroup.getChildAt:(I)Landroid/view/View;
            astore 8 /* convertView */
        start local 8 // android.view.View convertView
        12: .line 96
            aload 8 /* convertView */
            instanceof com.android.internal.view.menu.MenuView$ItemView
            ifeq 14
        13: .line 97
            aload 8 /* convertView */
            checkcast com.android.internal.view.menu.MenuView$ItemView
            invokeinterface com.android.internal.view.menu.MenuView$ItemView.getItemData:()Lcom/android/internal/view/menu/MenuItemImpl;
            goto 15
      StackMap locals: com.android.internal.view.menu.MenuItemImpl android.view.View
      StackMap stack:
        14: aconst_null
        15: .line 96
      StackMap locals:
      StackMap stack: com.android.internal.view.menu.MenuItemImpl
            astore 9 /* oldItem */
        start local 9 // com.android.internal.view.menu.MenuItemImpl oldItem
        16: .line 98
            aload 0 /* this */
            aload 7 /* item */
            aload 8 /* convertView */
            aload 2 /* parent */
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.getItemView:(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
            astore 10 /* itemView */
        start local 10 // android.view.View itemView
        17: .line 99
            aload 7 /* item */
            aload 9 /* oldItem */
            if_acmpeq 20
        18: .line 101
            aload 10 /* itemView */
            iconst_0
            invokevirtual android.view.View.setPressed:(Z)V
        19: .line 102
            aload 10 /* itemView */
            invokevirtual android.view.View.jumpDrawablesToCurrentState:()V
        20: .line 104
      StackMap locals: com.android.internal.view.menu.MenuItemImpl android.view.View
      StackMap stack:
            aload 10 /* itemView */
            aload 8 /* convertView */
            if_acmpeq 22
        21: .line 105
            aload 0 /* this */
            aload 10 /* itemView */
            iload 3 /* childIndex */
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.addItemView:(Landroid/view/View;I)V
        22: .line 107
      StackMap locals:
      StackMap stack:
            iinc 3 /* childIndex */ 1
        end local 10 // android.view.View itemView
        end local 9 // com.android.internal.view.menu.MenuItemImpl oldItem
        end local 8 // android.view.View convertView
        end local 7 // com.android.internal.view.menu.MenuItemImpl item
        23: .line 92
      StackMap locals: com.android.internal.view.menu.BaseMenuPresenter int android.view.ViewGroup int java.util.ArrayList int int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* i */
            iload 5 /* itemCount */
            if_icmplt 9
        end local 6 // int i
        end local 5 // int itemCount
        end local 4 // java.util.ArrayList visibleItems
        25: .line 113
            goto 28
        26: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parent */
            iload 3 /* childIndex */
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.filterLeftoverView:(Landroid/view/ViewGroup;I)Z
            ifne 28
        27: .line 115
            iinc 3 /* childIndex */ 1
        28: .line 113
      StackMap locals:
      StackMap stack:
            iload 3 /* childIndex */
            aload 2 /* parent */
            invokevirtual android.view.ViewGroup.getChildCount:()I
            if_icmplt 26
        29: .line 118
            return
        end local 3 // int childIndex
        end local 2 // android.view.ViewGroup parent
        end local 1 // boolean cleared
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0   30     1       cleared  Z
            1   30     2        parent  Landroid/view/ViewGroup;
            3   30     3    childIndex  I
            6   25     4  visibleItems  Ljava/util/ArrayList<Lcom/android/internal/view/menu/MenuItemImpl;>;
            7   25     5     itemCount  I
            8   25     6             i  I
           10   23     7          item  Lcom/android/internal/view/menu/MenuItemImpl;
           12   23     8   convertView  Landroid/view/View;
           16   23     9       oldItem  Lcom/android/internal/view/menu/MenuItemImpl;
           17   23    10      itemView  Landroid/view/View;
    MethodParameters:
         Name  Flags
      cleared  

  protected void addItemView(android.view.View, int);
    descriptor: (Landroid/view/View;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // android.view.View itemView
        start local 2 // int childIndex
         0: .line 127
            aload 1 /* itemView */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            checkcast android.view.ViewGroup
            astore 3 /* currentParent */
        start local 3 // android.view.ViewGroup currentParent
         1: .line 128
            aload 3 /* currentParent */
            ifnull 3
         2: .line 129
            aload 3 /* currentParent */
            aload 1 /* itemView */
            invokevirtual android.view.ViewGroup.removeView:(Landroid/view/View;)V
         3: .line 131
      StackMap locals: android.view.ViewGroup
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mMenuView:Lcom/android/internal/view/menu/MenuView;
            checkcast android.view.ViewGroup
            aload 1 /* itemView */
            iload 2 /* childIndex */
            invokevirtual android.view.ViewGroup.addView:(Landroid/view/View;I)V
         4: .line 132
            return
        end local 3 // android.view.ViewGroup currentParent
        end local 2 // int childIndex
        end local 1 // android.view.View itemView
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    5     1       itemView  Landroid/view/View;
            0    5     2     childIndex  I
            1    5     3  currentParent  Landroid/view/ViewGroup;
    MethodParameters:
            Name  Flags
      itemView    
      childIndex  

  protected boolean filterLeftoverView(android.view.ViewGroup, int);
    descriptor: (Landroid/view/ViewGroup;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // android.view.ViewGroup parent
        start local 2 // int childIndex
         0: .line 141
            aload 1 /* parent */
            iload 2 /* childIndex */
            invokevirtual android.view.ViewGroup.removeViewAt:(I)V
         1: .line 142
            iconst_1
            ireturn
        end local 2 // int childIndex
        end local 1 // android.view.ViewGroup parent
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    2     1      parent  Landroid/view/ViewGroup;
            0    2     2  childIndex  I
    MethodParameters:
            Name  Flags
      parent      
      childIndex  

  public void setCallback(com.android.internal.view.menu.MenuPresenter$Callback);
    descriptor: (Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // com.android.internal.view.menu.MenuPresenter$Callback cb
         0: .line 146
            aload 0 /* this */
            aload 1 /* cb */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
         1: .line 147
            return
        end local 1 // com.android.internal.view.menu.MenuPresenter$Callback cb
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    2     1    cb  Lcom/android/internal/view/menu/MenuPresenter$Callback;
    MethodParameters:
      Name  Flags
      cb    

  public com.android.internal.view.menu.MenuPresenter$Callback getCallback();
    descriptor: ()Lcom/android/internal/view/menu/MenuPresenter$Callback;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
         0: .line 150
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
            areturn
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;

  public com.android.internal.view.menu.MenuView$ItemView createItemView(android.view.ViewGroup);
    descriptor: (Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView$ItemView;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // android.view.ViewGroup parent
         0: .line 159
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mSystemInflater:Landroid/view/LayoutInflater;
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mItemLayoutRes:I
            aload 1 /* parent */
            iconst_0
            invokevirtual android.view.LayoutInflater.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View;
            checkcast com.android.internal.view.menu.MenuView$ItemView
            areturn
        end local 1 // android.view.ViewGroup parent
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    1     1  parent  Landroid/view/ViewGroup;
    MethodParameters:
        Name  Flags
      parent  

  public android.view.View getItemView(com.android.internal.view.menu.MenuItemImpl, android.view.View, android.view.ViewGroup);
    descriptor: (Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // com.android.internal.view.menu.MenuItemImpl item
        start local 2 // android.view.View convertView
        start local 3 // android.view.ViewGroup parent
         0: .line 175
            aload 2 /* convertView */
            instanceof com.android.internal.view.menu.MenuView$ItemView
            ifeq 3
         1: .line 176
            aload 2 /* convertView */
            checkcast com.android.internal.view.menu.MenuView$ItemView
            astore 4 /* itemView */
        start local 4 // com.android.internal.view.menu.MenuView$ItemView itemView
         2: .line 177
            goto 4
        end local 4 // com.android.internal.view.menu.MenuView$ItemView itemView
         3: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* parent */
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.createItemView:(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView$ItemView;
            astore 4 /* itemView */
        start local 4 // com.android.internal.view.menu.MenuView$ItemView itemView
         4: .line 180
      StackMap locals: com.android.internal.view.menu.MenuView$ItemView
      StackMap stack:
            aload 0 /* this */
            aload 1 /* item */
            aload 4 /* itemView */
            invokevirtual com.android.internal.view.menu.BaseMenuPresenter.bindItemView:(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
         5: .line 181
            aload 4 /* itemView */
            checkcast android.view.View
            areturn
        end local 4 // com.android.internal.view.menu.MenuView$ItemView itemView
        end local 3 // android.view.ViewGroup parent
        end local 2 // android.view.View convertView
        end local 1 // com.android.internal.view.menu.MenuItemImpl item
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    6     1         item  Lcom/android/internal/view/menu/MenuItemImpl;
            0    6     2  convertView  Landroid/view/View;
            0    6     3       parent  Landroid/view/ViewGroup;
            2    3     4     itemView  Lcom/android/internal/view/menu/MenuView$ItemView;
            4    6     4     itemView  Lcom/android/internal/view/menu/MenuView$ItemView;
    MethodParameters:
             Name  Flags
      item         
      convertView  
      parent       

  public abstract void bindItemView(com.android.internal.view.menu.MenuItemImpl, com.android.internal.view.menu.MenuView$ItemView);
    descriptor: (Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      item      
      itemView  

  public boolean shouldIncludeItem(int, com.android.internal.view.menu.MenuItemImpl);
    descriptor: (ILcom/android/internal/view/menu/MenuItemImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // int childIndex
        start local 2 // com.android.internal.view.menu.MenuItemImpl item
         0: .line 200
            iconst_1
            ireturn
        end local 2 // com.android.internal.view.menu.MenuItemImpl item
        end local 1 // int childIndex
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    1     1  childIndex  I
            0    1     2        item  Lcom/android/internal/view/menu/MenuItemImpl;
    MethodParameters:
            Name  Flags
      childIndex  
      item        

  public void onCloseMenu(com.android.internal.view.menu.MenuBuilder, boolean);
    descriptor: (Lcom/android/internal/view/menu/MenuBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // com.android.internal.view.menu.MenuBuilder menu
        start local 2 // boolean allMenusAreClosing
         0: .line 204
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
            ifnull 2
         1: .line 205
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
            aload 1 /* menu */
            iload 2 /* allMenusAreClosing */
            invokeinterface com.android.internal.view.menu.MenuPresenter$Callback.onCloseMenu:(Lcom/android/internal/view/menu/MenuBuilder;Z)V
         2: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean allMenusAreClosing
        end local 1 // com.android.internal.view.menu.MenuBuilder menu
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    3     1                menu  Lcom/android/internal/view/menu/MenuBuilder;
            0    3     2  allMenusAreClosing  Z
    MethodParameters:
                    Name  Flags
      menu                
      allMenusAreClosing  

  public boolean onSubMenuSelected(com.android.internal.view.menu.SubMenuBuilder);
    descriptor: (Lcom/android/internal/view/menu/SubMenuBuilder;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // com.android.internal.view.menu.SubMenuBuilder menu
         0: .line 210
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
            ifnull 2
         1: .line 211
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
            aload 1 /* menu */
            invokeinterface com.android.internal.view.menu.MenuPresenter$Callback.onOpenSubMenu:(Lcom/android/internal/view/menu/MenuBuilder;)Z
            ireturn
         2: .line 213
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.android.internal.view.menu.SubMenuBuilder menu
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    3     1  menu  Lcom/android/internal/view/menu/SubMenuBuilder;
    MethodParameters:
      Name  Flags
      menu  

  public boolean flagActionItems();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
         0: .line 217
            iconst_0
            ireturn
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;

  public boolean expandItemActionView(com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
    descriptor: (Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // com.android.internal.view.menu.MenuBuilder menu
        start local 2 // com.android.internal.view.menu.MenuItemImpl item
         0: .line 221
            iconst_0
            ireturn
        end local 2 // com.android.internal.view.menu.MenuItemImpl item
        end local 1 // com.android.internal.view.menu.MenuBuilder menu
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    1     1  menu  Lcom/android/internal/view/menu/MenuBuilder;
            0    1     2  item  Lcom/android/internal/view/menu/MenuItemImpl;
    MethodParameters:
      Name  Flags
      menu  
      item  

  public boolean collapseItemActionView(com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
    descriptor: (Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // com.android.internal.view.menu.MenuBuilder menu
        start local 2 // com.android.internal.view.menu.MenuItemImpl item
         0: .line 225
            iconst_0
            ireturn
        end local 2 // com.android.internal.view.menu.MenuItemImpl item
        end local 1 // com.android.internal.view.menu.MenuBuilder menu
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    1     1  menu  Lcom/android/internal/view/menu/MenuBuilder;
            0    1     2  item  Lcom/android/internal/view/menu/MenuItemImpl;
    MethodParameters:
      Name  Flags
      menu  
      item  

  public int getId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
         0: .line 229
            aload 0 /* this */
            getfield com.android.internal.view.menu.BaseMenuPresenter.mId:I
            ireturn
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;

  public void setId(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.BaseMenuPresenter this
        start local 1 // int id
         0: .line 233
            aload 0 /* this */
            iload 1 /* id */
            putfield com.android.internal.view.menu.BaseMenuPresenter.mId:I
         1: .line 234
            return
        end local 1 // int id
        end local 0 // com.android.internal.view.menu.BaseMenuPresenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/internal/view/menu/BaseMenuPresenter;
            0    2     1    id  I
    MethodParameters:
      Name  Flags
      id    
}
SourceFile: "BaseMenuPresenter.java"
InnerClasses:
  public abstract Callback = com.android.internal.view.menu.MenuPresenter$Callback of com.android.internal.view.menu.MenuPresenter
  public abstract ItemView = com.android.internal.view.menu.MenuView$ItemView of com.android.internal.view.menu.MenuView