public class com.android.internal.view.menu.MenuPopupHelper implements com.android.internal.view.menu.MenuHelper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.view.menu.MenuPopupHelper
super_class: java.lang.Object
{
private static final int TOUCH_EPICENTER_SIZE_DP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 48
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.android.internal.view.menu.MenuBuilder mMenu;
descriptor: Lcom/android/internal/view/menu/MenuBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean mOverflowOnly;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mPopupStyleAttr;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mPopupStyleRes;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.view.View mAnchorView;
descriptor: Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
private int mDropDownGravity;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mForceShowIcon;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.android.internal.view.menu.MenuPresenter$Callback mPresenterCallback;
descriptor: Lcom/android/internal/view/menu/MenuPresenter$Callback;
flags: (0x0002) ACC_PRIVATE
private com.android.internal.view.menu.MenuPopup mPopup;
descriptor: Lcom/android/internal/view/menu/MenuPopup;
flags: (0x0002) ACC_PRIVATE
private android.widget.PopupWindow$OnDismissListener mOnDismissListener;
descriptor: Landroid/widget/PopupWindow$OnDismissListener;
flags: (0x0002) ACC_PRIVATE
private final android.widget.PopupWindow$OnDismissListener mInternalOnDismissListener;
descriptor: Landroid/widget/PopupWindow$OnDismissListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(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=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.dimen cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
MethodParameters:
Name Flags
context
menu
public void <init>(android.content.Context, com.android.internal.view.menu.MenuBuilder, android.view.View);
descriptor: (Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.attr cannot be resolved to a variable\n\tcom.android.internal.R.dimen cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
MethodParameters:
Name Flags
context
menu
anchorView
public void <init>(android.content.Context, com.android.internal.view.menu.MenuBuilder, android.view.View, boolean, int);
descriptor: (Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
iload 4
iload 5
iconst_0
invokespecial com.android.internal.view.menu.MenuPopupHelper.<init>:(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZII)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 2 1 context Landroid/content/Context;
0 2 2 menu Lcom/android/internal/view/menu/MenuBuilder;
0 2 3 anchorView Landroid/view/View;
0 2 4 overflowOnly Z
0 2 5 popupStyleAttr I
MethodParameters:
Name Flags
context
menu
anchorView
overflowOnly
popupStyleAttr
public void <init>(android.content.Context, com.android.internal.view.menu.MenuBuilder, android.view.View, boolean, int, int);
descriptor: (Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 8388611
putfield com.android.internal.view.menu.MenuPopupHelper.mDropDownGravity:I
2: aload 0
new com.android.internal.view.menu.MenuPopupHelper$1
dup
aload 0
invokespecial com.android.internal.view.menu.MenuPopupHelper$1.<init>:(Lcom/android/internal/view/menu/MenuPopupHelper;)V
putfield com.android.internal.view.menu.MenuPopupHelper.mInternalOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
3: aload 0
aload 1
putfield com.android.internal.view.menu.MenuPopupHelper.mContext:Landroid/content/Context;
4: aload 0
aload 2
putfield com.android.internal.view.menu.MenuPopupHelper.mMenu:Lcom/android/internal/view/menu/MenuBuilder;
5: aload 0
aload 3
putfield com.android.internal.view.menu.MenuPopupHelper.mAnchorView:Landroid/view/View;
6: aload 0
iload 4
putfield com.android.internal.view.menu.MenuPopupHelper.mOverflowOnly:Z
7: aload 0
iload 5
putfield com.android.internal.view.menu.MenuPopupHelper.mPopupStyleAttr:I
8: aload 0
iload 6
putfield com.android.internal.view.menu.MenuPopupHelper.mPopupStyleRes:I
9: 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 10 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 10 1 context Landroid/content/Context;
0 10 2 menu Lcom/android/internal/view/menu/MenuBuilder;
0 10 3 anchorView Landroid/view/View;
0 10 4 overflowOnly Z
0 10 5 popupStyleAttr I
0 10 6 popupStyleRes I
MethodParameters:
Name Flags
context
menu
anchorView
overflowOnly
popupStyleAttr
popupStyleRes
public void setOnDismissListener(android.widget.PopupWindow$OnDismissListener);
descriptor: (Landroid/widget/PopupWindow$OnDismissListener;)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.MenuPopupHelper.mOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 2 1 listener Landroid/widget/PopupWindow$OnDismissListener;
MethodParameters:
Name Flags
listener
public void setAnchorView(android.view.View);
descriptor: (Landroid/view/View;)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.MenuPopupHelper.mAnchorView:Landroid/view/View;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 2 1 anchor Landroid/view/View;
MethodParameters:
Name Flags
anchor
public void setForceShowIcon(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.MenuPopupHelper.mForceShowIcon:Z
1: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
ifnull 3
2: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
iload 1
invokevirtual com.android.internal.view.menu.MenuPopup.setForceShowIcon:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 4 1 forceShowIcon Z
MethodParameters:
Name Flags
forceShowIcon
public void setGravity(int);
descriptor: (I)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.MenuPopupHelper.mDropDownGravity:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 2 1 gravity I
MethodParameters:
Name Flags
gravity
public int getGravity();
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.MenuPopupHelper.mDropDownGravity:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
public void show();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.tryShow:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "MenuPopupHelper cannot be used without an anchor"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
public void show(int, int);
descriptor: (II)V
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
iload 2
invokevirtual com.android.internal.view.menu.MenuPopupHelper.tryShow:(II)Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "MenuPopupHelper cannot be used without an anchor"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 3 1 x I
0 3 2 y I
MethodParameters:
Name Flags
x
y
public com.android.internal.view.menu.MenuPopup getPopup();
descriptor: ()Lcom/android/internal/view/menu/MenuPopup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
ifnonnull 2
1: aload 0
aload 0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.createPopup:()Lcom/android/internal/view/menu/MenuPopup;
putfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
public boolean tryShow();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.isShowing:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mAnchorView:Landroid/view/View;
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
iconst_0
iconst_0
iconst_0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.showPopup:(IIZZ)V
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
public boolean tryShow(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.isShowing:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mAnchorView:Landroid/view/View;
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
iconst_1
invokevirtual com.android.internal.view.menu.MenuPopupHelper.showPopup:(IIZZ)V
5: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 6 1 x I
0 6 2 y I
MethodParameters:
Name Flags
x
y
private com.android.internal.view.menu.MenuPopup createPopup();
descriptor: ()Lcom/android/internal/view/menu/MenuPopup;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tcom.android.internal.R.dimen cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
private void showPopup(int, int, boolean, boolean);
descriptor: (IIZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.getPopup:()Lcom/android/internal/view/menu/MenuPopup;
astore 5
start local 5 1: aload 5
iload 4
invokevirtual com.android.internal.view.menu.MenuPopup.setShowTitle:(Z)V
2: iload 3
ifeq 18
3: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mDropDownGravity:I
4: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mAnchorView:Landroid/view/View;
invokevirtual android.view.View.getLayoutDirection:()I
5: invokestatic android.view.Gravity.getAbsoluteGravity:(II)I
6: bipush 7
7: iand
istore 6
start local 6 8: iload 6
iconst_5
if_icmpne 10
9: iload 1
aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mAnchorView:Landroid/view/View;
invokevirtual android.view.View.getWidth:()I
isub
istore 1
10: StackMap locals: com.android.internal.view.menu.MenuPopup int
StackMap stack:
aload 5
iload 1
invokevirtual com.android.internal.view.menu.MenuPopup.setHorizontalOffset:(I)V
11: aload 5
iload 2
invokevirtual com.android.internal.view.menu.MenuPopup.setVerticalOffset:(I)V
12: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
getfield android.util.DisplayMetrics.density:F
fstore 7
start local 7 13: ldc 48.0
fload 7
fmul
fconst_2
fdiv
f2i
istore 8
start local 8 14: new android.graphics.Rect
dup
iload 1
iload 8
isub
iload 2
iload 8
isub
15: iload 1
iload 8
iadd
iload 2
iload 8
iadd
16: invokespecial android.graphics.Rect.<init>:(IIII)V
astore 9
start local 9 17: aload 5
aload 9
invokevirtual com.android.internal.view.menu.MenuPopup.setEpicenterBounds:(Landroid/graphics/Rect;)V
end local 9 end local 8 end local 7 end local 6 18: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.android.internal.view.menu.MenuPopup.show:()V
19: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 20 1 xOffset I
0 20 2 yOffset I
0 20 3 useOffsets Z
0 20 4 showTitle Z
1 20 5 popup Lcom/android/internal/view/menu/MenuPopup;
8 18 6 hgrav I
13 18 7 density F
14 18 8 halfSize I
17 18 9 epicenter Landroid/graphics/Rect;
MethodParameters:
Name Flags
xOffset
yOffset
useOffsets
showTitle
public void dismiss();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.view.menu.MenuPopupHelper.isShowing:()Z
ifeq 2
1: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
invokevirtual com.android.internal.view.menu.MenuPopup.dismiss:()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/MenuPopupHelper;
protected void onDismiss();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
1: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
ifnull 3
2: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
invokeinterface android.widget.PopupWindow$OnDismissListener.onDismiss:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
public boolean isShowing();
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.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
ifnull 1
aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
invokevirtual com.android.internal.view.menu.MenuPopup.isShowing:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
public void setPresenterCallback(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 start local 1 0: aload 0
aload 1
putfield com.android.internal.view.menu.MenuPopupHelper.mPresenterCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
1: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
ifnull 3
2: aload 0
getfield com.android.internal.view.menu.MenuPopupHelper.mPopup:Lcom/android/internal/view/menu/MenuPopup;
aload 1
invokevirtual com.android.internal.view.menu.MenuPopup.setCallback:(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/view/menu/MenuPopupHelper;
0 4 1 cb Lcom/android/internal/view/menu/MenuPresenter$Callback;
MethodParameters:
Name Flags
cb
}
SourceFile: "MenuPopupHelper.java"
NestMembers:
com.android.internal.view.menu.MenuPopupHelper$1
InnerClasses:
public abstract OnDismissListener = android.widget.PopupWindow$OnDismissListener of android.widget.PopupWindow
com.android.internal.view.menu.MenuPopupHelper$1
public abstract Callback = com.android.internal.view.menu.MenuPresenter$Callback of com.android.internal.view.menu.MenuPresenter