public abstract class com.android.internal.view.menu.MenuPopup implements com.android.internal.view.menu.ShowableListMenu, com.android.internal.view.menu.MenuPresenter, android.widget.AdapterView$OnItemClickListener
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.android.internal.view.menu.MenuPopup
  super_class: java.lang.Object
{
  private android.graphics.Rect mEpicenterBounds;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.menu.MenuPopup this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.android.internal.view.menu.MenuPopup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/MenuPopup;

  public abstract void setForceShowIcon(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      forceShow  

  public abstract void addMenu(com.android.internal.view.menu.MenuBuilder);
    descriptor: (Lcom/android/internal/view/menu/MenuBuilder;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      menu  

  public abstract void setGravity(int);
    descriptor: (I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      dropDownGravity  

  public abstract void setAnchorView(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      anchor  

  public abstract void setHorizontalOffset(int);
    descriptor: (I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      x     

  public abstract void setVerticalOffset(int);
    descriptor: (I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      y     

  public void setEpicenterBounds(android.graphics.Rect);
    descriptor: (Landroid/graphics/Rect;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.MenuPopup this
        start local 1 // android.graphics.Rect bounds
         0: .line 71
            aload 0 /* this */
            aload 1 /* bounds */
            putfield com.android.internal.view.menu.MenuPopup.mEpicenterBounds:Landroid/graphics/Rect;
         1: .line 72
            return
        end local 1 // android.graphics.Rect bounds
        end local 0 // com.android.internal.view.menu.MenuPopup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/android/internal/view/menu/MenuPopup;
            0    2     1  bounds  Landroid/graphics/Rect;
    MethodParameters:
        Name  Flags
      bounds  

  public android.graphics.Rect getEpicenterBounds();
    descriptor: ()Landroid/graphics/Rect;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.menu.MenuPopup this
         0: .line 78
            aload 0 /* this */
            getfield com.android.internal.view.menu.MenuPopup.mEpicenterBounds:Landroid/graphics/Rect;
            areturn
        end local 0 // com.android.internal.view.menu.MenuPopup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/MenuPopup;

  public abstract void setShowTitle(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      showTitle  

  public abstract void setOnDismissListener(android.widget.PopupWindow$OnDismissListener);
    descriptor: (Landroid/widget/PopupWindow$OnDismissListener;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      listener  

  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=0, locals=3, args_size=3
        start local 0 // com.android.internal.view.menu.MenuPopup this
        start local 1 // android.content.Context context
        start local 2 // com.android.internal.view.menu.MenuBuilder menu
         0: .line 99
            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.MenuPopup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/android/internal/view/menu/MenuPopup;
            0    1     1  context  Landroid/content/Context;
            0    1     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=3, locals=2, args_size=2
        start local 0 // com.android.internal.view.menu.MenuPopup this
        start local 1 // android.view.ViewGroup root
         0: .line 103
            new java.lang.UnsupportedOperationException
            dup
            ldc "MenuPopups manage their own views"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // android.view.ViewGroup root
        end local 0 // com.android.internal.view.menu.MenuPopup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/MenuPopup;
            0    1     1  root  Landroid/view/ViewGroup;
    MethodParameters:
      Name  Flags
      root  

  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.MenuPopup this
        start local 1 // com.android.internal.view.menu.MenuBuilder menu
        start local 2 // com.android.internal.view.menu.MenuItemImpl item
         0: .line 108
            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.MenuPopup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/MenuPopup;
            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.MenuPopup this
        start local 1 // com.android.internal.view.menu.MenuBuilder menu
        start local 2 // com.android.internal.view.menu.MenuItemImpl item
         0: .line 113
            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.MenuPopup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/MenuPopup;
            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.MenuPopup this
         0: .line 118
            iconst_0
            ireturn
        end local 0 // com.android.internal.view.menu.MenuPopup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/menu/MenuPopup;

  public void onItemClick(android.widget.AdapterView<?>, android.view.View, int, );
    descriptor: (Landroid/widget/AdapterView;Landroid/view/View;IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // com.android.internal.view.menu.MenuPopup this
        start local 1 // android.widget.AdapterView parent
        start local 2 // android.view.View view
        start local 3 // int position
        start local 4 // long id
         0: .line 123
            aload 1 /* parent */
            invokevirtual android.widget.AdapterView.getAdapter:()Landroid/widget/Adapter;
            checkcast android.widget.ListAdapter
            astore 6 /* outerAdapter */
        start local 6 // android.widget.ListAdapter outerAdapter
         1: .line 124
            aload 6 /* outerAdapter */
            invokestatic com.android.internal.view.menu.MenuPopup.toMenuAdapter:(Landroid/widget/ListAdapter;)Lcom/android/internal/view/menu/MenuAdapter;
            astore 7 /* wrappedAdapter */
        start local 7 // com.android.internal.view.menu.MenuAdapter wrappedAdapter
         2: .line 128
            aload 7 /* wrappedAdapter */
            getfield com.android.internal.view.menu.MenuAdapter.mAdapterMenu:Lcom/android/internal/view/menu/MenuBuilder;
            aload 6 /* outerAdapter */
            iload 3 /* position */
            invokeinterface android.widget.ListAdapter.getItem:(I)Ljava/lang/Object;
            checkcast android.view.MenuItem
            iconst_0
            invokevirtual com.android.internal.view.menu.MenuBuilder.performItemAction:(Landroid/view/MenuItem;I)Z
            pop
         3: .line 129
            return
        end local 7 // com.android.internal.view.menu.MenuAdapter wrappedAdapter
        end local 6 // android.widget.ListAdapter outerAdapter
        end local 4 // long id
        end local 3 // int position
        end local 2 // android.view.View view
        end local 1 // android.widget.AdapterView parent
        end local 0 // com.android.internal.view.menu.MenuPopup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/android/internal/view/menu/MenuPopup;
            0    4     1          parent  Landroid/widget/AdapterView<*>;
            0    4     2            view  Landroid/view/View;
            0    4     3        position  I
            0    4     4              id  J
            1    4     6    outerAdapter  Landroid/widget/ListAdapter;
            2    4     7  wrappedAdapter  Lcom/android/internal/view/menu/MenuAdapter;
    Signature: (Landroid/widget/AdapterView<*>;Landroid/view/View;IJ)V
    MethodParameters:
          Name  Flags
      parent    
      view      
      position  
      id        

  protected static int measureIndividualMenuWidth(android.widget.ListAdapter, android.view.ViewGroup, android.content.Context, int);
    descriptor: (Landroid/widget/ListAdapter;Landroid/view/ViewGroup;Landroid/content/Context;I)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // android.widget.ListAdapter adapter
        start local 1 // android.view.ViewGroup parent
        start local 2 // android.content.Context context
        start local 3 // int maxAllowedWidth
         0: .line 140
            iconst_0
            istore 4 /* maxWidth */
        start local 4 // int maxWidth
         1: .line 141
            aconst_null
            astore 5 /* itemView */
        start local 5 // android.view.View itemView
         2: .line 142
            iconst_0
            istore 6 /* itemType */
        start local 6 // int itemType
         3: .line 144
            iconst_0
            iconst_0
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 7 /* widthMeasureSpec */
        start local 7 // int widthMeasureSpec
         4: .line 145
            iconst_0
            iconst_0
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 8 /* heightMeasureSpec */
        start local 8 // int heightMeasureSpec
         5: .line 146
            aload 0 /* adapter */
            invokeinterface android.widget.ListAdapter.getCount:()I
            istore 9 /* count */
        start local 9 // int count
         6: .line 147
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         7: goto 22
         8: .line 148
      StackMap locals: android.widget.ListAdapter android.view.ViewGroup android.content.Context int int android.view.View int int int int int
      StackMap stack:
            aload 0 /* adapter */
            iload 10 /* i */
            invokeinterface android.widget.ListAdapter.getItemViewType:(I)I
            istore 11 /* positionType */
        start local 11 // int positionType
         9: .line 149
            iload 11 /* positionType */
            iload 6 /* itemType */
            if_icmpeq 12
        10: .line 150
            iload 11 /* positionType */
            istore 6 /* itemType */
        11: .line 151
            aconst_null
            astore 5 /* itemView */
        12: .line 154
      StackMap locals: int
      StackMap stack:
            aload 1 /* parent */
            ifnonnull 14
        13: .line 155
            new android.widget.FrameLayout
            dup
            aload 2 /* context */
            invokespecial android.widget.FrameLayout.<init>:(Landroid/content/Context;)V
            astore 1 /* parent */
        14: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* adapter */
            iload 10 /* i */
            aload 5 /* itemView */
            aload 1 /* parent */
            invokeinterface android.widget.ListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
            astore 5 /* itemView */
        15: .line 159
            aload 5 /* itemView */
            iload 7 /* widthMeasureSpec */
            iload 8 /* heightMeasureSpec */
            invokevirtual android.view.View.measure:(II)V
        16: .line 161
            aload 5 /* itemView */
            invokevirtual android.view.View.getMeasuredWidth:()I
            istore 12 /* itemWidth */
        start local 12 // int itemWidth
        17: .line 162
            iload 12 /* itemWidth */
            iload 3 /* maxAllowedWidth */
            if_icmplt 19
        18: .line 163
            iload 3 /* maxAllowedWidth */
            ireturn
        19: .line 164
      StackMap locals: int
      StackMap stack:
            iload 12 /* itemWidth */
            iload 4 /* maxWidth */
            if_icmple 21
        20: .line 165
            iload 12 /* itemWidth */
            istore 4 /* maxWidth */
        end local 12 // int itemWidth
        end local 11 // int positionType
        21: .line 147
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* i */
            iload 9 /* count */
            if_icmplt 8
        end local 10 // int i
        23: .line 169
            iload 4 /* maxWidth */
            ireturn
        end local 9 // int count
        end local 8 // int heightMeasureSpec
        end local 7 // int widthMeasureSpec
        end local 6 // int itemType
        end local 5 // android.view.View itemView
        end local 4 // int maxWidth
        end local 3 // int maxAllowedWidth
        end local 2 // android.content.Context context
        end local 1 // android.view.ViewGroup parent
        end local 0 // android.widget.ListAdapter adapter
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   24     0            adapter  Landroid/widget/ListAdapter;
            0   24     1             parent  Landroid/view/ViewGroup;
            0   24     2            context  Landroid/content/Context;
            0   24     3    maxAllowedWidth  I
            1   24     4           maxWidth  I
            2   24     5           itemView  Landroid/view/View;
            3   24     6           itemType  I
            4   24     7   widthMeasureSpec  I
            5   24     8  heightMeasureSpec  I
            6   24     9              count  I
            7   23    10                  i  I
            9   21    11       positionType  I
           17   21    12          itemWidth  I
    MethodParameters:
                 Name  Flags
      adapter          
      parent           
      context          
      maxAllowedWidth  

  protected static com.android.internal.view.menu.MenuAdapter toMenuAdapter(android.widget.ListAdapter);
    descriptor: (Landroid/widget/ListAdapter;)Lcom/android/internal/view/menu/MenuAdapter;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListAdapter adapter
         0: .line 181
            aload 0 /* adapter */
            instanceof android.widget.HeaderViewListAdapter
            ifeq 2
         1: .line 182
            aload 0 /* adapter */
            checkcast android.widget.HeaderViewListAdapter
            invokevirtual android.widget.HeaderViewListAdapter.getWrappedAdapter:()Landroid/widget/ListAdapter;
            checkcast com.android.internal.view.menu.MenuAdapter
            areturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* adapter */
            checkcast com.android.internal.view.menu.MenuAdapter
            areturn
        end local 0 // android.widget.ListAdapter adapter
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  adapter  Landroid/widget/ListAdapter;
    MethodParameters:
         Name  Flags
      adapter  

  protected static boolean shouldPreserveIconSpacing(com.android.internal.view.menu.MenuBuilder);
    descriptor: (Lcom/android/internal/view/menu/MenuBuilder;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.android.internal.view.menu.MenuBuilder menu
         0: .line 199
            iconst_0
            istore 1 /* preserveIconSpacing */
        start local 1 // boolean preserveIconSpacing
         1: .line 200
            aload 0 /* menu */
            invokevirtual com.android.internal.view.menu.MenuBuilder.size:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 202
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 203
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* menu */
            iload 3 /* i */
            invokevirtual com.android.internal.view.menu.MenuBuilder.getItem:(I)Landroid/view/MenuItem;
            astore 4 /* childItem */
        start local 4 // android.view.MenuItem childItem
         5: .line 204
            aload 4 /* childItem */
            invokeinterface android.view.MenuItem.isVisible:()Z
            ifeq 8
            aload 4 /* childItem */
            invokeinterface android.view.MenuItem.getIcon:()Landroid/graphics/drawable/Drawable;
            ifnull 8
         6: .line 205
            iconst_1
            istore 1 /* preserveIconSpacing */
         7: .line 206
            goto 10
        end local 4 // android.view.MenuItem childItem
         8: .line 202
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 3 // int i
        10: .line 210
      StackMap locals:
      StackMap stack:
            iload 1 /* preserveIconSpacing */
            ireturn
        end local 2 // int count
        end local 1 // boolean preserveIconSpacing
        end local 0 // com.android.internal.view.menu.MenuBuilder menu
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 menu  Lcom/android/internal/view/menu/MenuBuilder;
            1   11     1  preserveIconSpacing  Z
            2   11     2                count  I
            3   10     3                    i  I
            5    8     4            childItem  Landroid/view/MenuItem;
    MethodParameters:
      Name  Flags
      menu  
}
SourceFile: "MenuPopup.java"
InnerClasses:
  public MeasureSpec = android.view.View$MeasureSpec of android.view.View
  public abstract OnItemClickListener = android.widget.AdapterView$OnItemClickListener of android.widget.AdapterView
  public abstract OnDismissListener = android.widget.PopupWindow$OnDismissListener of android.widget.PopupWindow