class android.widget.Spinner$DropdownPopup extends android.widget.ListPopupWindow implements android.widget.Spinner$SpinnerPopup
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.widget.Spinner$DropdownPopup
super_class: android.widget.ListPopupWindow
{
private java.lang.CharSequence mHintText;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private android.widget.ListAdapter mAdapter;
descriptor: Landroid/widget/ListAdapter;
flags: (0x0002) ACC_PRIVATE
final android.widget.Spinner this$0;
descriptor: Landroid/widget/Spinner;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(android.widget.Spinner, android.content.Context, android.util.AttributeSet, int, int);
descriptor: (Landroid/widget/Spinner;Landroid/content/Context;Landroid/util/AttributeSet;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
1: aload 0
aload 2
aload 3
iload 4
iload 5
invokespecial android.widget.ListPopupWindow.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
2: aload 0
aload 1
invokevirtual android.widget.Spinner$DropdownPopup.setAnchorView:(Landroid/view/View;)V
3: aload 0
iconst_1
invokevirtual android.widget.Spinner$DropdownPopup.setModal:(Z)V
4: aload 0
iconst_0
invokevirtual android.widget.Spinner$DropdownPopup.setPromptPosition:(I)V
5: aload 0
new android.widget.Spinner$DropdownPopup$1
dup
aload 0
invokespecial android.widget.Spinner$DropdownPopup$1.<init>:(Landroid/widget/Spinner$DropdownPopup;)V
invokevirtual android.widget.Spinner$DropdownPopup.setOnItemClickListener:(Landroid/widget/AdapterView$OnItemClickListener;)V
6: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/Spinner$DropdownPopup;
0 7 2 context Landroid/content/Context;
0 7 3 attrs Landroid/util/AttributeSet;
0 7 4 defStyleAttr I
0 7 5 defStyleRes I
MethodParameters:
Name Flags
this$0 final
context
attrs
defStyleAttr
defStyleRes
public void setAdapter(android.widget.ListAdapter);
descriptor: (Landroid/widget/ListAdapter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial android.widget.ListPopupWindow.setAdapter:(Landroid/widget/ListAdapter;)V
1: aload 0
aload 1
putfield android.widget.Spinner$DropdownPopup.mAdapter:Landroid/widget/ListAdapter;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Spinner$DropdownPopup;
0 3 1 adapter Landroid/widget/ListAdapter;
MethodParameters:
Name Flags
adapter
public java.lang.CharSequence getHintText();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Spinner$DropdownPopup.mHintText:Ljava/lang/CharSequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Spinner$DropdownPopup;
public void setPromptText(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)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 android.widget.Spinner$DropdownPopup.mHintText:Ljava/lang/CharSequence;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/Spinner$DropdownPopup;
0 2 1 hintText Ljava/lang/CharSequence;
MethodParameters:
Name Flags
hintText
void computeContentWidth();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual android.widget.Spinner$DropdownPopup.getBackground:()Landroid/graphics/drawable/Drawable;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
ifnull 8
3: aload 1
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
invokevirtual android.graphics.drawable.Drawable.getPadding:(Landroid/graphics/Rect;)Z
pop
4: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.isLayoutRtl:()Z
ifeq 5
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.right:I
goto 6
StackMap locals: android.graphics.drawable.Drawable int
StackMap stack:
5: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.left:I
ineg
StackMap locals:
StackMap stack: int
6: istore 2
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
iconst_0
dup_x1
putfield android.graphics.Rect.right:I
putfield android.graphics.Rect.left:I
9: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.getPaddingLeft:()I
istore 3
start local 3 10: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.getPaddingRight:()I
istore 4
start local 4 11: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.getWidth:()I
istore 5
start local 5 12: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mDropDownWidth:I
bipush -2
if_icmpne 27
13: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
14: aload 0
getfield android.widget.Spinner$DropdownPopup.mAdapter:Landroid/widget/ListAdapter;
checkcast android.widget.SpinnerAdapter
aload 0
invokevirtual android.widget.Spinner$DropdownPopup.getBackground:()Landroid/graphics/drawable/Drawable;
15: invokevirtual android.widget.Spinner.measureContentWidth:(Landroid/widget/SpinnerAdapter;Landroid/graphics/drawable/Drawable;)I
istore 6
start local 6 16: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokestatic android.widget.Spinner.access$0:(Landroid/widget/Spinner;)Landroid/content/Context;
invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
17: invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
getfield android.util.DisplayMetrics.widthPixels:I
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.left:I
18: isub
19: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.right:I
20: isub
istore 7
start local 7 21: iload 6
iload 7
if_icmple 23
22: iload 7
istore 6
23: StackMap locals: android.widget.Spinner$DropdownPopup android.graphics.drawable.Drawable int int int int int int
StackMap stack:
aload 0
24: iload 6
iload 5
iload 3
isub
iload 4
isub
25: invokestatic java.lang.Math.max:(II)I
invokevirtual android.widget.Spinner$DropdownPopup.setContentWidth:(I)V
end local 7 end local 6 26: goto 31
StackMap locals:
StackMap stack:
27: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mDropDownWidth:I
iconst_m1
if_icmpne 30
28: aload 0
iload 5
iload 3
isub
iload 4
isub
invokevirtual android.widget.Spinner$DropdownPopup.setContentWidth:(I)V
29: goto 31
30: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
getfield android.widget.Spinner.mDropDownWidth:I
invokevirtual android.widget.Spinner$DropdownPopup.setContentWidth:(I)V
31: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.isLayoutRtl:()Z
ifeq 34
32: iload 2
iload 5
iload 4
isub
aload 0
invokevirtual android.widget.Spinner$DropdownPopup.getWidth:()I
isub
iadd
istore 2
33: goto 35
34: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 2
35: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual android.widget.Spinner$DropdownPopup.setHorizontalOffset:(I)V
36: 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 37 0 this Landroid/widget/Spinner$DropdownPopup;
1 37 1 background Landroid/graphics/drawable/Drawable;
2 37 2 hOffset I
10 37 3 spinnerPaddingLeft I
11 37 4 spinnerPaddingRight I
12 37 5 spinnerWidth I
16 26 6 contentWidth I
21 26 7 contentWidthLimit I
public void show(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.widget.Spinner$DropdownPopup.isShowing:()Z
istore 3
start local 3 1: aload 0
invokevirtual android.widget.Spinner$DropdownPopup.computeContentWidth:()V
2: aload 0
iconst_2
invokevirtual android.widget.Spinner$DropdownPopup.setInputMethodMode:(I)V
3: aload 0
invokespecial android.widget.ListPopupWindow.show:()V
4: aload 0
invokevirtual android.widget.Spinner$DropdownPopup.getListView:()Landroid/widget/ListView;
astore 4
start local 4 5: aload 4
iconst_1
invokevirtual android.widget.ListView.setChoiceMode:(I)V
6: aload 4
iload 1
invokevirtual android.widget.ListView.setTextDirection:(I)V
7: aload 4
iload 2
invokevirtual android.widget.ListView.setTextAlignment:(I)V
8: aload 0
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.getSelectedItemPosition:()I
invokevirtual android.widget.Spinner$DropdownPopup.setSelection:(I)V
9: iload 3
ifeq 11
10: return
11: StackMap locals: int android.widget.ListView
StackMap stack:
aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
invokevirtual android.widget.Spinner.getViewTreeObserver:()Landroid/view/ViewTreeObserver;
astore 5
start local 5 12: aload 5
ifnull 16
13: new android.widget.Spinner$DropdownPopup$2
dup
aload 0
invokespecial android.widget.Spinner$DropdownPopup$2.<init>:(Landroid/widget/Spinner$DropdownPopup;)V
astore 6
start local 6 14: aload 5
aload 6
invokevirtual android.view.ViewTreeObserver.addOnGlobalLayoutListener:(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
15: aload 0
new android.widget.Spinner$DropdownPopup$3
dup
aload 0
aload 6
invokespecial android.widget.Spinner$DropdownPopup$3.<init>:(Landroid/widget/Spinner$DropdownPopup;Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
invokevirtual android.widget.Spinner$DropdownPopup.setOnDismissListener:(Landroid/widget/PopupWindow$OnDismissListener;)V
end local 6 16: StackMap locals: android.view.ViewTreeObserver
StackMap stack:
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 17 0 this Landroid/widget/Spinner$DropdownPopup;
0 17 1 textDirection I
0 17 2 textAlignment I
1 17 3 wasShowing Z
5 17 4 listView Landroid/widget/ListView;
12 17 5 vto Landroid/view/ViewTreeObserver;
14 16 6 layoutListener Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;
MethodParameters:
Name Flags
textDirection
textAlignment
static void access$0(android.widget.Spinner$DropdownPopup);
descriptor: (Landroid/widget/Spinner$DropdownPopup;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial android.widget.ListPopupWindow.show:()V
return
LocalVariableTable:
Start End Slot Name Signature
static android.widget.Spinner access$1(android.widget.Spinner$DropdownPopup);
descriptor: (Landroid/widget/Spinner$DropdownPopup;)Landroid/widget/Spinner;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Spinner.java"
NestHost: android.widget.Spinner
InnerClasses:
public abstract OnGlobalLayoutListener = android.view.ViewTreeObserver$OnGlobalLayoutListener of android.view.ViewTreeObserver
public abstract OnItemClickListener = android.widget.AdapterView$OnItemClickListener of android.widget.AdapterView
public abstract OnDismissListener = android.widget.PopupWindow$OnDismissListener of android.widget.PopupWindow
private DropdownPopup = android.widget.Spinner$DropdownPopup of android.widget.Spinner
android.widget.Spinner$DropdownPopup$1
android.widget.Spinner$DropdownPopup$2
android.widget.Spinner$DropdownPopup$3
private abstract SpinnerPopup = android.widget.Spinner$SpinnerPopup of android.widget.Spinner