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 // android.widget.Spinner$DropdownPopup this
        start local 2 // android.content.Context context
        start local 3 // android.util.AttributeSet attrs
        start local 4 // int defStyleAttr
        start local 5 // int defStyleRes
         0: .line 1178
            aload 0 /* this */
            aload 1
            putfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
         1: .line 1179
            aload 0 /* this */
            aload 2 /* context */
            aload 3 /* attrs */
            iload 4 /* defStyleAttr */
            iload 5 /* defStyleRes */
            invokespecial android.widget.ListPopupWindow.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
         2: .line 1181
            aload 0 /* this */
            aload 1
            invokevirtual android.widget.Spinner$DropdownPopup.setAnchorView:(Landroid/view/View;)V
         3: .line 1182
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.Spinner$DropdownPopup.setModal:(Z)V
         4: .line 1183
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.Spinner$DropdownPopup.setPromptPosition:(I)V
         5: .line 1184
            aload 0 /* this */
            new android.widget.Spinner$DropdownPopup$1
            dup
            aload 0 /* this */
            invokespecial android.widget.Spinner$DropdownPopup$1.<init>:(Landroid/widget/Spinner$DropdownPopup;)V
            invokevirtual android.widget.Spinner$DropdownPopup.setOnItemClickListener:(Landroid/widget/AdapterView$OnItemClickListener;)V
         6: .line 1193
            return
        end local 5 // int defStyleRes
        end local 4 // int defStyleAttr
        end local 3 // android.util.AttributeSet attrs
        end local 2 // android.content.Context context
        end local 0 // android.widget.Spinner$DropdownPopup this
      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 // android.widget.Spinner$DropdownPopup this
        start local 1 // android.widget.ListAdapter adapter
         0: .line 1197
            aload 0 /* this */
            aload 1 /* adapter */
            invokespecial android.widget.ListPopupWindow.setAdapter:(Landroid/widget/ListAdapter;)V
         1: .line 1198
            aload 0 /* this */
            aload 1 /* adapter */
            putfield android.widget.Spinner$DropdownPopup.mAdapter:Landroid/widget/ListAdapter;
         2: .line 1199
            return
        end local 1 // android.widget.ListAdapter adapter
        end local 0 // android.widget.Spinner$DropdownPopup this
      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 // android.widget.Spinner$DropdownPopup this
         0: .line 1202
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.mHintText:Ljava/lang/CharSequence;
            areturn
        end local 0 // android.widget.Spinner$DropdownPopup this
      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 // android.widget.Spinner$DropdownPopup this
        start local 1 // java.lang.CharSequence hintText
         0: .line 1207
            aload 0 /* this */
            aload 1 /* hintText */
            putfield android.widget.Spinner$DropdownPopup.mHintText:Ljava/lang/CharSequence;
         1: .line 1208
            return
        end local 1 // java.lang.CharSequence hintText
        end local 0 // android.widget.Spinner$DropdownPopup this
      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 // android.widget.Spinner$DropdownPopup this
         0: .line 1211
            aload 0 /* this */
            invokevirtual android.widget.Spinner$DropdownPopup.getBackground:()Landroid/graphics/drawable/Drawable;
            astore 1 /* background */
        start local 1 // android.graphics.drawable.Drawable background
         1: .line 1212
            iconst_0
            istore 2 /* hOffset */
        start local 2 // int hOffset
         2: .line 1213
            aload 1 /* background */
            ifnull 8
         3: .line 1214
            aload 1 /* background */
            aload 0 /* this */
            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: .line 1215
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            invokevirtual android.widget.Spinner.isLayoutRtl:()Z
            ifeq 5
            aload 0 /* this */
            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 /* this */
            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 /* hOffset */
         7: .line 1216
            goto 9
         8: .line 1217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            getfield android.widget.Spinner.mTempRect:Landroid/graphics/Rect;
            aload 0 /* this */
            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: .line 1220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            invokevirtual android.widget.Spinner.getPaddingLeft:()I
            istore 3 /* spinnerPaddingLeft */
        start local 3 // int spinnerPaddingLeft
        10: .line 1221
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            invokevirtual android.widget.Spinner.getPaddingRight:()I
            istore 4 /* spinnerPaddingRight */
        start local 4 // int spinnerPaddingRight
        11: .line 1222
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            invokevirtual android.widget.Spinner.getWidth:()I
            istore 5 /* spinnerWidth */
        start local 5 // int spinnerWidth
        12: .line 1224
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            getfield android.widget.Spinner.mDropDownWidth:I
            bipush -2
            if_icmpne 27
        13: .line 1225
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
        14: .line 1226
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.mAdapter:Landroid/widget/ListAdapter;
            checkcast android.widget.SpinnerAdapter
            aload 0 /* this */
            invokevirtual android.widget.Spinner$DropdownPopup.getBackground:()Landroid/graphics/drawable/Drawable;
        15: .line 1225
            invokevirtual android.widget.Spinner.measureContentWidth:(Landroid/widget/SpinnerAdapter;Landroid/graphics/drawable/Drawable;)I
            istore 6 /* contentWidth */
        start local 6 // int contentWidth
        16: .line 1227
            aload 0 /* this */
            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: .line 1228
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.widthPixels:I
            aload 0 /* this */
            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: .line 1227
            isub
        19: .line 1228
            aload 0 /* this */
            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: .line 1227
            isub
            istore 7 /* contentWidthLimit */
        start local 7 // int contentWidthLimit
        21: .line 1229
            iload 6 /* contentWidth */
            iload 7 /* contentWidthLimit */
            if_icmple 23
        22: .line 1230
            iload 7 /* contentWidthLimit */
            istore 6 /* contentWidth */
        23: .line 1232
      StackMap locals: android.widget.Spinner$DropdownPopup android.graphics.drawable.Drawable int int int int int int
      StackMap stack:
            aload 0 /* this */
        24: .line 1233
            iload 6 /* contentWidth */
            iload 5 /* spinnerWidth */
            iload 3 /* spinnerPaddingLeft */
            isub
            iload 4 /* spinnerPaddingRight */
            isub
        25: .line 1232
            invokestatic java.lang.Math.max:(II)I
            invokevirtual android.widget.Spinner$DropdownPopup.setContentWidth:(I)V
        end local 7 // int contentWidthLimit
        end local 6 // int contentWidth
        26: .line 1234
            goto 31
      StackMap locals:
      StackMap stack:
        27: aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            getfield android.widget.Spinner.mDropDownWidth:I
            iconst_m1
            if_icmpne 30
        28: .line 1235
            aload 0 /* this */
            iload 5 /* spinnerWidth */
            iload 3 /* spinnerPaddingLeft */
            isub
            iload 4 /* spinnerPaddingRight */
            isub
            invokevirtual android.widget.Spinner$DropdownPopup.setContentWidth:(I)V
        29: .line 1236
            goto 31
        30: .line 1237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            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: .line 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            invokevirtual android.widget.Spinner.isLayoutRtl:()Z
            ifeq 34
        32: .line 1241
            iload 2 /* hOffset */
            iload 5 /* spinnerWidth */
            iload 4 /* spinnerPaddingRight */
            isub
            aload 0 /* this */
            invokevirtual android.widget.Spinner$DropdownPopup.getWidth:()I
            isub
            iadd
            istore 2 /* hOffset */
        33: .line 1242
            goto 35
        34: .line 1243
      StackMap locals:
      StackMap stack:
            iload 2 /* hOffset */
            iload 3 /* spinnerPaddingLeft */
            iadd
            istore 2 /* hOffset */
        35: .line 1245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* hOffset */
            invokevirtual android.widget.Spinner$DropdownPopup.setHorizontalOffset:(I)V
        36: .line 1246
            return
        end local 5 // int spinnerWidth
        end local 4 // int spinnerPaddingRight
        end local 3 // int spinnerPaddingLeft
        end local 2 // int hOffset
        end local 1 // android.graphics.drawable.Drawable background
        end local 0 // android.widget.Spinner$DropdownPopup this
      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 // android.widget.Spinner$DropdownPopup this
        start local 1 // int textDirection
        start local 2 // int textAlignment
         0: .line 1249
            aload 0 /* this */
            invokevirtual android.widget.Spinner$DropdownPopup.isShowing:()Z
            istore 3 /* wasShowing */
        start local 3 // boolean wasShowing
         1: .line 1251
            aload 0 /* this */
            invokevirtual android.widget.Spinner$DropdownPopup.computeContentWidth:()V
         2: .line 1253
            aload 0 /* this */
            iconst_2
            invokevirtual android.widget.Spinner$DropdownPopup.setInputMethodMode:(I)V
         3: .line 1254
            aload 0 /* this */
            invokespecial android.widget.ListPopupWindow.show:()V
         4: .line 1255
            aload 0 /* this */
            invokevirtual android.widget.Spinner$DropdownPopup.getListView:()Landroid/widget/ListView;
            astore 4 /* listView */
        start local 4 // android.widget.ListView listView
         5: .line 1256
            aload 4 /* listView */
            iconst_1
            invokevirtual android.widget.ListView.setChoiceMode:(I)V
         6: .line 1257
            aload 4 /* listView */
            iload 1 /* textDirection */
            invokevirtual android.widget.ListView.setTextDirection:(I)V
         7: .line 1258
            aload 4 /* listView */
            iload 2 /* textAlignment */
            invokevirtual android.widget.ListView.setTextAlignment:(I)V
         8: .line 1259
            aload 0 /* this */
            aload 0 /* this */
            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: .line 1261
            iload 3 /* wasShowing */
            ifeq 11
        10: .line 1264
            return
        11: .line 1270
      StackMap locals: int android.widget.ListView
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.Spinner$DropdownPopup.this$0:Landroid/widget/Spinner;
            invokevirtual android.widget.Spinner.getViewTreeObserver:()Landroid/view/ViewTreeObserver;
            astore 5 /* vto */
        start local 5 // android.view.ViewTreeObserver vto
        12: .line 1271
            aload 5 /* vto */
            ifnull 16
        13: .line 1272
            new android.widget.Spinner$DropdownPopup$2
            dup
            aload 0 /* this */
            invokespecial android.widget.Spinner$DropdownPopup$2.<init>:(Landroid/widget/Spinner$DropdownPopup;)V
            astore 6 /* layoutListener */
        start local 6 // android.view.ViewTreeObserver$OnGlobalLayoutListener layoutListener
        14: .line 1286
            aload 5 /* vto */
            aload 6 /* layoutListener */
            invokevirtual android.view.ViewTreeObserver.addOnGlobalLayoutListener:(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
        15: .line 1287
            aload 0 /* this */
            new android.widget.Spinner$DropdownPopup$3
            dup
            aload 0 /* this */
            aload 6 /* layoutListener */
            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 // android.view.ViewTreeObserver$OnGlobalLayoutListener layoutListener
        16: .line 1296
      StackMap locals: android.view.ViewTreeObserver
      StackMap stack:
            return
        end local 5 // android.view.ViewTreeObserver vto
        end local 4 // android.widget.ListView listView
        end local 3 // boolean wasShowing
        end local 2 // int textAlignment
        end local 1 // int textDirection
        end local 0 // android.widget.Spinner$DropdownPopup this
      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: .line 1
            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: .line 1173
            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