public class android.widget.GridView extends android.widget.AbsListView
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.GridView
  super_class: android.widget.AbsListView
{
  public static final int NO_STRETCH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int STRETCH_SPACING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int STRETCH_COLUMN_WIDTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int STRETCH_SPACING_UNIFORM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int AUTO_FIT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

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

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

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

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

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

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

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

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

  private android.view.View mReferenceView;
    descriptor: Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE

  private android.view.View mReferenceViewInSelectedRow;
    descriptor: Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE

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

  private final android.graphics.Rect mTempRect;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // android.content.Context context
         0: .line 127
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial android.widget.GridView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
         1: .line 128
            return
        end local 1 // android.content.Context context
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/widget/GridView;
            0    2     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(android.content.Context, android.util.AttributeSet);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.GridView this
         0: .line 45
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;
    MethodParameters:
         Name  Flags
      context  
      attrs    

  public void <init>(android.content.Context, android.util.AttributeSet, int);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // android.content.Context context
        start local 2 // android.util.AttributeSet attrs
        start local 3 // int defStyleAttr
         0: .line 135
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* attrs */
            iload 3 /* defStyleAttr */
            iconst_0
            invokespecial android.widget.GridView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
         1: .line 136
            return
        end local 3 // int defStyleAttr
        end local 2 // android.util.AttributeSet attrs
        end local 1 // android.content.Context context
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Landroid/widget/GridView;
            0    2     1       context  Landroid/content/Context;
            0    2     2         attrs  Landroid/util/AttributeSet;
            0    2     3  defStyleAttr  I
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  

  public void <init>(android.content.Context, android.util.AttributeSet, int, int);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.widget.GridView this
         0: .line 45
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  
      defStyleRes   

  public android.widget.ListAdapter getAdapter();
    descriptor: ()Landroid/widget/ListAdapter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 175
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            areturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void setRemoteViewsAdapter(android.content.Intent);
    descriptor: (Landroid/content/Intent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // android.content.Intent intent
         0: .line 185
            aload 0 /* this */
            aload 1 /* intent */
            invokespecial android.widget.AbsListView.setRemoteViewsAdapter:(Landroid/content/Intent;)V
         1: .line 186
            return
        end local 1 // android.content.Intent intent
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/GridView;
            0    2     1  intent  Landroid/content/Intent;
    RuntimeVisibleAnnotations: 
      android.view.RemotableViewMethod(asyncImpl = "setRemoteViewsAdapterAsync")
    MethodParameters:
        Name  Flags
      intent  

  public void setAdapter(android.widget.ListAdapter);
    descriptor: (Landroid/widget/ListAdapter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // android.widget.ListAdapter adapter
         0: .line 195
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 2
            aload 0 /* this */
            getfield android.widget.GridView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 2
         1: .line 196
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            aload 0 /* this */
            getfield android.widget.GridView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokeinterface android.widget.ListAdapter.unregisterDataSetObserver:(Landroid/database/DataSetObserver;)V
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.resetList:()V
         3: .line 200
            aload 0 /* this */
            getfield android.widget.GridView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            invokevirtual android.widget.AbsListView$RecycleBin.clear:()V
         4: .line 201
            aload 0 /* this */
            aload 1 /* adapter */
            putfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
         5: .line 203
            aload 0 /* this */
            iconst_m1
            putfield android.widget.GridView.mOldSelectedPosition:I
         6: .line 204
            aload 0 /* this */
            ldc -9223372036854775808
            putfield android.widget.GridView.mOldSelectedRowId:J
         7: .line 207
            aload 0 /* this */
            aload 1 /* adapter */
            invokespecial android.widget.AbsListView.setAdapter:(Landroid/widget/ListAdapter;)V
         8: .line 209
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 24
         9: .line 210
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            putfield android.widget.GridView.mOldItemCount:I
        10: .line 211
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
            putfield android.widget.GridView.mItemCount:I
        11: .line 212
            aload 0 /* this */
            iconst_1
            putfield android.widget.GridView.mDataChanged:Z
        12: .line 213
            aload 0 /* this */
            invokevirtual android.widget.GridView.checkFocus:()V
        13: .line 215
            aload 0 /* this */
            new android.widget.AbsListView$AdapterDataSetObserver
            dup
            aload 0 /* this */
            invokespecial android.widget.AbsListView$AdapterDataSetObserver.<init>:(Landroid/widget/AbsListView;)V
            putfield android.widget.GridView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
        14: .line 216
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            aload 0 /* this */
            getfield android.widget.GridView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokeinterface android.widget.ListAdapter.registerDataSetObserver:(Landroid/database/DataSetObserver;)V
        15: .line 218
            aload 0 /* this */
            getfield android.widget.GridView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getViewTypeCount:()I
            invokevirtual android.widget.AbsListView$RecycleBin.setViewTypeCount:(I)V
        16: .line 221
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 19
        17: .line 222
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iconst_0
            invokevirtual android.widget.GridView.lookForSelectablePosition:(IZ)I
            istore 2 /* position */
        start local 2 // int position
        18: .line 223
            goto 20
        end local 2 // int position
        19: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual android.widget.GridView.lookForSelectablePosition:(IZ)I
            istore 2 /* position */
        start local 2 // int position
        20: .line 226
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual android.widget.GridView.setSelectedPositionInt:(I)V
        21: .line 227
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual android.widget.GridView.setNextSelectedPositionInt:(I)V
        22: .line 228
            aload 0 /* this */
            invokevirtual android.widget.GridView.checkSelectionChanged:()V
        end local 2 // int position
        23: .line 229
            goto 26
        24: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.checkFocus:()V
        25: .line 232
            aload 0 /* this */
            invokevirtual android.widget.GridView.checkSelectionChanged:()V
        26: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayout:()V
        27: .line 236
            return
        end local 1 // android.widget.ListAdapter adapter
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Landroid/widget/GridView;
            0   28     1   adapter  Landroid/widget/ListAdapter;
           18   19     2  position  I
           20   23     2  position  I
    MethodParameters:
         Name  Flags
      adapter  

  int lookForSelectablePosition(int, boolean);
    descriptor: (IZ)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int position
        start local 2 // boolean lookDown
         0: .line 240
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            astore 3 /* adapter */
        start local 3 // android.widget.ListAdapter adapter
         1: .line 241
            aload 3 /* adapter */
            ifnull 2
            aload 0 /* this */
            invokevirtual android.widget.GridView.isInTouchMode:()Z
            ifeq 3
         2: .line 242
      StackMap locals: android.widget.ListAdapter
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 245
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            iflt 4
            iload 1 /* position */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            if_icmplt 5
         4: .line 246
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         5: .line 248
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            ireturn
        end local 3 // android.widget.ListAdapter adapter
        end local 2 // boolean lookDown
        end local 1 // int position
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/widget/GridView;
            0    6     1  position  I
            0    6     2  lookDown  Z
            1    6     3   adapter  Landroid/widget/ListAdapter;
    MethodParameters:
          Name  Flags
      position  
      lookDown  

  void fillGap(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // boolean down
         0: .line 256
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 2 /* numColumns */
        start local 2 // int numColumns
         1: .line 257
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            istore 3 /* verticalSpacing */
        start local 3 // int verticalSpacing
         2: .line 259
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 4 /* count */
        start local 4 // int count
         3: .line 261
            iload 1 /* down */
            ifeq 17
         4: .line 262
            iconst_0
            istore 5 /* paddingTop */
        start local 5 // int paddingTop
         5: .line 263
            aload 0 /* this */
            getfield android.widget.GridView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 7
         6: .line 264
            aload 0 /* this */
            invokevirtual android.widget.GridView.getListPaddingTop:()I
            istore 5 /* paddingTop */
         7: .line 266
      StackMap locals: android.widget.GridView int int int int int
      StackMap stack:
            iload 4 /* count */
            ifle 9
         8: .line 267
            aload 0 /* this */
            iload 4 /* count */
            iconst_1
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* verticalSpacing */
            iadd
            goto 10
      StackMap locals:
      StackMap stack:
         9: iload 5 /* paddingTop */
        10: .line 266
      StackMap locals:
      StackMap stack: int
            istore 6 /* startOffset */
        start local 6 // int startOffset
        11: .line 268
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 4 /* count */
            iadd
            istore 7 /* position */
        start local 7 // int position
        12: .line 269
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 14
        13: .line 270
            iload 7 /* position */
            iload 2 /* numColumns */
            iconst_1
            isub
            iadd
            istore 7 /* position */
        14: .line 272
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* position */
            iload 6 /* startOffset */
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        15: .line 273
            aload 0 /* this */
            iload 2 /* numColumns */
            iload 3 /* verticalSpacing */
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            invokevirtual android.widget.GridView.correctTooHigh:(III)V
        end local 7 // int position
        end local 6 // int startOffset
        end local 5 // int paddingTop
        16: .line 274
            goto 31
        17: .line 275
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* paddingBottom */
        start local 5 // int paddingBottom
        18: .line 276
            aload 0 /* this */
            getfield android.widget.GridView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 20
        19: .line 277
            aload 0 /* this */
            invokevirtual android.widget.GridView.getListPaddingBottom:()I
            istore 5 /* paddingBottom */
        20: .line 279
      StackMap locals: int
      StackMap stack:
            iload 4 /* count */
            ifle 22
        21: .line 280
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            iload 3 /* verticalSpacing */
            isub
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 0 /* this */
            invokevirtual android.widget.GridView.getHeight:()I
            iload 5 /* paddingBottom */
            isub
        23: .line 279
      StackMap locals:
      StackMap stack: int
            istore 6 /* startOffset */
        start local 6 // int startOffset
        24: .line 281
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            istore 7 /* position */
        start local 7 // int position
        25: .line 282
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 28
        26: .line 283
            iload 7 /* position */
            iload 2 /* numColumns */
            isub
            istore 7 /* position */
        27: .line 284
            goto 29
        28: .line 285
      StackMap locals: int int
      StackMap stack:
            iinc 7 /* position */ -1
        29: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* position */
            iload 6 /* startOffset */
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        30: .line 288
            aload 0 /* this */
            iload 2 /* numColumns */
            iload 3 /* verticalSpacing */
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            invokevirtual android.widget.GridView.correctTooLow:(III)V
        end local 7 // int position
        end local 6 // int startOffset
        end local 5 // int paddingBottom
        31: .line 290
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int count
        end local 3 // int verticalSpacing
        end local 2 // int numColumns
        end local 1 // boolean down
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Landroid/widget/GridView;
            0   32     1             down  Z
            1   32     2       numColumns  I
            2   32     3  verticalSpacing  I
            3   32     4            count  I
            5   16     5       paddingTop  I
           11   16     6      startOffset  I
           12   16     7         position  I
           18   31     5    paddingBottom  I
           24   31     6      startOffset  I
           25   31     7         position  I
    MethodParameters:
      Name  Flags
      down  

  private android.view.View fillDown(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int pos
        start local 2 // int nextTop
         0: .line 304
            aconst_null
            astore 3 /* selectedView */
        start local 3 // android.view.View selectedView
         1: .line 306
            aload 0 /* this */
            getfield android.widget.GridView.mBottom:I
            aload 0 /* this */
            getfield android.widget.GridView.mTop:I
            isub
            istore 4 /* end */
        start local 4 // int end
         2: .line 307
            aload 0 /* this */
            getfield android.widget.GridView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 10
         3: .line 308
            iload 4 /* end */
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 4 /* end */
         4: .line 311
            goto 10
         5: .line 312
      StackMap locals: android.view.View int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            iload 2 /* nextTop */
            iconst_1
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 5 /* temp */
        start local 5 // android.view.View temp
         6: .line 313
            aload 5 /* temp */
            ifnull 8
         7: .line 314
            aload 5 /* temp */
            astore 3 /* selectedView */
         8: .line 319
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            iadd
            istore 2 /* nextTop */
         9: .line 321
            iload 1 /* pos */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iadd
            istore 1 /* pos */
        end local 5 // android.view.View temp
        10: .line 311
      StackMap locals:
      StackMap stack:
            iload 2 /* nextTop */
            iload 4 /* end */
            if_icmpge 11
            iload 1 /* pos */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            if_icmplt 5
        11: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            iadd
            iconst_1
            isub
            invokevirtual android.widget.GridView.setVisibleRangeHint:(II)V
        12: .line 325
            aload 3 /* selectedView */
            areturn
        end local 4 // int end
        end local 3 // android.view.View selectedView
        end local 2 // int nextTop
        end local 1 // int pos
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Landroid/widget/GridView;
            0   13     1           pos  I
            0   13     2       nextTop  I
            1   13     3  selectedView  Landroid/view/View;
            2   13     4           end  I
            6   10     5          temp  Landroid/view/View;
    MethodParameters:
         Name  Flags
      pos      
      nextTop  

  private android.view.View makeRow(int, int, boolean);
    descriptor: (IIZ)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=18, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int startPos
        start local 2 // int y
        start local 3 // boolean flow
         0: .line 329
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            istore 4 /* columnWidth */
        start local 4 // int columnWidth
         1: .line 330
            aload 0 /* this */
            getfield android.widget.GridView.mHorizontalSpacing:I
            istore 5 /* horizontalSpacing */
        start local 5 // int horizontalSpacing
         2: .line 332
            aload 0 /* this */
            invokevirtual android.widget.GridView.isLayoutRtl:()Z
            istore 6 /* isLayoutRtl */
        start local 6 // boolean isLayoutRtl
         3: .line 337
            iload 6 /* isLayoutRtl */
            ifeq 9
         4: .line 338
            aload 0 /* this */
            invokevirtual android.widget.GridView.getWidth:()I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            isub
            iload 4 /* columnWidth */
            isub
         5: .line 339
            aload 0 /* this */
            getfield android.widget.GridView.mStretchMode:I
            iconst_3
            if_icmpne 6
            iload 5 /* horizontalSpacing */
            goto 7
      StackMap locals: android.widget.GridView int int int int int int
      StackMap stack: int
         6: iconst_0
         7: .line 338
      StackMap locals: android.widget.GridView int int int int int int
      StackMap stack: int int
            isub
            istore 8 /* nextLeft */
        start local 8 // int nextLeft
         8: .line 340
            goto 13
        end local 8 // int nextLeft
         9: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
        10: .line 342
            aload 0 /* this */
            getfield android.widget.GridView.mStretchMode:I
            iconst_3
            if_icmpne 11
            iload 5 /* horizontalSpacing */
            goto 12
      StackMap locals:
      StackMap stack: int
        11: iconst_0
        12: .line 341
      StackMap locals: android.widget.GridView int int int int int int
      StackMap stack: int int
            iadd
            istore 8 /* nextLeft */
        start local 8 // int nextLeft
        13: .line 345
      StackMap locals: android.widget.GridView int int int int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 16
        14: .line 346
            iload 1 /* startPos */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iadd
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* last */
        start local 7 // int last
        15: .line 347
            goto 23
        end local 7 // int last
        16: .line 348
      StackMap locals:
      StackMap stack:
            iload 1 /* startPos */
            iconst_1
            iadd
            istore 7 /* last */
        start local 7 // int last
        17: .line 349
            iconst_0
            iload 1 /* startPos */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* startPos */
        18: .line 351
            iload 7 /* last */
            iload 1 /* startPos */
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            if_icmpge 23
        19: .line 352
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iload 7 /* last */
            iload 1 /* startPos */
            isub
            isub
            iload 4 /* columnWidth */
            iload 5 /* horizontalSpacing */
            iadd
            imul
            istore 9 /* deltaLeft */
        start local 9 // int deltaLeft
        20: .line 353
            iload 8 /* nextLeft */
            iload 6 /* isLayoutRtl */
            ifeq 21
            iconst_m1
            goto 22
      StackMap locals: android.widget.GridView int int int int int int int int int
      StackMap stack: int
        21: iconst_1
      StackMap locals: android.widget.GridView int int int int int int int int int
      StackMap stack: int int
        22: iload 9 /* deltaLeft */
            imul
            iadd
            istore 8 /* nextLeft */
        end local 9 // int deltaLeft
        23: .line 357
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* selectedView */
        start local 9 // android.view.View selectedView
        24: .line 359
            aload 0 /* this */
            invokevirtual android.widget.GridView.shouldShowSelector:()Z
            istore 10 /* hasFocus */
        start local 10 // boolean hasFocus
        25: .line 360
            aload 0 /* this */
            invokevirtual android.widget.GridView.touchModeDrawsInPressedState:()Z
            istore 11 /* inClick */
        start local 11 // boolean inClick
        26: .line 361
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            istore 12 /* selectedPosition */
        start local 12 // int selectedPosition
        27: .line 363
            aconst_null
            astore 13 /* child */
        start local 13 // android.view.View child
        28: .line 364
            iload 6 /* isLayoutRtl */
            ifeq 29
            iconst_m1
            goto 30
      StackMap locals: android.widget.GridView int int int int int int int int android.view.View int int int android.view.View
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 14 /* nextChildDir */
        start local 14 // int nextChildDir
        31: .line 365
            iload 1 /* startPos */
            istore 15 /* pos */
        start local 15 // int pos
        32: goto 46
        33: .line 367
      StackMap locals: int int
      StackMap stack:
            iload 15 /* pos */
            iload 12 /* selectedPosition */
            if_icmpne 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 16 /* selected */
        start local 16 // boolean selected
        36: .line 370
            iload 3 /* flow */
            ifeq 37
            iconst_m1
            goto 38
      StackMap locals: int
      StackMap stack:
        37: iload 15 /* pos */
            iload 1 /* startPos */
            isub
      StackMap locals:
      StackMap stack: int
        38: istore 17 /* where */
        start local 17 // int where
        39: .line 371
            aload 0 /* this */
            iload 15 /* pos */
            iload 2 /* y */
            iload 3 /* flow */
            iload 8 /* nextLeft */
            iload 16 /* selected */
            iload 17 /* where */
            invokevirtual android.widget.GridView.makeAndAddView:(IIZIZI)Landroid/view/View;
            astore 13 /* child */
        40: .line 373
            iload 8 /* nextLeft */
            iload 14 /* nextChildDir */
            iload 4 /* columnWidth */
            imul
            iadd
            istore 8 /* nextLeft */
        41: .line 374
            iload 15 /* pos */
            iload 7 /* last */
            iconst_1
            isub
            if_icmpge 43
        42: .line 375
            iload 8 /* nextLeft */
            iload 14 /* nextChildDir */
            iload 5 /* horizontalSpacing */
            imul
            iadd
            istore 8 /* nextLeft */
        43: .line 378
      StackMap locals: int
      StackMap stack:
            iload 16 /* selected */
            ifeq 45
            iload 10 /* hasFocus */
            ifne 44
            iload 11 /* inClick */
            ifeq 45
        44: .line 379
      StackMap locals:
      StackMap stack:
            aload 13 /* child */
            astore 9 /* selectedView */
        end local 17 // int where
        end local 16 // boolean selected
        45: .line 365
      StackMap locals:
      StackMap stack:
            iinc 15 /* pos */ 1
      StackMap locals:
      StackMap stack:
        46: iload 15 /* pos */
            iload 7 /* last */
            if_icmplt 33
        end local 15 // int pos
        47: .line 383
            aload 0 /* this */
            aload 13 /* child */
            putfield android.widget.GridView.mReferenceView:Landroid/view/View;
        48: .line 385
            aload 9 /* selectedView */
            ifnull 50
        49: .line 386
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            putfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
        50: .line 389
      StackMap locals:
      StackMap stack:
            aload 9 /* selectedView */
            areturn
        end local 14 // int nextChildDir
        end local 13 // android.view.View child
        end local 12 // int selectedPosition
        end local 11 // boolean inClick
        end local 10 // boolean hasFocus
        end local 9 // android.view.View selectedView
        end local 8 // int nextLeft
        end local 7 // int last
        end local 6 // boolean isLayoutRtl
        end local 5 // int horizontalSpacing
        end local 4 // int columnWidth
        end local 3 // boolean flow
        end local 2 // int y
        end local 1 // int startPos
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   51     0               this  Landroid/widget/GridView;
            0   51     1           startPos  I
            0   51     2                  y  I
            0   51     3               flow  Z
            1   51     4        columnWidth  I
            2   51     5  horizontalSpacing  I
            3   51     6        isLayoutRtl  Z
           15   16     7               last  I
           17   51     7               last  I
            8    9     8           nextLeft  I
           13   51     8           nextLeft  I
           20   23     9          deltaLeft  I
           24   51     9       selectedView  Landroid/view/View;
           25   51    10           hasFocus  Z
           26   51    11            inClick  Z
           27   51    12   selectedPosition  I
           28   51    13              child  Landroid/view/View;
           31   51    14       nextChildDir  I
           32   47    15                pos  I
           36   45    16           selected  Z
           39   45    17              where  I
    MethodParameters:
          Name  Flags
      startPos  
      y         
      flow      

  private android.view.View fillUp(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int pos
        start local 2 // int nextBottom
         0: .line 403
            aconst_null
            astore 3 /* selectedView */
        start local 3 // android.view.View selectedView
         1: .line 405
            iconst_0
            istore 4 /* end */
        start local 4 // int end
         2: .line 406
            aload 0 /* this */
            getfield android.widget.GridView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 11
         3: .line 407
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 4 /* end */
         4: .line 410
            goto 11
         5: .line 412
      StackMap locals: android.view.View int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            iload 2 /* nextBottom */
            iconst_0
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 5 /* temp */
        start local 5 // android.view.View temp
         6: .line 413
            aload 5 /* temp */
            ifnull 8
         7: .line 414
            aload 5 /* temp */
            astore 3 /* selectedView */
         8: .line 417
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            isub
            istore 2 /* nextBottom */
         9: .line 419
            aload 0 /* this */
            iload 1 /* pos */
            putfield android.widget.GridView.mFirstPosition:I
        10: .line 421
            iload 1 /* pos */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            isub
            istore 1 /* pos */
        end local 5 // android.view.View temp
        11: .line 410
      StackMap locals:
      StackMap stack:
            iload 2 /* nextBottom */
            iload 4 /* end */
            if_icmple 12
            iload 1 /* pos */
            ifge 5
        12: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 14
        13: .line 425
            aload 0 /* this */
            iconst_0
            iload 1 /* pos */
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            putfield android.widget.GridView.mFirstPosition:I
        14: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            iadd
            iconst_1
            isub
            invokevirtual android.widget.GridView.setVisibleRangeHint:(II)V
        15: .line 429
            aload 3 /* selectedView */
            areturn
        end local 4 // int end
        end local 3 // android.view.View selectedView
        end local 2 // int nextBottom
        end local 1 // int pos
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Landroid/widget/GridView;
            0   16     1           pos  I
            0   16     2    nextBottom  I
            1   16     3  selectedView  Landroid/view/View;
            2   16     4           end  I
            6   11     5          temp  Landroid/view/View;
    MethodParameters:
            Name  Flags
      pos         
      nextBottom  

  private android.view.View fillFromTop(int);
    descriptor: (I)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int nextTop
         0: .line 441
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.GridView.mFirstPosition:I
         1: .line 442
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.GridView.mFirstPosition:I
         2: .line 443
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifge 4
         3: .line 444
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mFirstPosition:I
         4: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            irem
            isub
            putfield android.widget.GridView.mFirstPosition:I
         5: .line 447
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 1 /* nextTop */
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            areturn
        end local 1 // int nextTop
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/widget/GridView;
            0    6     1  nextTop  I
    MethodParameters:
         Name  Flags
      nextTop  

  private android.view.View fillFromBottom(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int lastPosition
        start local 2 // int nextBottom
         0: .line 451
            iload 1 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* lastPosition */
         1: .line 452
            iload 1 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* lastPosition */
         2: .line 454
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 1 /* lastPosition */
            isub
            istore 3 /* invertedPosition */
        start local 3 // int invertedPosition
         3: .line 455
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 3 /* invertedPosition */
            iload 3 /* invertedPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            irem
            isub
            isub
            istore 1 /* lastPosition */
         4: .line 457
            aload 0 /* this */
            iload 1 /* lastPosition */
            iload 2 /* nextBottom */
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            areturn
        end local 3 // int invertedPosition
        end local 2 // int nextBottom
        end local 1 // int lastPosition
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Landroid/widget/GridView;
            0    5     1      lastPosition  I
            0    5     2        nextBottom  I
            3    5     3  invertedPosition  I
    MethodParameters:
              Name  Flags
      lastPosition  
      nextBottom    

  private android.view.View fillSelection(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int childrenTop
        start local 2 // int childrenBottom
         0: .line 461
            aload 0 /* this */
            invokevirtual android.widget.GridView.reconcileSelectedPosition:()I
            istore 3 /* selectedPosition */
        start local 3 // int selectedPosition
         1: .line 462
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 4 /* numColumns */
        start local 4 // int numColumns
         2: .line 463
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            istore 5 /* verticalSpacing */
        start local 5 // int verticalSpacing
         3: .line 466
            iconst_m1
            istore 7 /* rowEnd */
        start local 7 // int rowEnd
         4: .line 468
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 7
         5: .line 469
            iload 3 /* selectedPosition */
            iload 3 /* selectedPosition */
            iload 4 /* numColumns */
            irem
            isub
            istore 6 /* rowStart */
        start local 6 // int rowStart
         6: .line 470
            goto 10
        end local 6 // int rowStart
         7: .line 471
      StackMap locals: android.widget.GridView int int int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 3 /* selectedPosition */
            isub
            istore 8 /* invertedSelection */
        start local 8 // int invertedSelection
         8: .line 473
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 8 /* invertedSelection */
            iload 8 /* invertedSelection */
            iload 4 /* numColumns */
            irem
            isub
            isub
            istore 7 /* rowEnd */
         9: .line 474
            iconst_0
            iload 7 /* rowEnd */
            iload 4 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* rowStart */
        end local 8 // int invertedSelection
        start local 6 // int rowStart
        10: .line 477
      StackMap locals: android.widget.GridView int int int int int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.getVerticalFadingEdgeLength:()I
            istore 8 /* fadingEdgeLength */
        start local 8 // int fadingEdgeLength
        11: .line 478
            aload 0 /* this */
            iload 1 /* childrenTop */
            iload 8 /* fadingEdgeLength */
            iload 6 /* rowStart */
            invokevirtual android.widget.GridView.getTopSelectionPixel:(III)I
            istore 9 /* topSelectionPixel */
        start local 9 // int topSelectionPixel
        12: .line 480
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 13
            iload 7 /* rowEnd */
            goto 14
      StackMap locals: android.widget.GridView int int int int int int int int int
      StackMap stack: android.widget.GridView
        13: iload 6 /* rowStart */
      StackMap locals: android.widget.GridView int int int int int int int int int
      StackMap stack: android.widget.GridView int
        14: iload 9 /* topSelectionPixel */
            iconst_1
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 10 /* sel */
        start local 10 // android.view.View sel
        15: .line 481
            aload 0 /* this */
            iload 6 /* rowStart */
            putfield android.widget.GridView.mFirstPosition:I
        16: .line 483
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            astore 11 /* referenceView */
        start local 11 // android.view.View referenceView
        17: .line 485
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 23
        18: .line 486
            aload 0 /* this */
            iload 6 /* rowStart */
            iload 4 /* numColumns */
            iadd
            aload 11 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 5 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        19: .line 487
            aload 0 /* this */
            iload 2 /* childrenBottom */
            invokevirtual android.widget.GridView.pinToBottom:(I)V
        20: .line 488
            aload 0 /* this */
            iload 6 /* rowStart */
            iload 4 /* numColumns */
            isub
            aload 11 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 5 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        21: .line 489
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        22: .line 490
            goto 32
        23: .line 491
      StackMap locals: android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            iload 2 /* childrenBottom */
        24: .line 492
            iload 8 /* fadingEdgeLength */
            iload 4 /* numColumns */
            iload 6 /* rowStart */
        25: .line 491
            invokevirtual android.widget.GridView.getBottomSelectionPixel:(IIII)I
            istore 12 /* bottomSelectionPixel */
        start local 12 // int bottomSelectionPixel
        26: .line 493
            iload 12 /* bottomSelectionPixel */
            aload 11 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            isub
            istore 13 /* offset */
        start local 13 // int offset
        27: .line 494
            aload 0 /* this */
            iload 13 /* offset */
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        28: .line 495
            aload 0 /* this */
            iload 6 /* rowStart */
            iconst_1
            isub
            aload 11 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 5 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        29: .line 496
            aload 0 /* this */
            iload 1 /* childrenTop */
            invokevirtual android.widget.GridView.pinToTop:(I)V
        30: .line 497
            aload 0 /* this */
            iload 7 /* rowEnd */
            iload 4 /* numColumns */
            iadd
            aload 11 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 5 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        31: .line 498
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        end local 13 // int offset
        end local 12 // int bottomSelectionPixel
        32: .line 501
      StackMap locals:
      StackMap stack:
            aload 10 /* sel */
            areturn
        end local 11 // android.view.View referenceView
        end local 10 // android.view.View sel
        end local 9 // int topSelectionPixel
        end local 8 // int fadingEdgeLength
        end local 7 // int rowEnd
        end local 6 // int rowStart
        end local 5 // int verticalSpacing
        end local 4 // int numColumns
        end local 3 // int selectedPosition
        end local 2 // int childrenBottom
        end local 1 // int childrenTop
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   33     0                  this  Landroid/widget/GridView;
            0   33     1           childrenTop  I
            0   33     2        childrenBottom  I
            1   33     3      selectedPosition  I
            2   33     4            numColumns  I
            3   33     5       verticalSpacing  I
            6    7     6              rowStart  I
           10   33     6              rowStart  I
            4   33     7                rowEnd  I
            8   10     8     invertedSelection  I
           11   33     8      fadingEdgeLength  I
           12   33     9     topSelectionPixel  I
           15   33    10                   sel  Landroid/view/View;
           17   33    11         referenceView  Landroid/view/View;
           26   32    12  bottomSelectionPixel  I
           27   32    13                offset  I
    MethodParameters:
                Name  Flags
      childrenTop     
      childrenBottom  

  private void pinToTop(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int childrenTop
         0: .line 505
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifne 5
         1: .line 506
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            istore 2 /* top */
        start local 2 // int top
         2: .line 507
            iload 1 /* childrenTop */
            iload 2 /* top */
            isub
            istore 3 /* offset */
        start local 3 // int offset
         3: .line 508
            iload 3 /* offset */
            ifge 5
         4: .line 509
            aload 0 /* this */
            iload 3 /* offset */
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        end local 3 // int offset
        end local 2 // int top
         5: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int childrenTop
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/widget/GridView;
            0    6     1  childrenTop  I
            2    5     2          top  I
            3    5     3       offset  I
    MethodParameters:
             Name  Flags
      childrenTop  

  private void pinToBottom(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int childrenBottom
         0: .line 515
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 516
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 2 /* count */
            iadd
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            if_icmpne 6
         2: .line 517
            aload 0 /* this */
            iload 2 /* count */
            iconst_1
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            istore 3 /* bottom */
        start local 3 // int bottom
         3: .line 518
            iload 1 /* childrenBottom */
            iload 3 /* bottom */
            isub
            istore 4 /* offset */
        start local 4 // int offset
         4: .line 519
            iload 4 /* offset */
            ifle 6
         5: .line 520
            aload 0 /* this */
            iload 4 /* offset */
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        end local 4 // int offset
        end local 3 // int bottom
         6: .line 523
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int count
        end local 1 // int childrenBottom
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Landroid/widget/GridView;
            0    7     1  childrenBottom  I
            1    7     2           count  I
            3    6     3          bottom  I
            4    6     4          offset  I
    MethodParameters:
                Name  Flags
      childrenBottom  

  int findMotionRow(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int y
         0: .line 527
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 2 /* childCount */
        start local 2 // int childCount
         1: .line 528
            iload 2 /* childCount */
            ifle 17
         2: .line 530
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 3 /* numColumns */
        start local 3 // int numColumns
         3: .line 531
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 11
         4: .line 532
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 533
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* y */
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            if_icmpgt 8
         7: .line 534
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 4 /* i */
            iadd
            ireturn
         8: .line 532
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* numColumns */
            iadd
            istore 4 /* i */
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 2 /* childCount */
            if_icmplt 6
        end local 4 // int i
        10: .line 537
            goto 17
        11: .line 538
      StackMap locals:
      StackMap stack:
            iload 2 /* childCount */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
        12: goto 16
        13: .line 539
      StackMap locals: int
      StackMap stack:
            iload 1 /* y */
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            if_icmplt 15
        14: .line 540
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 4 /* i */
            iadd
            ireturn
        15: .line 538
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* numColumns */
            isub
            istore 4 /* i */
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            ifge 13
        end local 4 // int i
        end local 3 // int numColumns
        17: .line 545
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int childCount
        end local 1 // int y
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Landroid/widget/GridView;
            0   18     1           y  I
            1   18     2  childCount  I
            3   17     3  numColumns  I
            5   10     4           i  I
           12   17     4           i  I
    MethodParameters:
      Name  Flags
      y     

  private android.view.View fillSpecific(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int position
        start local 2 // int top
         0: .line 559
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 3 /* numColumns */
        start local 3 // int numColumns
         1: .line 562
            iconst_m1
            istore 5 /* motionRowEnd */
        start local 5 // int motionRowEnd
         2: .line 564
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 5
         3: .line 565
            iload 1 /* position */
            iload 1 /* position */
            iload 3 /* numColumns */
            irem
            isub
            istore 4 /* motionRowStart */
        start local 4 // int motionRowStart
         4: .line 566
            goto 8
        end local 4 // int motionRowStart
         5: .line 567
      StackMap locals: android.widget.GridView int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 1 /* position */
            isub
            istore 6 /* invertedSelection */
        start local 6 // int invertedSelection
         6: .line 569
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 6 /* invertedSelection */
            iload 6 /* invertedSelection */
            iload 3 /* numColumns */
            irem
            isub
            isub
            istore 5 /* motionRowEnd */
         7: .line 570
            iconst_0
            iload 5 /* motionRowEnd */
            iload 3 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* motionRowStart */
        end local 6 // int invertedSelection
        start local 4 // int motionRowStart
         8: .line 573
      StackMap locals: android.widget.GridView int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 9
            iload 5 /* motionRowEnd */
            goto 10
      StackMap locals:
      StackMap stack: android.widget.GridView
         9: iload 4 /* motionRowStart */
      StackMap locals: android.widget.GridView int int int int int
      StackMap stack: android.widget.GridView int
        10: iload 2 /* top */
            iconst_1
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 6 /* temp */
        start local 6 // android.view.View temp
        11: .line 576
            aload 0 /* this */
            iload 4 /* motionRowStart */
            putfield android.widget.GridView.mFirstPosition:I
        12: .line 578
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            astore 7 /* referenceView */
        start local 7 // android.view.View referenceView
        13: .line 580
            aload 7 /* referenceView */
            ifnonnull 15
        14: .line 581
            aconst_null
            areturn
        15: .line 584
      StackMap locals: android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            istore 8 /* verticalSpacing */
        start local 8 // int verticalSpacing
        16: .line 589
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 24
        17: .line 590
            aload 0 /* this */
            iload 4 /* motionRowStart */
            iload 3 /* numColumns */
            isub
            aload 7 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 8 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            astore 9 /* above */
        start local 9 // android.view.View above
        18: .line 591
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        19: .line 592
            aload 0 /* this */
            iload 4 /* motionRowStart */
            iload 3 /* numColumns */
            iadd
            aload 7 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 8 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            astore 10 /* below */
        start local 10 // android.view.View below
        20: .line 594
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 11 /* childCount */
        start local 11 // int childCount
        21: .line 595
            iload 11 /* childCount */
            ifle 30
        22: .line 596
            aload 0 /* this */
            iload 3 /* numColumns */
            iload 8 /* verticalSpacing */
            iload 11 /* childCount */
            invokevirtual android.widget.GridView.correctTooHigh:(III)V
        end local 11 // int childCount
        23: .line 598
            goto 30
        end local 10 // android.view.View below
        end local 9 // android.view.View above
        24: .line 599
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* motionRowEnd */
            iload 3 /* numColumns */
            iadd
            aload 7 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 8 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            astore 10 /* below */
        start local 10 // android.view.View below
        25: .line 600
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        26: .line 601
            aload 0 /* this */
            iload 4 /* motionRowStart */
            iconst_1
            isub
            aload 7 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 8 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            astore 9 /* above */
        start local 9 // android.view.View above
        27: .line 603
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 11 /* childCount */
        start local 11 // int childCount
        28: .line 604
            iload 11 /* childCount */
            ifle 30
        29: .line 605
            aload 0 /* this */
            iload 3 /* numColumns */
            iload 8 /* verticalSpacing */
            iload 11 /* childCount */
            invokevirtual android.widget.GridView.correctTooLow:(III)V
        end local 11 // int childCount
        30: .line 609
      StackMap locals: android.view.View android.view.View
      StackMap stack:
            aload 6 /* temp */
            ifnull 32
        31: .line 610
            aload 6 /* temp */
            areturn
        32: .line 611
      StackMap locals:
      StackMap stack:
            aload 9 /* above */
            ifnull 34
        33: .line 612
            aload 9 /* above */
            areturn
        34: .line 614
      StackMap locals:
      StackMap stack:
            aload 10 /* below */
            areturn
        end local 10 // android.view.View below
        end local 9 // android.view.View above
        end local 8 // int verticalSpacing
        end local 7 // android.view.View referenceView
        end local 6 // android.view.View temp
        end local 5 // int motionRowEnd
        end local 4 // int motionRowStart
        end local 3 // int numColumns
        end local 2 // int top
        end local 1 // int position
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Landroid/widget/GridView;
            0   35     1           position  I
            0   35     2                top  I
            1   35     3         numColumns  I
            4    5     4     motionRowStart  I
            8   35     4     motionRowStart  I
            2   35     5       motionRowEnd  I
            6    8     6  invertedSelection  I
           11   35     6               temp  Landroid/view/View;
           13   35     7      referenceView  Landroid/view/View;
           16   35     8    verticalSpacing  I
           18   24     9              above  Landroid/view/View;
           27   35     9              above  Landroid/view/View;
           20   24    10              below  Landroid/view/View;
           25   35    10              below  Landroid/view/View;
           21   23    11         childCount  I
           28   30    11         childCount  I
    MethodParameters:
          Name  Flags
      position  
      top       

  private void correctTooHigh(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int numColumns
        start local 2 // int verticalSpacing
        start local 3 // int childCount
         0: .line 620
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 3 /* childCount */
            iadd
            iconst_1
            isub
            istore 4 /* lastPosition */
        start local 4 // int lastPosition
         1: .line 621
            iload 4 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            if_icmpne 19
            iload 3 /* childCount */
            ifle 19
         2: .line 623
            aload 0 /* this */
            iload 3 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 5 /* lastChild */
        start local 5 // android.view.View lastChild
         3: .line 626
            aload 5 /* lastChild */
            invokevirtual android.view.View.getBottom:()I
            istore 6 /* lastBottom */
        start local 6 // int lastBottom
         4: .line 628
            aload 0 /* this */
            getfield android.widget.GridView.mBottom:I
            aload 0 /* this */
            getfield android.widget.GridView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 7 /* end */
        start local 7 // int end
         5: .line 632
            iload 7 /* end */
            iload 6 /* lastBottom */
            isub
            istore 8 /* bottomOffset */
        start local 8 // int bottomOffset
         6: .line 634
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 9 /* firstChild */
        start local 9 // android.view.View firstChild
         7: .line 635
            aload 9 /* firstChild */
            invokevirtual android.view.View.getTop:()I
            istore 10 /* firstTop */
        start local 10 // int firstTop
         8: .line 639
            iload 8 /* bottomOffset */
            ifle 19
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifgt 9
            iload 10 /* firstTop */
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            if_icmpge 19
         9: .line 640
      StackMap locals: android.widget.GridView int int int int android.view.View int int int android.view.View int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifne 11
        10: .line 642
            iload 8 /* bottomOffset */
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 10 /* firstTop */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* bottomOffset */
        11: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* bottomOffset */
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        12: .line 647
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifle 19
        13: .line 650
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 14
            iconst_1
            goto 15
      StackMap locals: android.widget.GridView int int int int android.view.View int int int android.view.View int
      StackMap stack: android.widget.GridView int
        14: iload 1 /* numColumns */
      StackMap locals: android.widget.GridView int int int int android.view.View int int int android.view.View int
      StackMap stack: android.widget.GridView int int
        15: isub
        16: .line 651
            aload 9 /* firstChild */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* verticalSpacing */
            isub
        17: .line 650
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        18: .line 653
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        end local 10 // int firstTop
        end local 9 // android.view.View firstChild
        end local 8 // int bottomOffset
        end local 7 // int end
        end local 6 // int lastBottom
        end local 5 // android.view.View lastChild
        19: .line 657
      StackMap locals: android.widget.GridView int int int int
      StackMap stack:
            return
        end local 4 // int lastPosition
        end local 3 // int childCount
        end local 2 // int verticalSpacing
        end local 1 // int numColumns
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Landroid/widget/GridView;
            0   20     1       numColumns  I
            0   20     2  verticalSpacing  I
            0   20     3       childCount  I
            1   20     4     lastPosition  I
            3   19     5        lastChild  Landroid/view/View;
            4   19     6       lastBottom  I
            5   19     7              end  I
            6   19     8     bottomOffset  I
            7   19     9       firstChild  Landroid/view/View;
            8   19    10         firstTop  I
    MethodParameters:
                 Name  Flags
      numColumns       
      verticalSpacing  
      childCount       

  private void correctTooLow(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int numColumns
        start local 2 // int verticalSpacing
        start local 3 // int childCount
         0: .line 660
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifne 20
            iload 3 /* childCount */
            ifle 20
         1: .line 662
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 4 /* firstChild */
        start local 4 // android.view.View firstChild
         2: .line 665
            aload 4 /* firstChild */
            invokevirtual android.view.View.getTop:()I
            istore 5 /* firstTop */
        start local 5 // int firstTop
         3: .line 668
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 6 /* start */
        start local 6 // int start
         4: .line 671
            aload 0 /* this */
            getfield android.widget.GridView.mBottom:I
            aload 0 /* this */
            getfield android.widget.GridView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 7 /* end */
        start local 7 // int end
         5: .line 675
            iload 5 /* firstTop */
            iload 6 /* start */
            isub
            istore 8 /* topOffset */
        start local 8 // int topOffset
         6: .line 676
            aload 0 /* this */
            iload 3 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 9 /* lastChild */
        start local 9 // android.view.View lastChild
         7: .line 677
            aload 9 /* lastChild */
            invokevirtual android.view.View.getBottom:()I
            istore 10 /* lastBottom */
        start local 10 // int lastBottom
         8: .line 678
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 3 /* childCount */
            iadd
            iconst_1
            isub
            istore 11 /* lastPosition */
        start local 11 // int lastPosition
         9: .line 682
            iload 8 /* topOffset */
            ifle 20
            iload 11 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            if_icmplt 10
            iload 10 /* lastBottom */
            iload 7 /* end */
            if_icmple 20
        10: .line 683
      StackMap locals: android.widget.GridView int int int android.view.View int int int int android.view.View int int
      StackMap stack:
            iload 11 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            if_icmpne 12
        11: .line 685
            iload 8 /* topOffset */
            iload 10 /* lastBottom */
            iload 7 /* end */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* topOffset */
        12: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* topOffset */
            ineg
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        13: .line 690
            iload 11 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            if_icmpge 20
        14: .line 693
            aload 0 /* this */
            iload 11 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 15
            iconst_1
            goto 16
      StackMap locals: android.widget.GridView int int int android.view.View int int int int android.view.View int int
      StackMap stack: android.widget.GridView int
        15: iload 1 /* numColumns */
      StackMap locals: android.widget.GridView int int int android.view.View int int int int android.view.View int int
      StackMap stack: android.widget.GridView int int
        16: iadd
        17: .line 694
            aload 9 /* lastChild */
            invokevirtual android.view.View.getBottom:()I
            iload 2 /* verticalSpacing */
            iadd
        18: .line 693
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        19: .line 696
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        end local 11 // int lastPosition
        end local 10 // int lastBottom
        end local 9 // android.view.View lastChild
        end local 8 // int topOffset
        end local 7 // int end
        end local 6 // int start
        end local 5 // int firstTop
        end local 4 // android.view.View firstChild
        20: .line 700
      StackMap locals: android.widget.GridView int int int
      StackMap stack:
            return
        end local 3 // int childCount
        end local 2 // int verticalSpacing
        end local 1 // int numColumns
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Landroid/widget/GridView;
            0   21     1       numColumns  I
            0   21     2  verticalSpacing  I
            0   21     3       childCount  I
            2   20     4       firstChild  Landroid/view/View;
            3   20     5         firstTop  I
            4   20     6            start  I
            5   20     7              end  I
            6   20     8        topOffset  I
            7   20     9        lastChild  Landroid/view/View;
            8   20    10       lastBottom  I
            9   20    11     lastPosition  I
    MethodParameters:
                 Name  Flags
      numColumns       
      verticalSpacing  
      childCount       

  private android.view.View fillFromSelection(int, int, int);
    descriptor: (III)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int selectedTop
        start local 2 // int childrenTop
        start local 3 // int childrenBottom
         0: .line 713
            aload 0 /* this */
            invokevirtual android.widget.GridView.getVerticalFadingEdgeLength:()I
            istore 4 /* fadingEdgeLength */
        start local 4 // int fadingEdgeLength
         1: .line 714
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            istore 5 /* selectedPosition */
        start local 5 // int selectedPosition
         2: .line 715
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 6 /* numColumns */
        start local 6 // int numColumns
         3: .line 716
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            istore 7 /* verticalSpacing */
        start local 7 // int verticalSpacing
         4: .line 719
            iconst_m1
            istore 9 /* rowEnd */
        start local 9 // int rowEnd
         5: .line 721
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 8
         6: .line 722
            iload 5 /* selectedPosition */
            iload 5 /* selectedPosition */
            iload 6 /* numColumns */
            irem
            isub
            istore 8 /* rowStart */
        start local 8 // int rowStart
         7: .line 723
            goto 11
        end local 8 // int rowStart
         8: .line 724
      StackMap locals: android.widget.GridView int int int int int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 5 /* selectedPosition */
            isub
            istore 10 /* invertedSelection */
        start local 10 // int invertedSelection
         9: .line 726
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 10 /* invertedSelection */
            iload 10 /* invertedSelection */
            iload 6 /* numColumns */
            irem
            isub
            isub
            istore 9 /* rowEnd */
        10: .line 727
            iconst_0
            iload 9 /* rowEnd */
            iload 6 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* rowStart */
        end local 10 // int invertedSelection
        start local 8 // int rowStart
        11: .line 733
      StackMap locals: android.widget.GridView int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* childrenTop */
            iload 4 /* fadingEdgeLength */
            iload 8 /* rowStart */
            invokevirtual android.widget.GridView.getTopSelectionPixel:(III)I
            istore 12 /* topSelectionPixel */
        start local 12 // int topSelectionPixel
        12: .line 734
            aload 0 /* this */
            iload 3 /* childrenBottom */
            iload 4 /* fadingEdgeLength */
        13: .line 735
            iload 6 /* numColumns */
            iload 8 /* rowStart */
        14: .line 734
            invokevirtual android.widget.GridView.getBottomSelectionPixel:(IIII)I
            istore 13 /* bottomSelectionPixel */
        start local 13 // int bottomSelectionPixel
        15: .line 737
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 16
            iload 9 /* rowEnd */
            goto 17
      StackMap locals: android.widget.GridView int int int int int int int int int top top int int
      StackMap stack: android.widget.GridView
        16: iload 8 /* rowStart */
      StackMap locals: android.widget.GridView int int int int int int int int int top top int int
      StackMap stack: android.widget.GridView int
        17: iload 1 /* selectedTop */
            iconst_1
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 10 /* sel */
        start local 10 // android.view.View sel
        18: .line 739
            aload 0 /* this */
            iload 8 /* rowStart */
            putfield android.widget.GridView.mFirstPosition:I
        19: .line 741
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            astore 11 /* referenceView */
        start local 11 // android.view.View referenceView
        20: .line 742
            aload 0 /* this */
            aload 11 /* referenceView */
            iload 12 /* topSelectionPixel */
            iload 13 /* bottomSelectionPixel */
            invokevirtual android.widget.GridView.adjustForTopFadingEdge:(Landroid/view/View;II)V
        21: .line 743
            aload 0 /* this */
            aload 11 /* referenceView */
            iload 12 /* topSelectionPixel */
            iload 13 /* bottomSelectionPixel */
            invokevirtual android.widget.GridView.adjustForBottomFadingEdge:(Landroid/view/View;II)V
        22: .line 745
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 27
        23: .line 746
            aload 0 /* this */
            iload 8 /* rowStart */
            iload 6 /* numColumns */
            isub
            aload 11 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        24: .line 747
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        25: .line 748
            aload 0 /* this */
            iload 8 /* rowStart */
            iload 6 /* numColumns */
            iadd
            aload 11 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 7 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        26: .line 749
            goto 30
        27: .line 750
      StackMap locals: android.widget.GridView int int int int int int int int int android.view.View android.view.View int int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* rowEnd */
            iload 6 /* numColumns */
            iadd
            aload 11 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 7 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        28: .line 751
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        29: .line 752
            aload 0 /* this */
            iload 8 /* rowStart */
            iconst_1
            isub
            aload 11 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        30: .line 756
      StackMap locals:
      StackMap stack:
            aload 10 /* sel */
            areturn
        end local 13 // int bottomSelectionPixel
        end local 12 // int topSelectionPixel
        end local 11 // android.view.View referenceView
        end local 10 // android.view.View sel
        end local 9 // int rowEnd
        end local 8 // int rowStart
        end local 7 // int verticalSpacing
        end local 6 // int numColumns
        end local 5 // int selectedPosition
        end local 4 // int fadingEdgeLength
        end local 3 // int childrenBottom
        end local 2 // int childrenTop
        end local 1 // int selectedTop
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   31     0                  this  Landroid/widget/GridView;
            0   31     1           selectedTop  I
            0   31     2           childrenTop  I
            0   31     3        childrenBottom  I
            1   31     4      fadingEdgeLength  I
            2   31     5      selectedPosition  I
            3   31     6            numColumns  I
            4   31     7       verticalSpacing  I
            7    8     8              rowStart  I
           11   31     8              rowStart  I
            5   31     9                rowEnd  I
            9   11    10     invertedSelection  I
           18   31    10                   sel  Landroid/view/View;
           20   31    11         referenceView  Landroid/view/View;
           12   31    12     topSelectionPixel  I
           15   31    13  bottomSelectionPixel  I
    MethodParameters:
                Name  Flags
      selectedTop     
      childrenTop     
      childrenBottom  

  private int getBottomSelectionPixel(int, int, int, int);
    descriptor: (IIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // android.widget.GridView this
        start local 1 // int childrenBottom
        start local 2 // int fadingEdgeLength
        start local 3 // int numColumns
        start local 4 // int rowStart
         0: .line 771
            iload 1 /* childrenBottom */
            istore 5 /* bottomSelectionPixel */
        start local 5 // int bottomSelectionPixel
         1: .line 772
            iload 4 /* rowStart */
            iload 3 /* numColumns */
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            if_icmpge 3
         2: .line 773
            iload 5 /* bottomSelectionPixel */
            iload 2 /* fadingEdgeLength */
            isub
            istore 5 /* bottomSelectionPixel */
         3: .line 775
      StackMap locals: int
      StackMap stack:
            iload 5 /* bottomSelectionPixel */
            ireturn
        end local 5 // int bottomSelectionPixel
        end local 4 // int rowStart
        end local 3 // int numColumns
        end local 2 // int fadingEdgeLength
        end local 1 // int childrenBottom
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Landroid/widget/GridView;
            0    4     1        childrenBottom  I
            0    4     2      fadingEdgeLength  I
            0    4     3            numColumns  I
            0    4     4              rowStart  I
            1    4     5  bottomSelectionPixel  I
    MethodParameters:
                  Name  Flags
      childrenBottom    
      fadingEdgeLength  
      numColumns        
      rowStart          

  private int getTopSelectionPixel(int, int, int);
    descriptor: (III)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int childrenTop
        start local 2 // int fadingEdgeLength
        start local 3 // int rowStart
         0: .line 788
            iload 1 /* childrenTop */
            istore 4 /* topSelectionPixel */
        start local 4 // int topSelectionPixel
         1: .line 789
            iload 3 /* rowStart */
            ifle 3
         2: .line 790
            iload 4 /* topSelectionPixel */
            iload 2 /* fadingEdgeLength */
            iadd
            istore 4 /* topSelectionPixel */
         3: .line 792
      StackMap locals: int
      StackMap stack:
            iload 4 /* topSelectionPixel */
            ireturn
        end local 4 // int topSelectionPixel
        end local 3 // int rowStart
        end local 2 // int fadingEdgeLength
        end local 1 // int childrenTop
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Landroid/widget/GridView;
            0    4     1        childrenTop  I
            0    4     2   fadingEdgeLength  I
            0    4     3           rowStart  I
            1    4     4  topSelectionPixel  I
    MethodParameters:
                  Name  Flags
      childrenTop       
      fadingEdgeLength  
      rowStart          

  private void adjustForBottomFadingEdge(android.view.View, int, int);
    descriptor: (Landroid/view/View;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // android.view.View childInSelectedRow
        start local 2 // int topSelectionPixel
        start local 3 // int bottomSelectionPixel
         0: .line 808
            aload 1 /* childInSelectedRow */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* bottomSelectionPixel */
            if_icmple 5
         1: .line 812
            aload 1 /* childInSelectedRow */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* topSelectionPixel */
            isub
            istore 4 /* spaceAbove */
        start local 4 // int spaceAbove
         2: .line 816
            aload 1 /* childInSelectedRow */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* bottomSelectionPixel */
            isub
            istore 5 /* spaceBelow */
        start local 5 // int spaceBelow
         3: .line 817
            iload 4 /* spaceAbove */
            iload 5 /* spaceBelow */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* offset */
        start local 6 // int offset
         4: .line 820
            aload 0 /* this */
            iload 6 /* offset */
            ineg
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        end local 6 // int offset
        end local 5 // int spaceBelow
        end local 4 // int spaceAbove
         5: .line 822
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int bottomSelectionPixel
        end local 2 // int topSelectionPixel
        end local 1 // android.view.View childInSelectedRow
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Landroid/widget/GridView;
            0    6     1    childInSelectedRow  Landroid/view/View;
            0    6     2     topSelectionPixel  I
            0    6     3  bottomSelectionPixel  I
            2    5     4            spaceAbove  I
            3    5     5            spaceBelow  I
            4    5     6                offset  I
    MethodParameters:
                      Name  Flags
      childInSelectedRow    
      topSelectionPixel     
      bottomSelectionPixel  

  private void adjustForTopFadingEdge(android.view.View, int, int);
    descriptor: (Landroid/view/View;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // android.view.View childInSelectedRow
        start local 2 // int topSelectionPixel
        start local 3 // int bottomSelectionPixel
         0: .line 836
            aload 1 /* childInSelectedRow */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* topSelectionPixel */
            if_icmpge 5
         1: .line 839
            iload 2 /* topSelectionPixel */
            aload 1 /* childInSelectedRow */
            invokevirtual android.view.View.getTop:()I
            isub
            istore 4 /* spaceAbove */
        start local 4 // int spaceAbove
         2: .line 843
            iload 3 /* bottomSelectionPixel */
            aload 1 /* childInSelectedRow */
            invokevirtual android.view.View.getBottom:()I
            isub
            istore 5 /* spaceBelow */
        start local 5 // int spaceBelow
         3: .line 844
            iload 4 /* spaceAbove */
            iload 5 /* spaceBelow */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* offset */
        start local 6 // int offset
         4: .line 847
            aload 0 /* this */
            iload 6 /* offset */
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        end local 6 // int offset
        end local 5 // int spaceBelow
        end local 4 // int spaceAbove
         5: .line 849
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int bottomSelectionPixel
        end local 2 // int topSelectionPixel
        end local 1 // android.view.View childInSelectedRow
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Landroid/widget/GridView;
            0    6     1    childInSelectedRow  Landroid/view/View;
            0    6     2     topSelectionPixel  I
            0    6     3  bottomSelectionPixel  I
            2    5     4            spaceAbove  I
            3    5     5            spaceBelow  I
            4    5     6                offset  I
    MethodParameters:
                      Name  Flags
      childInSelectedRow    
      topSelectionPixel     
      bottomSelectionPixel  

  public void smoothScrollToPosition(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int position
         0: .line 858
            aload 0 /* this */
            iload 1 /* position */
            invokespecial android.widget.AbsListView.smoothScrollToPosition:(I)V
         1: .line 859
            return
        end local 1 // int position
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/GridView;
            0    2     1  position  I
    RuntimeVisibleAnnotations: 
      android.view.RemotableViewMethod()
    MethodParameters:
          Name  Flags
      position  

  public void smoothScrollByOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int offset
         0: .line 868
            aload 0 /* this */
            iload 1 /* offset */
            invokespecial android.widget.AbsListView.smoothScrollByOffset:(I)V
         1: .line 869
            return
        end local 1 // int offset
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/GridView;
            0    2     1  offset  I
    RuntimeVisibleAnnotations: 
      android.view.RemotableViewMethod()
    MethodParameters:
        Name  Flags
      offset  

  private android.view.View moveSelection(int, int, int);
    descriptor: (III)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int delta
        start local 2 // int childrenTop
        start local 3 // int childrenBottom
         0: .line 885
            aload 0 /* this */
            invokevirtual android.widget.GridView.getVerticalFadingEdgeLength:()I
            istore 4 /* fadingEdgeLength */
        start local 4 // int fadingEdgeLength
         1: .line 886
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            istore 5 /* selectedPosition */
        start local 5 // int selectedPosition
         2: .line 887
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 6 /* numColumns */
        start local 6 // int numColumns
         3: .line 888
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            istore 7 /* verticalSpacing */
        start local 7 // int verticalSpacing
         4: .line 892
            iconst_m1
            istore 10 /* rowEnd */
        start local 10 // int rowEnd
         5: .line 894
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 9
         6: .line 895
            iload 5 /* selectedPosition */
            iload 1 /* delta */
            isub
            iload 5 /* selectedPosition */
            iload 1 /* delta */
            isub
            iload 6 /* numColumns */
            irem
            isub
            istore 8 /* oldRowStart */
        start local 8 // int oldRowStart
         7: .line 897
            iload 5 /* selectedPosition */
            iload 5 /* selectedPosition */
            iload 6 /* numColumns */
            irem
            isub
            istore 9 /* rowStart */
        start local 9 // int rowStart
         8: .line 898
            goto 15
        end local 9 // int rowStart
        end local 8 // int oldRowStart
         9: .line 899
      StackMap locals: android.widget.GridView int int int int int int int top top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 5 /* selectedPosition */
            isub
            istore 11 /* invertedSelection */
        start local 11 // int invertedSelection
        10: .line 901
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 11 /* invertedSelection */
            iload 11 /* invertedSelection */
            iload 6 /* numColumns */
            irem
            isub
            isub
            istore 10 /* rowEnd */
        11: .line 902
            iconst_0
            iload 10 /* rowEnd */
            iload 6 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 9 /* rowStart */
        start local 9 // int rowStart
        12: .line 904
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 5 /* selectedPosition */
            iload 1 /* delta */
            isub
            isub
            istore 11 /* invertedSelection */
        13: .line 905
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 11 /* invertedSelection */
            iload 11 /* invertedSelection */
            iload 6 /* numColumns */
            irem
            isub
            isub
            istore 8 /* oldRowStart */
        start local 8 // int oldRowStart
        14: .line 906
            iconst_0
            iload 8 /* oldRowStart */
            iload 6 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* oldRowStart */
        end local 11 // int invertedSelection
        15: .line 909
      StackMap locals: android.widget.GridView int int int int int int int int int int
      StackMap stack:
            iload 9 /* rowStart */
            iload 8 /* oldRowStart */
            isub
            istore 11 /* rowDelta */
        start local 11 // int rowDelta
        16: .line 911
            aload 0 /* this */
            iload 2 /* childrenTop */
            iload 4 /* fadingEdgeLength */
            iload 9 /* rowStart */
            invokevirtual android.widget.GridView.getTopSelectionPixel:(III)I
            istore 12 /* topSelectionPixel */
        start local 12 // int topSelectionPixel
        17: .line 912
            aload 0 /* this */
            iload 3 /* childrenBottom */
            iload 4 /* fadingEdgeLength */
        18: .line 913
            iload 6 /* numColumns */
            iload 9 /* rowStart */
        19: .line 912
            invokevirtual android.widget.GridView.getBottomSelectionPixel:(IIII)I
            istore 13 /* bottomSelectionPixel */
        start local 13 // int bottomSelectionPixel
        20: .line 916
            aload 0 /* this */
            iload 9 /* rowStart */
            putfield android.widget.GridView.mFirstPosition:I
        21: .line 921
            iload 11 /* rowDelta */
            ifle 31
        22: .line 926
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
            ifnonnull 23
            iconst_0
            goto 24
        23: .line 927
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
        24: .line 926
      StackMap locals:
      StackMap stack: int
            istore 16 /* oldBottom */
        start local 16 // int oldBottom
        25: .line 929
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 26
            iload 10 /* rowEnd */
            goto 27
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int top top int
      StackMap stack: android.widget.GridView
        26: iload 9 /* rowStart */
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int top top int
      StackMap stack: android.widget.GridView int
        27: iload 16 /* oldBottom */
            iload 7 /* verticalSpacing */
            iadd
            iconst_1
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 14 /* sel */
        start local 14 // android.view.View sel
        28: .line 930
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            astore 15 /* referenceView */
        start local 15 // android.view.View referenceView
        29: .line 932
            aload 0 /* this */
            aload 15 /* referenceView */
            iload 12 /* topSelectionPixel */
            iload 13 /* bottomSelectionPixel */
            invokevirtual android.widget.GridView.adjustForBottomFadingEdge:(Landroid/view/View;II)V
        end local 16 // int oldBottom
        30: .line 933
            goto 50
        end local 15 // android.view.View referenceView
        end local 14 // android.view.View sel
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int
      StackMap stack:
        31: iload 11 /* rowDelta */
            ifge 42
        32: .line 937
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
            ifnonnull 34
        33: .line 938
            iconst_0
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 0 /* this */
            getfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
        35: .line 937
      StackMap locals:
      StackMap stack: int
            istore 16 /* oldTop */
        start local 16 // int oldTop
        36: .line 940
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 37
            iload 10 /* rowEnd */
            goto 38
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int top top int
      StackMap stack: android.widget.GridView
        37: iload 9 /* rowStart */
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int top top int
      StackMap stack: android.widget.GridView int
        38: iload 16 /* oldTop */
            iload 7 /* verticalSpacing */
            isub
            iconst_0
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 14 /* sel */
        start local 14 // android.view.View sel
        39: .line 941
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            astore 15 /* referenceView */
        start local 15 // android.view.View referenceView
        40: .line 943
            aload 0 /* this */
            aload 15 /* referenceView */
            iload 12 /* topSelectionPixel */
            iload 13 /* bottomSelectionPixel */
            invokevirtual android.widget.GridView.adjustForTopFadingEdge:(Landroid/view/View;II)V
        end local 16 // int oldTop
        41: .line 944
            goto 50
        end local 15 // android.view.View referenceView
        end local 14 // android.view.View sel
        42: .line 948
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
            ifnonnull 44
        43: .line 949
            iconst_0
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 0 /* this */
            getfield android.widget.GridView.mReferenceViewInSelectedRow:Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
        45: .line 948
      StackMap locals:
      StackMap stack: int
            istore 16 /* oldTop */
        start local 16 // int oldTop
        46: .line 951
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 47
            iload 10 /* rowEnd */
            goto 48
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int top top int
      StackMap stack: android.widget.GridView
        47: iload 9 /* rowStart */
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int top top int
      StackMap stack: android.widget.GridView int
        48: iload 16 /* oldTop */
            iconst_1
            invokevirtual android.widget.GridView.makeRow:(IIZ)Landroid/view/View;
            astore 14 /* sel */
        start local 14 // android.view.View sel
        49: .line 952
            aload 0 /* this */
            getfield android.widget.GridView.mReferenceView:Landroid/view/View;
            astore 15 /* referenceView */
        end local 16 // int oldTop
        start local 15 // android.view.View referenceView
        50: .line 955
      StackMap locals: android.widget.GridView int int int int int int int int int int int int int android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 55
        51: .line 956
            aload 0 /* this */
            iload 9 /* rowStart */
            iload 6 /* numColumns */
            isub
            aload 15 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        52: .line 957
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        53: .line 958
            aload 0 /* this */
            iload 9 /* rowStart */
            iload 6 /* numColumns */
            iadd
            aload 15 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 7 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        54: .line 959
            goto 58
        55: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 10 /* rowEnd */
            iload 6 /* numColumns */
            iadd
            aload 15 /* referenceView */
            invokevirtual android.view.View.getBottom:()I
            iload 7 /* verticalSpacing */
            iadd
            invokevirtual android.widget.GridView.fillDown:(II)Landroid/view/View;
            pop
        56: .line 961
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        57: .line 962
            aload 0 /* this */
            iload 9 /* rowStart */
            iconst_1
            isub
            aload 15 /* referenceView */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* verticalSpacing */
            isub
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            pop
        58: .line 965
      StackMap locals:
      StackMap stack:
            aload 14 /* sel */
            areturn
        end local 15 // android.view.View referenceView
        end local 14 // android.view.View sel
        end local 13 // int bottomSelectionPixel
        end local 12 // int topSelectionPixel
        end local 11 // int rowDelta
        end local 10 // int rowEnd
        end local 9 // int rowStart
        end local 8 // int oldRowStart
        end local 7 // int verticalSpacing
        end local 6 // int numColumns
        end local 5 // int selectedPosition
        end local 4 // int fadingEdgeLength
        end local 3 // int childrenBottom
        end local 2 // int childrenTop
        end local 1 // int delta
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   59     0                  this  Landroid/widget/GridView;
            0   59     1                 delta  I
            0   59     2           childrenTop  I
            0   59     3        childrenBottom  I
            1   59     4      fadingEdgeLength  I
            2   59     5      selectedPosition  I
            3   59     6            numColumns  I
            4   59     7       verticalSpacing  I
            7    9     8           oldRowStart  I
           14   59     8           oldRowStart  I
            8    9     9              rowStart  I
           12   59     9              rowStart  I
            5   59    10                rowEnd  I
           10   15    11     invertedSelection  I
           16   59    11              rowDelta  I
           17   59    12     topSelectionPixel  I
           20   59    13  bottomSelectionPixel  I
           28   31    14                   sel  Landroid/view/View;
           39   42    14                   sel  Landroid/view/View;
           49   59    14                   sel  Landroid/view/View;
           29   31    15         referenceView  Landroid/view/View;
           40   42    15         referenceView  Landroid/view/View;
           50   59    15         referenceView  Landroid/view/View;
           25   30    16             oldBottom  I
           36   41    16                oldTop  I
           46   50    16                oldTop  I
    MethodParameters:
                Name  Flags
      delta           
      childrenTop     
      childrenBottom  

  private boolean determineColumns(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int availableSpace
         0: .line 969
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedHorizontalSpacing:I
            istore 2 /* requestedHorizontalSpacing */
        start local 2 // int requestedHorizontalSpacing
         1: .line 970
            aload 0 /* this */
            getfield android.widget.GridView.mStretchMode:I
            istore 3 /* stretchMode */
        start local 3 // int stretchMode
         2: .line 971
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedColumnWidth:I
            istore 4 /* requestedColumnWidth */
        start local 4 // int requestedColumnWidth
         3: .line 972
            iconst_0
            istore 5 /* didNotInitiallyFit */
        start local 5 // boolean didNotInitiallyFit
         4: .line 974
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedNumColumns:I
            iconst_m1
            if_icmpne 12
         5: .line 975
            iload 4 /* requestedColumnWidth */
            ifle 10
         6: .line 977
            aload 0 /* this */
            iload 1 /* availableSpace */
            iload 2 /* requestedHorizontalSpacing */
            iadd
         7: .line 978
            iload 4 /* requestedColumnWidth */
            iload 2 /* requestedHorizontalSpacing */
            iadd
            idiv
         8: .line 977
            putfield android.widget.GridView.mNumColumns:I
         9: .line 979
            goto 13
        10: .line 981
      StackMap locals: android.widget.GridView int int int int int
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield android.widget.GridView.mNumColumns:I
        11: .line 983
            goto 13
        12: .line 985
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedNumColumns:I
            putfield android.widget.GridView.mNumColumns:I
        13: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            ifgt 15
        14: .line 989
            aload 0 /* this */
            iconst_1
            putfield android.widget.GridView.mNumColumns:I
        15: .line 992
      StackMap locals:
      StackMap stack:
            iload 3 /* stretchMode */
            tableswitch { // 0 - 0
                    0: 16
              default: 19
          }
        16: .line 995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* requestedColumnWidth */
            putfield android.widget.GridView.mColumnWidth:I
        17: .line 996
            aload 0 /* this */
            iload 2 /* requestedHorizontalSpacing */
            putfield android.widget.GridView.mHorizontalSpacing:I
        18: .line 997
            goto 43
        19: .line 1000
      StackMap locals:
      StackMap stack:
            iload 1 /* availableSpace */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iload 4 /* requestedColumnWidth */
            imul
            isub
        20: .line 1001
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iconst_1
            isub
            iload 2 /* requestedHorizontalSpacing */
            imul
        21: .line 1000
            isub
            istore 6 /* spaceLeftOver */
        start local 6 // int spaceLeftOver
        22: .line 1003
            iload 6 /* spaceLeftOver */
            ifge 24
        23: .line 1004
            iconst_1
            istore 5 /* didNotInitiallyFit */
        24: .line 1007
      StackMap locals: int
      StackMap stack:
            iload 3 /* stretchMode */
            tableswitch { // 1 - 3
                    1: 28
                    2: 25
                    3: 36
              default: 43
          }
        25: .line 1010
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* requestedColumnWidth */
            iload 6 /* spaceLeftOver */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            idiv
            iadd
            putfield android.widget.GridView.mColumnWidth:I
        26: .line 1011
            aload 0 /* this */
            iload 2 /* requestedHorizontalSpacing */
            putfield android.widget.GridView.mHorizontalSpacing:I
        27: .line 1012
            goto 43
        28: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* requestedColumnWidth */
            putfield android.widget.GridView.mColumnWidth:I
        29: .line 1017
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iconst_1
            if_icmple 34
        30: .line 1018
            aload 0 /* this */
            iload 2 /* requestedHorizontalSpacing */
        31: .line 1019
            iload 6 /* spaceLeftOver */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iconst_1
            isub
            idiv
            iadd
        32: .line 1018
            putfield android.widget.GridView.mHorizontalSpacing:I
        33: .line 1020
            goto 43
        34: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* requestedHorizontalSpacing */
            iload 6 /* spaceLeftOver */
            iadd
            putfield android.widget.GridView.mHorizontalSpacing:I
        35: .line 1023
            goto 43
        36: .line 1027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* requestedColumnWidth */
            putfield android.widget.GridView.mColumnWidth:I
        37: .line 1028
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iconst_1
            if_icmple 42
        38: .line 1029
            aload 0 /* this */
            iload 2 /* requestedHorizontalSpacing */
        39: .line 1030
            iload 6 /* spaceLeftOver */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iconst_1
            iadd
            idiv
            iadd
        40: .line 1029
            putfield android.widget.GridView.mHorizontalSpacing:I
        41: .line 1031
            goto 43
        42: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* requestedHorizontalSpacing */
            iload 6 /* spaceLeftOver */
            iadd
            putfield android.widget.GridView.mHorizontalSpacing:I
        end local 6 // int spaceLeftOver
        43: .line 1039
      StackMap locals:
      StackMap stack:
            iload 5 /* didNotInitiallyFit */
            ireturn
        end local 5 // boolean didNotInitiallyFit
        end local 4 // int requestedColumnWidth
        end local 3 // int stretchMode
        end local 2 // int requestedHorizontalSpacing
        end local 1 // int availableSpace
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   44     0                        this  Landroid/widget/GridView;
            0   44     1              availableSpace  I
            1   44     2  requestedHorizontalSpacing  I
            2   44     3                 stretchMode  I
            3   44     4        requestedColumnWidth  I
            4   44     5          didNotInitiallyFit  Z
           22   43     6               spaceLeftOver  I
    MethodParameters:
                Name  Flags
      availableSpace  

  protected void onMeasure(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=16, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 1045
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokespecial android.widget.AbsListView.onMeasure:(II)V
         1: .line 1047
            iload 1 /* widthMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getMode:(I)I
            istore 3 /* widthMode */
        start local 3 // int widthMode
         2: .line 1048
            iload 2 /* heightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getMode:(I)I
            istore 4 /* heightMode */
        start local 4 // int heightMode
         3: .line 1049
            iload 1 /* widthMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            istore 5 /* widthSize */
        start local 5 // int widthSize
         4: .line 1050
            iload 2 /* heightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            istore 6 /* heightSize */
        start local 6 // int heightSize
         5: .line 1052
            iload 3 /* widthMode */
            ifne 11
         6: .line 1053
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            ifle 9
         7: .line 1054
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iadd
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iadd
            istore 5 /* widthSize */
         8: .line 1055
            goto 10
         9: .line 1056
      StackMap locals: android.widget.GridView int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iadd
            istore 5 /* widthSize */
        10: .line 1058
      StackMap locals:
      StackMap stack:
            iload 5 /* widthSize */
            aload 0 /* this */
            invokevirtual android.widget.GridView.getVerticalScrollbarWidth:()I
            iadd
            istore 5 /* widthSize */
        11: .line 1061
      StackMap locals:
      StackMap stack:
            iload 5 /* widthSize */
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            isub
            istore 7 /* childWidth */
        start local 7 // int childWidth
        12: .line 1062
            aload 0 /* this */
            iload 7 /* childWidth */
            invokevirtual android.widget.GridView.determineColumns:(I)Z
            istore 8 /* didNotInitiallyFit */
        start local 8 // boolean didNotInitiallyFit
        13: .line 1064
            iconst_0
            istore 9 /* childHeight */
        start local 9 // int childHeight
        14: .line 1065
            iconst_0
            istore 10 /* childState */
        start local 10 // int childState
        15: .line 1067
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnonnull 16
            iconst_0
            goto 17
      StackMap locals: android.widget.GridView int int int int int int int int int int
      StackMap stack: android.widget.GridView
        16: aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
      StackMap locals: android.widget.GridView int int int int int int int int int int
      StackMap stack: android.widget.GridView int
        17: putfield android.widget.GridView.mItemCount:I
        18: .line 1068
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            istore 11 /* count */
        start local 11 // int count
        19: .line 1069
            iload 11 /* count */
            ifle 40
        20: .line 1070
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield android.widget.GridView.mIsScrap:[Z
            invokevirtual android.widget.GridView.obtainView:(I[Z)Landroid/view/View;
            astore 12 /* child */
        start local 12 // android.view.View child
        21: .line 1072
            aload 12 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 13 /* p */
        start local 13 // android.widget.AbsListView$LayoutParams p
        22: .line 1073
            aload 13 /* p */
            ifnonnull 25
        23: .line 1074
            aload 0 /* this */
            invokevirtual android.widget.GridView.generateDefaultLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 13 /* p */
        24: .line 1075
            aload 12 /* child */
            aload 13 /* p */
            invokevirtual android.view.View.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V
        25: .line 1077
      StackMap locals: int android.view.View android.widget.AbsListView$LayoutParams
      StackMap stack:
            aload 13 /* p */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            iconst_0
            invokeinterface android.widget.ListAdapter.getItemViewType:(I)I
            putfield android.widget.AbsListView$LayoutParams.viewType:I
        26: .line 1078
            aload 13 /* p */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            iconst_0
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            putfield android.widget.AbsListView$LayoutParams.isEnabled:Z
        27: .line 1079
            aload 13 /* p */
            iconst_1
            putfield android.widget.AbsListView$LayoutParams.forceAdd:Z
        28: .line 1082
            iload 2 /* heightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
        29: .line 1083
            iconst_0
        30: .line 1082
            invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
        31: .line 1083
            iconst_0
            aload 13 /* p */
            getfield android.widget.AbsListView$LayoutParams.height:I
        32: .line 1081
            invokestatic android.widget.GridView.getChildMeasureSpec:(III)I
            istore 14 /* childHeightSpec */
        start local 14 // int childHeightSpec
        33: .line 1085
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            iconst_0
            aload 13 /* p */
            getfield android.widget.AbsListView$LayoutParams.width:I
        34: .line 1084
            invokestatic android.widget.GridView.getChildMeasureSpec:(III)I
            istore 15 /* childWidthSpec */
        start local 15 // int childWidthSpec
        35: .line 1086
            aload 12 /* child */
            iload 15 /* childWidthSpec */
            iload 14 /* childHeightSpec */
            invokevirtual android.view.View.measure:(II)V
        36: .line 1088
            aload 12 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 9 /* childHeight */
        37: .line 1089
            iload 10 /* childState */
            aload 12 /* child */
            invokevirtual android.view.View.getMeasuredState:()I
            invokestatic android.widget.GridView.combineMeasuredStates:(II)I
            istore 10 /* childState */
        38: .line 1091
            aload 0 /* this */
            getfield android.widget.GridView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            aload 13 /* p */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
            ifeq 40
        39: .line 1092
            aload 0 /* this */
            getfield android.widget.GridView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            aload 12 /* child */
            iconst_m1
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        end local 15 // int childWidthSpec
        end local 14 // int childHeightSpec
        end local 13 // android.widget.AbsListView$LayoutParams p
        end local 12 // android.view.View child
        40: .line 1096
      StackMap locals:
      StackMap stack:
            iload 4 /* heightMode */
            ifne 44
        41: .line 1097
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iadd
            iload 9 /* childHeight */
            iadd
        42: .line 1098
            aload 0 /* this */
            invokevirtual android.widget.GridView.getVerticalFadingEdgeLength:()I
            iconst_2
            imul
        43: .line 1097
            iadd
            istore 6 /* heightSize */
        44: .line 1101
      StackMap locals:
      StackMap stack:
            iload 4 /* heightMode */
            ldc -2147483648
            if_icmpne 58
        45: .line 1102
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iadd
            istore 12 /* ourSize */
        start local 12 // int ourSize
        46: .line 1104
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 13 /* numColumns */
        start local 13 // int numColumns
        47: .line 1105
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        48: goto 56
        49: .line 1106
      StackMap locals: int int int
      StackMap stack:
            iload 12 /* ourSize */
            iload 9 /* childHeight */
            iadd
            istore 12 /* ourSize */
        50: .line 1107
            iload 14 /* i */
            iload 13 /* numColumns */
            iadd
            iload 11 /* count */
            if_icmpge 52
        51: .line 1108
            iload 12 /* ourSize */
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            iadd
            istore 12 /* ourSize */
        52: .line 1110
      StackMap locals:
      StackMap stack:
            iload 12 /* ourSize */
            iload 6 /* heightSize */
            if_icmplt 55
        53: .line 1111
            iload 6 /* heightSize */
            istore 12 /* ourSize */
        54: .line 1112
            goto 57
        55: .line 1105
      StackMap locals:
      StackMap stack:
            iload 14 /* i */
            iload 13 /* numColumns */
            iadd
            istore 14 /* i */
      StackMap locals:
      StackMap stack:
        56: iload 14 /* i */
            iload 11 /* count */
            if_icmplt 49
        end local 14 // int i
        57: .line 1115
      StackMap locals:
      StackMap stack:
            iload 12 /* ourSize */
            istore 6 /* heightSize */
        end local 13 // int numColumns
        end local 12 // int ourSize
        58: .line 1118
      StackMap locals:
      StackMap stack:
            iload 3 /* widthMode */
            ldc -2147483648
            if_icmpne 68
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedNumColumns:I
            iconst_m1
            if_icmpeq 68
        59: .line 1119
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedNumColumns:I
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            imul
        60: .line 1120
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedNumColumns:I
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mHorizontalSpacing:I
            imul
        61: .line 1119
            iadd
        62: .line 1121
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
        63: .line 1119
            iadd
        64: .line 1121
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
        65: .line 1119
            iadd
            istore 12 /* ourSize */
        start local 12 // int ourSize
        66: .line 1122
            iload 12 /* ourSize */
            iload 5 /* widthSize */
            if_icmpgt 67
            iload 8 /* didNotInitiallyFit */
            ifeq 68
        67: .line 1123
      StackMap locals: int
      StackMap stack:
            iload 5 /* widthSize */
            ldc 16777216
            ior
            istore 5 /* widthSize */
        end local 12 // int ourSize
        68: .line 1127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* widthSize */
            iload 6 /* heightSize */
            invokevirtual android.widget.GridView.setMeasuredDimension:(II)V
        69: .line 1128
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            putfield android.widget.GridView.mWidthMeasureSpec:I
        70: .line 1129
            return
        end local 11 // int count
        end local 10 // int childState
        end local 9 // int childHeight
        end local 8 // boolean didNotInitiallyFit
        end local 7 // int childWidth
        end local 6 // int heightSize
        end local 5 // int widthSize
        end local 4 // int heightMode
        end local 3 // int widthMode
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   71     0                this  Landroid/widget/GridView;
            0   71     1    widthMeasureSpec  I
            0   71     2   heightMeasureSpec  I
            2   71     3           widthMode  I
            3   71     4          heightMode  I
            4   71     5           widthSize  I
            5   71     6          heightSize  I
           12   71     7          childWidth  I
           13   71     8  didNotInitiallyFit  Z
           14   71     9         childHeight  I
           15   71    10          childState  I
           19   71    11               count  I
           21   40    12               child  Landroid/view/View;
           22   40    13                   p  Landroid/widget/AbsListView$LayoutParams;
           33   40    14     childHeightSpec  I
           35   40    15      childWidthSpec  I
           46   58    12             ourSize  I
           47   58    13          numColumns  I
           48   57    14                   i  I
           66   68    12             ourSize  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  protected void attachLayoutAnimationParameters(android.view.View, android.view.ViewGroup$LayoutParams, int, int);
    descriptor: (Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // android.widget.GridView this
        start local 1 // android.view.View child
        start local 2 // android.view.ViewGroup$LayoutParams params
        start local 3 // int index
        start local 4 // int count
         0: .line 1136
            aload 2 /* params */
            getfield android.view.ViewGroup$LayoutParams.layoutAnimationParameters:Landroid/view/animation/LayoutAnimationController$AnimationParameters;
            checkcast android.view.animation.GridLayoutAnimationController$AnimationParameters
         1: .line 1135
            astore 5 /* animationParams */
        start local 5 // android.view.animation.GridLayoutAnimationController$AnimationParameters animationParams
         2: .line 1138
            aload 5 /* animationParams */
            ifnonnull 5
         3: .line 1139
            new android.view.animation.GridLayoutAnimationController$AnimationParameters
            dup
            invokespecial android.view.animation.GridLayoutAnimationController$AnimationParameters.<init>:()V
            astore 5 /* animationParams */
         4: .line 1140
            aload 2 /* params */
            aload 5 /* animationParams */
            putfield android.view.ViewGroup$LayoutParams.layoutAnimationParameters:Landroid/view/animation/LayoutAnimationController$AnimationParameters;
         5: .line 1143
      StackMap locals: android.view.animation.GridLayoutAnimationController$AnimationParameters
      StackMap stack:
            aload 5 /* animationParams */
            iload 4 /* count */
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.count:I
         6: .line 1144
            aload 5 /* animationParams */
            iload 3 /* index */
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.index:I
         7: .line 1145
            aload 5 /* animationParams */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.columnsCount:I
         8: .line 1146
            aload 5 /* animationParams */
            iload 4 /* count */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            idiv
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.rowsCount:I
         9: .line 1148
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 13
        10: .line 1149
            aload 5 /* animationParams */
            iload 3 /* index */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            irem
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.column:I
        11: .line 1150
            aload 5 /* animationParams */
            iload 3 /* index */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            idiv
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.row:I
        12: .line 1151
            goto 16
        13: .line 1152
      StackMap locals:
      StackMap stack:
            iload 4 /* count */
            iconst_1
            isub
            iload 3 /* index */
            isub
            istore 6 /* invertedIndex */
        start local 6 // int invertedIndex
        14: .line 1154
            aload 5 /* animationParams */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iconst_1
            isub
            iload 6 /* invertedIndex */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            irem
            isub
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.column:I
        15: .line 1155
            aload 5 /* animationParams */
            aload 5 /* animationParams */
            getfield android.view.animation.GridLayoutAnimationController$AnimationParameters.rowsCount:I
            iconst_1
            isub
            iload 6 /* invertedIndex */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            idiv
            isub
            putfield android.view.animation.GridLayoutAnimationController$AnimationParameters.row:I
        end local 6 // int invertedIndex
        16: .line 1157
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.view.animation.GridLayoutAnimationController$AnimationParameters animationParams
        end local 4 // int count
        end local 3 // int index
        end local 2 // android.view.ViewGroup$LayoutParams params
        end local 1 // android.view.View child
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Landroid/widget/GridView;
            0   17     1            child  Landroid/view/View;
            0   17     2           params  Landroid/view/ViewGroup$LayoutParams;
            0   17     3            index  I
            0   17     4            count  I
            2   17     5  animationParams  Landroid/view/animation/GridLayoutAnimationController$AnimationParameters;
           14   16     6    invertedIndex  I
    MethodParameters:
        Name  Flags
      child   
      params  
      index   
      count   

  protected void layoutChildren();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=22, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 1161
            aload 0 /* this */
            getfield android.widget.GridView.mBlockLayoutRequests:Z
            istore 1 /* blockLayoutRequests */
        start local 1 // boolean blockLayoutRequests
         1: .line 1162
            iload 1 /* blockLayoutRequests */
            ifne 3
         2: .line 1163
            aload 0 /* this */
            iconst_1
            putfield android.widget.GridView.mBlockLayoutRequests:Z
         3: .line 1167
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokespecial android.widget.AbsListView.layoutChildren:()V
         4: .line 1169
            aload 0 /* this */
            invokevirtual android.widget.GridView.invalidate:()V
         5: .line 1171
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnonnull 11
         6: .line 1172
            aload 0 /* this */
            invokevirtual android.widget.GridView.resetList:()V
         7: .line 1173
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
         8: .line 1407
            iload 1 /* blockLayoutRequests */
            ifne 10
         9: .line 1408
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mBlockLayoutRequests:Z
        10: .line 1174
      StackMap locals:
      StackMap stack:
            return
        11: .line 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 2 /* childrenTop */
        start local 2 // int childrenTop
        12: .line 1178
            aload 0 /* this */
            getfield android.widget.GridView.mBottom:I
            aload 0 /* this */
            getfield android.widget.GridView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 3 /* childrenBottom */
        start local 3 // int childrenBottom
        13: .line 1180
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 4 /* childCount */
        start local 4 // int childCount
        14: .line 1182
            iconst_0
            istore 6 /* delta */
        start local 6 // int delta
        15: .line 1185
            aconst_null
            astore 8 /* oldSel */
        start local 8 // android.view.View oldSel
        16: .line 1186
            aconst_null
            astore 9 /* oldFirst */
        start local 9 // android.view.View oldFirst
        17: .line 1187
            aconst_null
            astore 10 /* newSel */
        start local 10 // android.view.View newSel
        18: .line 1190
            aload 0 /* this */
            getfield android.widget.GridView.mLayoutMode:I
            tableswitch { // 1 - 6
                    1: 23
                    2: 19
                    3: 23
                    4: 23
                    5: 23
                    6: 24
              default: 27
          }
        19: .line 1192
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            isub
            istore 5 /* index */
        start local 5 // int index
        20: .line 1193
            iload 5 /* index */
            iflt 31
            iload 5 /* index */
            iload 4 /* childCount */
            if_icmpge 31
        21: .line 1194
            aload 0 /* this */
            iload 5 /* index */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 10 /* newSel */
        22: .line 1196
            goto 31
        end local 5 // int index
        23: .line 1201
      StackMap locals:
      StackMap stack:
            goto 31
        24: .line 1203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
            iflt 31
        25: .line 1204
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            isub
            istore 6 /* delta */
        26: .line 1206
            goto 31
        27: .line 1209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            isub
            istore 5 /* index */
        start local 5 // int index
        28: .line 1210
            iload 5 /* index */
            iflt 30
            iload 5 /* index */
            iload 4 /* childCount */
            if_icmpge 30
        29: .line 1211
            aload 0 /* this */
            iload 5 /* index */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 8 /* oldSel */
        30: .line 1215
      StackMap locals: android.widget.GridView int int int int int int top android.view.View android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 9 /* oldFirst */
        end local 5 // int index
        31: .line 1218
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mDataChanged:Z
            istore 11 /* dataChanged */
        start local 11 // boolean dataChanged
        32: .line 1219
            iload 11 /* dataChanged */
            ifeq 34
        33: .line 1220
            aload 0 /* this */
            invokevirtual android.widget.GridView.handleDataChanged:()V
        34: .line 1225
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            ifne 40
        35: .line 1226
            aload 0 /* this */
            invokevirtual android.widget.GridView.resetList:()V
        36: .line 1227
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
        37: .line 1407
            iload 1 /* blockLayoutRequests */
            ifne 39
        38: .line 1408
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mBlockLayoutRequests:Z
        39: .line 1228
      StackMap locals:
      StackMap stack:
            return
        40: .line 1231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
            invokevirtual android.widget.GridView.setSelectedPositionInt:(I)V
        41: .line 1233
            aconst_null
            astore 12 /* accessibilityFocusLayoutRestoreNode */
        start local 12 // android.view.accessibility.AccessibilityNodeInfo accessibilityFocusLayoutRestoreNode
        42: .line 1234
            aconst_null
            astore 13 /* accessibilityFocusLayoutRestoreView */
        start local 13 // android.view.View accessibilityFocusLayoutRestoreView
        43: .line 1235
            iconst_m1
            istore 14 /* accessibilityFocusPosition */
        start local 14 // int accessibilityFocusPosition
        44: .line 1240
            aload 0 /* this */
            invokevirtual android.widget.GridView.getViewRootImpl:()Landroid/view/ViewRootImpl;
            astore 15 /* viewRootImpl */
        start local 15 // android.view.ViewRootImpl viewRootImpl
        45: .line 1241
            aload 15 /* viewRootImpl */
            ifnull 57
        46: .line 1242
            aload 15 /* viewRootImpl */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedHost:()Landroid/view/View;
            astore 16 /* focusHost */
        start local 16 // android.view.View focusHost
        47: .line 1243
            aload 16 /* focusHost */
            ifnull 57
        48: .line 1244
            aload 0 /* this */
            aload 16 /* focusHost */
            invokevirtual android.widget.GridView.getAccessibilityFocusedChild:(Landroid/view/View;)Landroid/view/View;
            astore 17 /* focusChild */
        start local 17 // android.view.View focusChild
        49: .line 1245
            aload 17 /* focusChild */
            ifnull 57
        50: .line 1246
            iload 11 /* dataChanged */
            ifeq 52
            aload 17 /* focusChild */
            invokevirtual android.view.View.hasTransientState:()Z
            ifne 52
        51: .line 1247
            aload 0 /* this */
            getfield android.widget.GridView.mAdapterHasStableIds:Z
            ifeq 56
        52: .line 1250
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl android.view.View android.view.View
      StackMap stack:
            aload 16 /* focusHost */
            astore 13 /* accessibilityFocusLayoutRestoreView */
        53: .line 1251
            aload 15 /* viewRootImpl */
        54: .line 1252
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedVirtualView:()Landroid/view/accessibility/AccessibilityNodeInfo;
        55: .line 1251
            astore 12 /* accessibilityFocusLayoutRestoreNode */
        56: .line 1256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 17 /* focusChild */
            invokevirtual android.widget.GridView.getPositionForView:(Landroid/view/View;)I
            istore 14 /* accessibilityFocusPosition */
        end local 17 // android.view.View focusChild
        end local 16 // android.view.View focusHost
        57: .line 1263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            istore 16 /* firstPosition */
        start local 16 // int firstPosition
        58: .line 1264
            aload 0 /* this */
            getfield android.widget.GridView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            astore 17 /* recycleBin */
        start local 17 // android.widget.AbsListView$RecycleBin recycleBin
        59: .line 1266
            iload 11 /* dataChanged */
            ifeq 66
        60: .line 1267
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        61: goto 64
        62: .line 1268
      StackMap locals: int android.widget.AbsListView$RecycleBin int
      StackMap stack:
            aload 17 /* recycleBin */
            aload 0 /* this */
            iload 18 /* i */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            iload 16 /* firstPosition */
            iload 18 /* i */
            iadd
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        63: .line 1267
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 18 /* i */
            iload 4 /* childCount */
            if_icmplt 62
        end local 18 // int i
        65: .line 1270
            goto 67
        66: .line 1271
      StackMap locals:
      StackMap stack:
            aload 17 /* recycleBin */
            iload 4 /* childCount */
            iload 16 /* firstPosition */
            invokevirtual android.widget.AbsListView$RecycleBin.fillActiveViews:(II)V
        67: .line 1275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.detachAllViewsFromParent:()V
        68: .line 1276
            aload 17 /* recycleBin */
            invokevirtual android.widget.AbsListView$RecycleBin.removeSkippedScrap:()V
        69: .line 1278
            aload 0 /* this */
            getfield android.widget.GridView.mLayoutMode:I
            tableswitch { // 1 - 6
                    1: 75
                    2: 70
                    3: 79
                    4: 82
                    5: 84
                    6: 86
              default: 88
          }
        70: .line 1280
      StackMap locals:
      StackMap stack:
            aload 10 /* newSel */
            ifnull 73
        71: .line 1281
            aload 0 /* this */
            aload 10 /* newSel */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* childrenTop */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.GridView.fillFromSelection:(III)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        72: .line 1282
            goto 116
        end local 7 // android.view.View sel
        73: .line 1283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* childrenTop */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.GridView.fillSelection:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        74: .line 1285
            goto 116
        end local 7 // android.view.View sel
        75: .line 1287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mFirstPosition:I
        76: .line 1288
            aload 0 /* this */
            iload 2 /* childrenTop */
            invokevirtual android.widget.GridView.fillFromTop:(I)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        77: .line 1289
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        78: .line 1290
            goto 116
        end local 7 // android.view.View sel
        79: .line 1292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 3 /* childrenBottom */
            invokevirtual android.widget.GridView.fillUp:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        80: .line 1293
            aload 0 /* this */
            invokevirtual android.widget.GridView.adjustViewsUpOrDown:()V
        81: .line 1294
            goto 116
        end local 7 // android.view.View sel
        82: .line 1296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mSpecificTop:I
            invokevirtual android.widget.GridView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        83: .line 1297
            goto 116
        end local 7 // android.view.View sel
        84: .line 1299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mSyncPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mSpecificTop:I
            invokevirtual android.widget.GridView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        85: .line 1300
            goto 116
        end local 7 // android.view.View sel
        86: .line 1303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* delta */
            iload 2 /* childrenTop */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.GridView.moveSelection:(III)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        87: .line 1304
            goto 116
        end local 7 // android.view.View sel
        88: .line 1306
      StackMap locals:
      StackMap stack:
            iload 4 /* childCount */
            ifne 103
        89: .line 1307
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 96
        90: .line 1308
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 91
            aload 0 /* this */
            invokevirtual android.widget.GridView.isInTouchMode:()Z
            ifeq 92
        91: .line 1309
      StackMap locals:
      StackMap stack: android.widget.GridView
            iconst_m1
            goto 93
      StackMap locals:
      StackMap stack: android.widget.GridView
        92: iconst_0
        93: .line 1308
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.GridView int
            invokevirtual android.widget.GridView.setSelectedPositionInt:(I)V
        94: .line 1310
            aload 0 /* this */
            iload 2 /* childrenTop */
            invokevirtual android.widget.GridView.fillFromTop:(I)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        95: .line 1311
            goto 116
        end local 7 // android.view.View sel
        96: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            istore 18 /* last */
        start local 18 // int last
        97: .line 1313
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 98
            aload 0 /* this */
            invokevirtual android.widget.GridView.isInTouchMode:()Z
            ifeq 99
        98: .line 1314
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin int
      StackMap stack: android.widget.GridView
            iconst_m1
            goto 100
      StackMap locals:
      StackMap stack: android.widget.GridView
        99: iload 18 /* last */
       100: .line 1313
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin int
      StackMap stack: android.widget.GridView int
            invokevirtual android.widget.GridView.setSelectedPositionInt:(I)V
       101: .line 1315
            aload 0 /* this */
            iload 18 /* last */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.GridView.fillFromBottom:(II)Landroid/view/View;
            astore 7 /* sel */
        end local 18 // int last
        start local 7 // android.view.View sel
       102: .line 1317
            goto 116
        end local 7 // android.view.View sel
       103: .line 1318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            iflt 109
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            if_icmpge 109
       104: .line 1319
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            aload 8 /* oldSel */
            ifnonnull 106
       105: .line 1320
            iload 2 /* childrenTop */
            goto 107
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.GridView int
       106: aload 8 /* oldSel */
            invokevirtual android.view.View.getTop:()I
       107: .line 1319
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.GridView int int
            invokevirtual android.widget.GridView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       108: .line 1321
            goto 116
        end local 7 // android.view.View sel
      StackMap locals:
      StackMap stack:
       109: aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            if_icmpge 115
       110: .line 1322
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            aload 9 /* oldFirst */
            ifnonnull 112
       111: .line 1323
            iload 2 /* childrenTop */
            goto 113
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.GridView int
       112: aload 9 /* oldFirst */
            invokevirtual android.view.View.getTop:()I
       113: .line 1322
      StackMap locals: android.widget.GridView int int int int top int top android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.GridView int int
            invokevirtual android.widget.GridView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       114: .line 1324
            goto 116
        end local 7 // android.view.View sel
       115: .line 1325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 2 /* childrenTop */
            invokevirtual android.widget.GridView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       116: .line 1332
      StackMap locals: android.widget.GridView int int int int top int android.view.View android.view.View android.view.View android.view.View int android.view.accessibility.AccessibilityNodeInfo android.view.View int android.view.ViewRootImpl int android.widget.AbsListView$RecycleBin
      StackMap stack:
            aload 17 /* recycleBin */
            invokevirtual android.widget.AbsListView$RecycleBin.scrapActiveViews:()V
       117: .line 1334
            aload 7 /* sel */
            ifnull 121
       118: .line 1335
            aload 0 /* this */
            iconst_m1
            aload 7 /* sel */
            invokevirtual android.widget.GridView.positionSelector:(ILandroid/view/View;)V
       119: .line 1336
            aload 0 /* this */
            aload 7 /* sel */
            invokevirtual android.view.View.getTop:()I
            putfield android.widget.GridView.mSelectedTop:I
       120: .line 1337
            goto 138
       121: .line 1338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mTouchMode:I
            ifle 124
       122: .line 1339
            aload 0 /* this */
            getfield android.widget.GridView.mTouchMode:I
            iconst_3
       123: .line 1338
            if_icmpge 124
            iconst_1
            goto 125
      StackMap locals:
      StackMap stack:
       124: iconst_0
      StackMap locals:
      StackMap stack: int
       125: istore 18 /* inTouchMode */
        start local 18 // boolean inTouchMode
       126: .line 1340
            iload 18 /* inTouchMode */
            ifeq 131
       127: .line 1342
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mMotionPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 19 /* child */
        start local 19 // android.view.View child
       128: .line 1343
            aload 19 /* child */
            ifnull 138
       129: .line 1344
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mMotionPosition:I
            aload 19 /* child */
            invokevirtual android.widget.GridView.positionSelector:(ILandroid/view/View;)V
        end local 19 // android.view.View child
       130: .line 1346
            goto 138
      StackMap locals: int
      StackMap stack:
       131: aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            iconst_m1
            if_icmpeq 136
       132: .line 1350
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mSelectorPosition:I
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 19 /* child */
        start local 19 // android.view.View child
       133: .line 1351
            aload 19 /* child */
            ifnull 138
       134: .line 1352
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mSelectorPosition:I
            aload 19 /* child */
            invokevirtual android.widget.GridView.positionSelector:(ILandroid/view/View;)V
        end local 19 // android.view.View child
       135: .line 1354
            goto 138
       136: .line 1356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mSelectedTop:I
       137: .line 1357
            aload 0 /* this */
            getfield android.widget.GridView.mSelectorRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.setEmpty:()V
        end local 18 // boolean inTouchMode
       138: .line 1362
      StackMap locals:
      StackMap stack:
            aload 15 /* viewRootImpl */
            ifnull 161
       139: .line 1363
            aload 15 /* viewRootImpl */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedHost:()Landroid/view/View;
            astore 18 /* newAccessibilityFocusedView */
        start local 18 // android.view.View newAccessibilityFocusedView
       140: .line 1364
            aload 18 /* newAccessibilityFocusedView */
            ifnonnull 161
       141: .line 1365
            aload 13 /* accessibilityFocusLayoutRestoreView */
            ifnull 154
       142: .line 1366
            aload 13 /* accessibilityFocusLayoutRestoreView */
            invokevirtual android.view.View.isAttachedToWindow:()Z
            ifeq 154
       143: .line 1368
            aload 13 /* accessibilityFocusLayoutRestoreView */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
       144: .line 1367
            astore 19 /* provider */
        start local 19 // android.view.accessibility.AccessibilityNodeProvider provider
       145: .line 1369
            aload 12 /* accessibilityFocusLayoutRestoreNode */
            ifnull 152
            aload 19 /* provider */
            ifnull 152
       146: .line 1371
            aload 12 /* accessibilityFocusLayoutRestoreNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId:()J
       147: .line 1370
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 20 /* virtualViewId */
        start local 20 // int virtualViewId
       148: .line 1372
            aload 19 /* provider */
            iload 20 /* virtualViewId */
       149: .line 1373
            bipush 64
            aconst_null
       150: .line 1372
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.performAction:(IILandroid/os/Bundle;)Z
            pop
        end local 20 // int virtualViewId
       151: .line 1374
            goto 161
       152: .line 1375
      StackMap locals: android.view.View android.view.accessibility.AccessibilityNodeProvider
      StackMap stack:
            aload 13 /* accessibilityFocusLayoutRestoreView */
            invokevirtual android.view.View.requestAccessibilityFocus:()Z
            pop
        end local 19 // android.view.accessibility.AccessibilityNodeProvider provider
       153: .line 1377
            goto 161
      StackMap locals:
      StackMap stack:
       154: iload 14 /* accessibilityFocusPosition */
            iconst_m1
            if_icmpeq 161
       155: .line 1380
            iload 14 /* accessibilityFocusPosition */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            isub
            iconst_0
       156: .line 1381
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            iconst_1
            isub
       157: .line 1379
            invokestatic android.util.MathUtils.constrain:(III)I
            istore 19 /* position */
        start local 19 // int position
       158: .line 1382
            aload 0 /* this */
            iload 19 /* position */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 20 /* restoreView */
        start local 20 // android.view.View restoreView
       159: .line 1383
            aload 20 /* restoreView */
            ifnull 161
       160: .line 1384
            aload 20 /* restoreView */
            invokevirtual android.view.View.requestAccessibilityFocus:()Z
            pop
        end local 20 // android.view.View restoreView
        end local 19 // int position
        end local 18 // android.view.View newAccessibilityFocusedView
       161: .line 1390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mLayoutMode:I
       162: .line 1391
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mDataChanged:Z
       163: .line 1392
            aload 0 /* this */
            getfield android.widget.GridView.mPositionScrollAfterLayout:Ljava/lang/Runnable;
            ifnull 166
       164: .line 1393
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mPositionScrollAfterLayout:Ljava/lang/Runnable;
            invokevirtual android.widget.GridView.post:(Ljava/lang/Runnable;)Z
            pop
       165: .line 1394
            aload 0 /* this */
            aconst_null
            putfield android.widget.GridView.mPositionScrollAfterLayout:Ljava/lang/Runnable;
       166: .line 1396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mNeedSync:Z
       167: .line 1397
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            invokevirtual android.widget.GridView.setNextSelectedPositionInt:(I)V
       168: .line 1399
            aload 0 /* this */
            invokevirtual android.widget.GridView.updateScrollIndicators:()V
       169: .line 1401
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            ifle 171
       170: .line 1402
            aload 0 /* this */
            invokevirtual android.widget.GridView.checkSelectionChanged:()V
       171: .line 1405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
        end local 17 // android.widget.AbsListView$RecycleBin recycleBin
        end local 16 // int firstPosition
        end local 15 // android.view.ViewRootImpl viewRootImpl
        end local 14 // int accessibilityFocusPosition
        end local 13 // android.view.View accessibilityFocusLayoutRestoreView
        end local 12 // android.view.accessibility.AccessibilityNodeInfo accessibilityFocusLayoutRestoreNode
        end local 11 // boolean dataChanged
        end local 10 // android.view.View newSel
        end local 9 // android.view.View oldFirst
        end local 8 // android.view.View oldSel
        end local 7 // android.view.View sel
        end local 6 // int delta
        end local 4 // int childCount
        end local 3 // int childrenBottom
        end local 2 // int childrenTop
       172: .line 1406
            goto 177
      StackMap locals: android.widget.GridView int
      StackMap stack: java.lang.Throwable
       173: astore 21
       174: .line 1407
            iload 1 /* blockLayoutRequests */
            ifne 176
       175: .line 1408
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mBlockLayoutRequests:Z
       176: .line 1410
      StackMap locals: android.widget.GridView int top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 21
            athrow
       177: .line 1407
      StackMap locals: android.widget.GridView int
      StackMap stack:
            iload 1 /* blockLayoutRequests */
            ifne 179
       178: .line 1408
            aload 0 /* this */
            iconst_0
            putfield android.widget.GridView.mBlockLayoutRequests:Z
       179: .line 1411
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean blockLayoutRequests
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                                 Name  Signature
            0  180     0                                 this  Landroid/widget/GridView;
            1  180     1                  blockLayoutRequests  Z
           12  172     2                          childrenTop  I
           13  172     3                       childrenBottom  I
           14  172     4                           childCount  I
           20   23     5                                index  I
           28   31     5                                index  I
           15  172     6                                delta  I
           72   73     7                                  sel  Landroid/view/View;
           74   75     7                                  sel  Landroid/view/View;
           77   79     7                                  sel  Landroid/view/View;
           80   82     7                                  sel  Landroid/view/View;
           83   84     7                                  sel  Landroid/view/View;
           85   86     7                                  sel  Landroid/view/View;
           87   88     7                                  sel  Landroid/view/View;
           95   96     7                                  sel  Landroid/view/View;
          102  103     7                                  sel  Landroid/view/View;
          108  109     7                                  sel  Landroid/view/View;
          114  115     7                                  sel  Landroid/view/View;
          116  172     7                                  sel  Landroid/view/View;
           16  172     8                               oldSel  Landroid/view/View;
           17  172     9                             oldFirst  Landroid/view/View;
           18  172    10                               newSel  Landroid/view/View;
           32  172    11                          dataChanged  Z
           42  172    12  accessibilityFocusLayoutRestoreNode  Landroid/view/accessibility/AccessibilityNodeInfo;
           43  172    13  accessibilityFocusLayoutRestoreView  Landroid/view/View;
           44  172    14           accessibilityFocusPosition  I
           45  172    15                         viewRootImpl  Landroid/view/ViewRootImpl;
           47   57    16                            focusHost  Landroid/view/View;
           49   57    17                           focusChild  Landroid/view/View;
           58  172    16                        firstPosition  I
           59  172    17                           recycleBin  Landroid/widget/AbsListView$RecycleBin;
           61   65    18                                    i  I
           97  102    18                                 last  I
          126  138    18                          inTouchMode  Z
          128  130    19                                child  Landroid/view/View;
          133  135    19                                child  Landroid/view/View;
          140  161    18          newAccessibilityFocusedView  Landroid/view/View;
          145  153    19                             provider  Landroid/view/accessibility/AccessibilityNodeProvider;
          148  151    20                        virtualViewId  I
          158  161    19                             position  I
          159  161    20                          restoreView  Landroid/view/View;
      Exception table:
        from    to  target  type
           3     8     173  any
          11    37     173  any
          40   173     173  any

  private android.view.View makeAndAddView(int, int, boolean, int, boolean, int);
    descriptor: (IIZIZI)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=7
        start local 0 // android.widget.GridView this
        start local 1 // int position
        start local 2 // int y
        start local 3 // boolean flow
        start local 4 // int childrenLeft
        start local 5 // boolean selected
        start local 6 // int where
         0: .line 1431
            aload 0 /* this */
            getfield android.widget.GridView.mDataChanged:Z
            ifne 5
         1: .line 1433
            aload 0 /* this */
            getfield android.widget.GridView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            iload 1 /* position */
            invokevirtual android.widget.AbsListView$RecycleBin.getActiveView:(I)Landroid/view/View;
            astore 7 /* activeView */
        start local 7 // android.view.View activeView
         2: .line 1434
            aload 7 /* activeView */
            ifnull 5
         3: .line 1437
            aload 0 /* this */
            aload 7 /* activeView */
            iload 1 /* position */
            iload 2 /* y */
            iload 3 /* flow */
            iload 4 /* childrenLeft */
            iload 5 /* selected */
            iconst_1
            iload 6 /* where */
            invokevirtual android.widget.GridView.setupChild:(Landroid/view/View;IIZIZZI)V
         4: .line 1438
            aload 7 /* activeView */
            areturn
        end local 7 // android.view.View activeView
         5: .line 1444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* position */
            aload 0 /* this */
            getfield android.widget.GridView.mIsScrap:[Z
            invokevirtual android.widget.GridView.obtainView:(I[Z)Landroid/view/View;
            astore 7 /* child */
        start local 7 // android.view.View child
         6: .line 1447
            aload 0 /* this */
            aload 7 /* child */
            iload 1 /* position */
            iload 2 /* y */
            iload 3 /* flow */
            iload 4 /* childrenLeft */
            iload 5 /* selected */
            aload 0 /* this */
            getfield android.widget.GridView.mIsScrap:[Z
            iconst_0
            baload
            iload 6 /* where */
            invokevirtual android.widget.GridView.setupChild:(Landroid/view/View;IIZIZZI)V
         7: .line 1449
            aload 7 /* child */
            areturn
        end local 7 // android.view.View child
        end local 6 // int where
        end local 5 // boolean selected
        end local 4 // int childrenLeft
        end local 3 // boolean flow
        end local 2 // int y
        end local 1 // int position
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/widget/GridView;
            0    8     1      position  I
            0    8     2             y  I
            0    8     3          flow  Z
            0    8     4  childrenLeft  I
            0    8     5      selected  Z
            0    8     6         where  I
            2    5     7    activeView  Landroid/view/View;
            6    8     7         child  Landroid/view/View;
    MethodParameters:
              Name  Flags
      position      
      y             
      flow          
      childrenLeft  
      selected      
      where         

  private void setupChild(android.view.View, int, int, boolean, int, boolean, boolean, int);
    descriptor: (Landroid/view/View;IIZIZZI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=24, args_size=9
        start local 0 // android.widget.GridView this
        start local 1 // android.view.View child
        start local 2 // int position
        start local 3 // int y
        start local 4 // boolean flowDown
        start local 5 // int childrenLeft
        start local 6 // boolean selected
        start local 7 // boolean isAttachedToWindow
        start local 8 // int where
         0: .line 1472
            ldc 8
            ldc "setupGridItem"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         1: .line 1474
            iload 6 /* selected */
            ifeq 2
            aload 0 /* this */
            invokevirtual android.widget.GridView.shouldShowSelector:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 9 /* isSelected */
        start local 9 // boolean isSelected
         4: .line 1475
            iload 9 /* isSelected */
            aload 1 /* child */
            invokevirtual android.view.View.isSelected:()Z
            ixor
            istore 10 /* updateChildSelected */
        start local 10 // boolean updateChildSelected
         5: .line 1476
            aload 0 /* this */
            getfield android.widget.GridView.mTouchMode:I
            istore 11 /* mode */
        start local 11 // int mode
         6: .line 1477
            iload 11 /* mode */
            ifle 9
            iload 11 /* mode */
            iconst_3
            if_icmpge 9
         7: .line 1478
            aload 0 /* this */
            getfield android.widget.GridView.mMotionPosition:I
            iload 2 /* position */
            if_icmpne 9
         8: .line 1477
            iconst_1
            goto 10
      StackMap locals: int int int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 12 /* isPressed */
        start local 12 // boolean isPressed
        11: .line 1479
            iload 12 /* isPressed */
            aload 1 /* child */
            invokevirtual android.view.View.isPressed:()Z
            ixor
            istore 13 /* updateChildPressed */
        start local 13 // boolean updateChildPressed
        12: .line 1480
            iload 7 /* isAttachedToWindow */
            ifeq 15
            iload 10 /* updateChildSelected */
            ifne 15
        13: .line 1481
            aload 1 /* child */
            invokevirtual android.view.View.isLayoutRequested:()Z
            ifne 15
        14: .line 1480
            iconst_0
            goto 16
      StackMap locals: int int
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 14 /* needToMeasure */
        start local 14 // boolean needToMeasure
        17: .line 1485
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 15 /* p */
        start local 15 // android.widget.AbsListView$LayoutParams p
        18: .line 1486
            aload 15 /* p */
            ifnonnull 20
        19: .line 1487
            aload 0 /* this */
            invokevirtual android.widget.GridView.generateDefaultLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 15 /* p */
        20: .line 1489
      StackMap locals: int android.widget.AbsListView$LayoutParams
      StackMap stack:
            aload 15 /* p */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.getItemViewType:(I)I
            putfield android.widget.AbsListView$LayoutParams.viewType:I
        21: .line 1490
            aload 15 /* p */
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            putfield android.widget.AbsListView$LayoutParams.isEnabled:Z
        22: .line 1495
            iload 10 /* updateChildSelected */
            ifeq 26
        23: .line 1496
            aload 1 /* child */
            iload 9 /* isSelected */
            invokevirtual android.view.View.setSelected:(Z)V
        24: .line 1497
            iload 9 /* isSelected */
            ifeq 26
        25: .line 1498
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestFocus:()Z
            pop
        26: .line 1502
      StackMap locals:
      StackMap stack:
            iload 13 /* updateChildPressed */
            ifeq 28
        27: .line 1503
            aload 1 /* child */
            iload 12 /* isPressed */
            invokevirtual android.view.View.setPressed:(Z)V
        28: .line 1506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mChoiceMode:I
            ifeq 35
            aload 0 /* this */
            getfield android.widget.GridView.mCheckStates:Landroid/util/SparseBooleanArray;
            ifnull 35
        29: .line 1507
            aload 1 /* child */
            instanceof android.widget.Checkable
            ifeq 32
        30: .line 1508
            aload 1 /* child */
            checkcast android.widget.Checkable
            aload 0 /* this */
            getfield android.widget.GridView.mCheckStates:Landroid/util/SparseBooleanArray;
            iload 2 /* position */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            invokeinterface android.widget.Checkable.setChecked:(Z)V
        31: .line 1509
            goto 35
      StackMap locals:
      StackMap stack:
        32: aload 0 /* this */
            invokevirtual android.widget.GridView.getContext:()Landroid/content/Context;
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
        33: .line 1510
            bipush 11
            if_icmplt 35
        34: .line 1511
            aload 1 /* child */
            aload 0 /* this */
            getfield android.widget.GridView.mCheckStates:Landroid/util/SparseBooleanArray;
            iload 2 /* position */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            invokevirtual android.view.View.setActivated:(Z)V
        35: .line 1515
      StackMap locals:
      StackMap stack:
            iload 7 /* isAttachedToWindow */
            ifeq 43
            aload 15 /* p */
            getfield android.widget.AbsListView$LayoutParams.forceAdd:Z
            ifne 43
        36: .line 1516
            aload 0 /* this */
            aload 1 /* child */
            iload 8 /* where */
            aload 15 /* p */
            invokevirtual android.widget.GridView.attachViewToParent:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
        37: .line 1520
            iload 7 /* isAttachedToWindow */
            ifeq 41
        38: .line 1521
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            getfield android.widget.AbsListView$LayoutParams.scrappedFromPosition:I
        39: .line 1522
            iload 2 /* position */
        40: .line 1521
            if_icmpeq 45
        41: .line 1523
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            invokevirtual android.view.View.jumpDrawablesToCurrentState:()V
        42: .line 1525
            goto 45
        43: .line 1526
      StackMap locals:
      StackMap stack:
            aload 15 /* p */
            iconst_0
            putfield android.widget.AbsListView$LayoutParams.forceAdd:Z
        44: .line 1527
            aload 0 /* this */
            aload 1 /* child */
            iload 8 /* where */
            aload 15 /* p */
            iconst_1
            invokevirtual android.widget.GridView.addViewInLayout:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z
            pop
        45: .line 1530
      StackMap locals:
      StackMap stack:
            iload 14 /* needToMeasure */
            ifeq 52
        46: .line 1532
            iconst_0
            iconst_0
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            iconst_0
            aload 15 /* p */
            getfield android.widget.AbsListView$LayoutParams.height:I
        47: .line 1531
            invokestatic android.view.ViewGroup.getChildMeasureSpec:(III)I
            istore 16 /* childHeightSpec */
        start local 16 // int childHeightSpec
        48: .line 1535
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            iconst_0
            aload 15 /* p */
            getfield android.widget.AbsListView$LayoutParams.width:I
        49: .line 1534
            invokestatic android.view.ViewGroup.getChildMeasureSpec:(III)I
            istore 17 /* childWidthSpec */
        start local 17 // int childWidthSpec
        50: .line 1536
            aload 1 /* child */
            iload 17 /* childWidthSpec */
            iload 16 /* childHeightSpec */
            invokevirtual android.view.View.measure:(II)V
        end local 17 // int childWidthSpec
        end local 16 // int childHeightSpec
        51: .line 1537
            goto 53
        52: .line 1538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            invokevirtual android.widget.GridView.cleanupLayoutState:(Landroid/view/View;)V
        53: .line 1541
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredWidth:()I
            istore 16 /* w */
        start local 16 // int w
        54: .line 1542
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 17 /* h */
        start local 17 // int h
        55: .line 1545
            iload 4 /* flowDown */
            ifeq 56
            iload 3 /* y */
            goto 57
      StackMap locals: int int
      StackMap stack:
        56: iload 3 /* y */
            iload 17 /* h */
            isub
      StackMap locals:
      StackMap stack: int
        57: istore 19 /* childTop */
        start local 19 // int childTop
        58: .line 1547
            aload 0 /* this */
            invokevirtual android.widget.GridView.getLayoutDirection:()I
            istore 20 /* layoutDirection */
        start local 20 // int layoutDirection
        59: .line 1548
            aload 0 /* this */
            getfield android.widget.GridView.mGravity:I
            iload 20 /* layoutDirection */
            invokestatic android.view.Gravity.getAbsoluteGravity:(II)I
            istore 21 /* absoluteGravity */
        start local 21 // int absoluteGravity
        60: .line 1549
            iload 21 /* absoluteGravity */
            bipush 7
            iand
            tableswitch { // 1 - 5
                    1: 63
                    2: 67
                    3: 61
                    4: 67
                    5: 65
              default: 67
          }
        61: .line 1551
      StackMap locals: android.widget.GridView android.view.View int int int int int int int int int int int int int android.widget.AbsListView$LayoutParams int int top int int int
      StackMap stack:
            iload 5 /* childrenLeft */
            istore 18 /* childLeft */
        start local 18 // int childLeft
        62: .line 1552
            goto 68
        end local 18 // int childLeft
        63: .line 1554
      StackMap locals:
      StackMap stack:
            iload 5 /* childrenLeft */
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            iload 16 /* w */
            isub
            iconst_2
            idiv
            iadd
            istore 18 /* childLeft */
        start local 18 // int childLeft
        64: .line 1555
            goto 68
        end local 18 // int childLeft
        65: .line 1557
      StackMap locals:
      StackMap stack:
            iload 5 /* childrenLeft */
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            iadd
            iload 16 /* w */
            isub
            istore 18 /* childLeft */
        start local 18 // int childLeft
        66: .line 1558
            goto 68
        end local 18 // int childLeft
        67: .line 1560
      StackMap locals:
      StackMap stack:
            iload 5 /* childrenLeft */
            istore 18 /* childLeft */
        start local 18 // int childLeft
        68: .line 1564
      StackMap locals: android.widget.GridView android.view.View int int int int int int int int int int int int int android.widget.AbsListView$LayoutParams int int int int int int
      StackMap stack:
            iload 14 /* needToMeasure */
            ifeq 73
        69: .line 1565
            iload 18 /* childLeft */
            iload 16 /* w */
            iadd
            istore 22 /* childRight */
        start local 22 // int childRight
        70: .line 1566
            iload 19 /* childTop */
            iload 17 /* h */
            iadd
            istore 23 /* childBottom */
        start local 23 // int childBottom
        71: .line 1567
            aload 1 /* child */
            iload 18 /* childLeft */
            iload 19 /* childTop */
            iload 22 /* childRight */
            iload 23 /* childBottom */
            invokevirtual android.view.View.layout:(IIII)V
        end local 23 // int childBottom
        end local 22 // int childRight
        72: .line 1568
            goto 75
        73: .line 1569
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            iload 18 /* childLeft */
            aload 1 /* child */
            invokevirtual android.view.View.getLeft:()I
            isub
            invokevirtual android.view.View.offsetLeftAndRight:(I)V
        74: .line 1570
            aload 1 /* child */
            iload 19 /* childTop */
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            isub
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        75: .line 1573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mCachingStarted:Z
            ifeq 77
            aload 1 /* child */
            invokevirtual android.view.View.isDrawingCacheEnabled:()Z
            ifne 77
        76: .line 1574
            aload 1 /* child */
            iconst_1
            invokevirtual android.view.View.setDrawingCacheEnabled:(Z)V
        77: .line 1577
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        78: .line 1578
            return
        end local 21 // int absoluteGravity
        end local 20 // int layoutDirection
        end local 19 // int childTop
        end local 18 // int childLeft
        end local 17 // int h
        end local 16 // int w
        end local 15 // android.widget.AbsListView$LayoutParams p
        end local 14 // boolean needToMeasure
        end local 13 // boolean updateChildPressed
        end local 12 // boolean isPressed
        end local 11 // int mode
        end local 10 // boolean updateChildSelected
        end local 9 // boolean isSelected
        end local 8 // int where
        end local 7 // boolean isAttachedToWindow
        end local 6 // boolean selected
        end local 5 // int childrenLeft
        end local 4 // boolean flowDown
        end local 3 // int y
        end local 2 // int position
        end local 1 // android.view.View child
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   79     0                 this  Landroid/widget/GridView;
            0   79     1                child  Landroid/view/View;
            0   79     2             position  I
            0   79     3                    y  I
            0   79     4             flowDown  Z
            0   79     5         childrenLeft  I
            0   79     6             selected  Z
            0   79     7   isAttachedToWindow  Z
            0   79     8                where  I
            4   79     9           isSelected  Z
            5   79    10  updateChildSelected  Z
            6   79    11                 mode  I
           11   79    12            isPressed  Z
           12   79    13   updateChildPressed  Z
           17   79    14        needToMeasure  Z
           18   79    15                    p  Landroid/widget/AbsListView$LayoutParams;
           48   51    16      childHeightSpec  I
           50   51    17       childWidthSpec  I
           54   79    16                    w  I
           55   79    17                    h  I
           62   63    18            childLeft  I
           64   65    18            childLeft  I
           66   67    18            childLeft  I
           68   79    18            childLeft  I
           58   79    19             childTop  I
           59   79    20      layoutDirection  I
           60   79    21      absoluteGravity  I
           70   72    22           childRight  I
           71   72    23          childBottom  I
    MethodParameters:
                    Name  Flags
      child               
      position            
      y                   
      flowDown            
      childrenLeft        
      selected            
      isAttachedToWindow  
      where               

  public void setSelection(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int position
         0: .line 1590
            aload 0 /* this */
            invokevirtual android.widget.GridView.isInTouchMode:()Z
            ifne 3
         1: .line 1591
            aload 0 /* this */
            iload 1 /* position */
            invokevirtual android.widget.GridView.setNextSelectedPositionInt:(I)V
         2: .line 1592
            goto 4
         3: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* position */
            putfield android.widget.GridView.mResurrectToPosition:I
         4: .line 1595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield android.widget.GridView.mLayoutMode:I
         5: .line 1596
            aload 0 /* this */
            getfield android.widget.GridView.mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
            ifnull 7
         6: .line 1597
            aload 0 /* this */
            getfield android.widget.GridView.mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
            invokevirtual android.widget.AbsListView$AbsPositionScroller.stop:()V
         7: .line 1599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayout:()V
         8: .line 1600
            return
        end local 1 // int position
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/widget/GridView;
            0    9     1  position  I
    MethodParameters:
          Name  Flags
      position  

  void setSelectionInt(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int position
         0: .line 1609
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
            istore 2 /* previousSelectedPosition */
        start local 2 // int previousSelectedPosition
         1: .line 1611
            aload 0 /* this */
            getfield android.widget.GridView.mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
            ifnull 3
         2: .line 1612
            aload 0 /* this */
            getfield android.widget.GridView.mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
            invokevirtual android.widget.AbsListView$AbsPositionScroller.stop:()V
         3: .line 1615
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* position */
            invokevirtual android.widget.GridView.setNextSelectedPositionInt:(I)V
         4: .line 1616
            aload 0 /* this */
            invokevirtual android.widget.GridView.layoutChildren:()V
         5: .line 1618
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 6
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
            isub
            goto 7
         6: .line 1619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mNextSelectedPosition:I
         7: .line 1618
      StackMap locals:
      StackMap stack: int
            istore 3 /* next */
        start local 3 // int next
         8: .line 1620
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifeq 10
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
         9: .line 1621
            iload 2 /* previousSelectedPosition */
            isub
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iload 2 /* previousSelectedPosition */
        11: .line 1620
      StackMap locals:
      StackMap stack: int
            istore 4 /* previous */
        start local 4 // int previous
        12: .line 1623
            iload 3 /* next */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            idiv
            istore 5 /* nextRow */
        start local 5 // int nextRow
        13: .line 1624
            iload 4 /* previous */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            idiv
            istore 6 /* previousRow */
        start local 6 // int previousRow
        14: .line 1626
            iload 5 /* nextRow */
            iload 6 /* previousRow */
            if_icmpeq 16
        15: .line 1627
            aload 0 /* this */
            invokevirtual android.widget.GridView.awakenScrollBars:()Z
            pop
        16: .line 1630
      StackMap locals: int int int
      StackMap stack:
            return
        end local 6 // int previousRow
        end local 5 // int nextRow
        end local 4 // int previous
        end local 3 // int next
        end local 2 // int previousSelectedPosition
        end local 1 // int position
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   17     0                      this  Landroid/widget/GridView;
            0   17     1                  position  I
            1   17     2  previousSelectedPosition  I
            8   17     3                      next  I
           12   17     4                  previous  I
           13   17     5                   nextRow  I
           14   17     6               previousRow  I
    MethodParameters:
          Name  Flags
      position  

  public boolean onKeyDown(int, android.view.KeyEvent);
    descriptor: (ILandroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int keyCode
        start local 2 // android.view.KeyEvent event
         0: .line 1634
            aload 0 /* this */
            iload 1 /* keyCode */
            iconst_1
            aload 2 /* event */
            invokevirtual android.widget.GridView.commonKey:(IILandroid/view/KeyEvent;)Z
            ireturn
        end local 2 // android.view.KeyEvent event
        end local 1 // int keyCode
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/widget/GridView;
            0    1     1  keyCode  I
            0    1     2    event  Landroid/view/KeyEvent;
    MethodParameters:
         Name  Flags
      keyCode  
      event    

  public boolean onKeyMultiple(int, int, android.view.KeyEvent);
    descriptor: (IILandroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int keyCode
        start local 2 // int repeatCount
        start local 3 // android.view.KeyEvent event
         0: .line 1639
            aload 0 /* this */
            iload 1 /* keyCode */
            iload 2 /* repeatCount */
            aload 3 /* event */
            invokevirtual android.widget.GridView.commonKey:(IILandroid/view/KeyEvent;)Z
            ireturn
        end local 3 // android.view.KeyEvent event
        end local 2 // int repeatCount
        end local 1 // int keyCode
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/widget/GridView;
            0    1     1      keyCode  I
            0    1     2  repeatCount  I
            0    1     3        event  Landroid/view/KeyEvent;
    MethodParameters:
             Name  Flags
      keyCode      
      repeatCount  
      event        

  public boolean onKeyUp(int, android.view.KeyEvent);
    descriptor: (ILandroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int keyCode
        start local 2 // android.view.KeyEvent event
         0: .line 1644
            aload 0 /* this */
            iload 1 /* keyCode */
            iconst_1
            aload 2 /* event */
            invokevirtual android.widget.GridView.commonKey:(IILandroid/view/KeyEvent;)Z
            ireturn
        end local 2 // android.view.KeyEvent event
        end local 1 // int keyCode
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/widget/GridView;
            0    1     1  keyCode  I
            0    1     2    event  Landroid/view/KeyEvent;
    MethodParameters:
         Name  Flags
      keyCode  
      event    

  private boolean commonKey(int, int, android.view.KeyEvent);
    descriptor: (IILandroid/view/KeyEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // int keyCode
        start local 2 // int count
        start local 3 // android.view.KeyEvent event
         0: .line 1648
            aload 0 /* this */
            getfield android.widget.GridView.mAdapter:Landroid/widget/ListAdapter;
            ifnonnull 2
         1: .line 1649
            iconst_0
            ireturn
         2: .line 1652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mDataChanged:Z
            ifeq 4
         3: .line 1653
            aload 0 /* this */
            invokevirtual android.widget.GridView.layoutChildren:()V
         4: .line 1656
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* handled */
        start local 4 // boolean handled
         5: .line 1657
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getAction:()I
            istore 5 /* action */
        start local 5 // int action
         6: .line 1658
            iload 1 /* keyCode */
            invokestatic android.view.KeyEvent.isConfirmKey:(I)Z
            ifeq 12
         7: .line 1659
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 12
            iload 5 /* action */
            iconst_1
            if_icmpeq 12
         8: .line 1660
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            istore 4 /* handled */
         9: .line 1661
            iload 4 /* handled */
            ifne 12
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getRepeatCount:()I
            ifne 12
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            ifle 12
        10: .line 1662
            aload 0 /* this */
            invokevirtual android.widget.GridView.keyPressed:()V
        11: .line 1663
            iconst_1
            istore 4 /* handled */
        12: .line 1667
      StackMap locals: int int
      StackMap stack:
            iload 4 /* handled */
            ifne 87
            iload 5 /* action */
            iconst_1
            if_icmpeq 87
        13: .line 1668
            iload 1 /* keyCode */
            lookupswitch { // 9
                   19: 24
                   20: 34
                   21: 14
                   22: 19
                   61: 74
                   92: 44
                   93: 54
                  122: 64
                  123: 69
              default: 87
          }
        14: .line 1670
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 87
        15: .line 1671
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 16
            aload 0 /* this */
            bipush 17
            invokevirtual android.widget.GridView.arrowScroll:(I)Z
            ifne 16
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: istore 4 /* handled */
        18: .line 1673
            goto 87
        19: .line 1676
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 87
        20: .line 1677
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 21
            aload 0 /* this */
            bipush 66
            invokevirtual android.widget.GridView.arrowScroll:(I)Z
            ifne 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 4 /* handled */
        23: .line 1679
            goto 87
        24: .line 1682
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 29
        25: .line 1683
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 26
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.GridView.arrowScroll:(I)Z
            ifne 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_1
      StackMap locals:
      StackMap stack: int
        27: istore 4 /* handled */
        28: .line 1684
            goto 87
      StackMap locals:
      StackMap stack:
        29: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 87
        30: .line 1685
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 31
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.GridView.fullScroll:(I)Z
            ifne 31
            iconst_0
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_1
      StackMap locals:
      StackMap stack: int
        32: istore 4 /* handled */
        33: .line 1687
            goto 87
        34: .line 1690
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 39
        35: .line 1691
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 36
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.GridView.arrowScroll:(I)Z
            ifne 36
            iconst_0
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_1
      StackMap locals:
      StackMap stack: int
        37: istore 4 /* handled */
        38: .line 1692
            goto 87
      StackMap locals:
      StackMap stack:
        39: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 87
        40: .line 1693
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 41
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.GridView.fullScroll:(I)Z
            ifne 41
            iconst_0
            goto 42
      StackMap locals:
      StackMap stack:
        41: iconst_1
      StackMap locals:
      StackMap stack: int
        42: istore 4 /* handled */
        43: .line 1695
            goto 87
        44: .line 1698
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 49
        45: .line 1699
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 46
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.GridView.pageScroll:(I)Z
            ifne 46
            iconst_0
            goto 47
      StackMap locals:
      StackMap stack:
        46: iconst_1
      StackMap locals:
      StackMap stack: int
        47: istore 4 /* handled */
        48: .line 1700
            goto 87
      StackMap locals:
      StackMap stack:
        49: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 87
        50: .line 1701
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 51
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.GridView.fullScroll:(I)Z
            ifne 51
            iconst_0
            goto 52
      StackMap locals:
      StackMap stack:
        51: iconst_1
      StackMap locals:
      StackMap stack: int
        52: istore 4 /* handled */
        53: .line 1703
            goto 87
        54: .line 1706
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 59
        55: .line 1707
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 56
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.GridView.pageScroll:(I)Z
            ifne 56
            iconst_0
            goto 57
      StackMap locals:
      StackMap stack:
        56: iconst_1
      StackMap locals:
      StackMap stack: int
        57: istore 4 /* handled */
        58: .line 1708
            goto 87
      StackMap locals:
      StackMap stack:
        59: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 87
        60: .line 1709
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 61
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.GridView.fullScroll:(I)Z
            ifne 61
            iconst_0
            goto 62
      StackMap locals:
      StackMap stack:
        61: iconst_1
      StackMap locals:
      StackMap stack: int
        62: istore 4 /* handled */
        63: .line 1711
            goto 87
        64: .line 1714
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 87
        65: .line 1715
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 66
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.GridView.fullScroll:(I)Z
            ifne 66
            iconst_0
            goto 67
      StackMap locals:
      StackMap stack:
        66: iconst_1
      StackMap locals:
      StackMap stack: int
        67: istore 4 /* handled */
        68: .line 1717
            goto 87
        69: .line 1720
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 87
        70: .line 1721
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 71
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.GridView.fullScroll:(I)Z
            ifne 71
            iconst_0
            goto 72
      StackMap locals:
      StackMap stack:
        71: iconst_1
      StackMap locals:
      StackMap stack: int
        72: istore 4 /* handled */
        73: .line 1723
            goto 87
        74: .line 1731
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 81
        75: .line 1732
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 78
        76: .line 1733
            aload 0 /* this */
            iconst_2
            invokevirtual android.widget.GridView.sequenceScroll:(I)Z
            ifne 78
        77: .line 1732
            iconst_0
            goto 79
      StackMap locals:
      StackMap stack:
        78: iconst_1
      StackMap locals:
      StackMap stack: int
        79: istore 4 /* handled */
        80: .line 1734
            goto 87
      StackMap locals:
      StackMap stack:
        81: aload 3 /* event */
            iconst_1
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 87
        82: .line 1735
            aload 0 /* this */
            invokevirtual android.widget.GridView.resurrectSelectionIfNeeded:()Z
            ifne 85
        83: .line 1736
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.GridView.sequenceScroll:(I)Z
            ifne 85
        84: .line 1735
            iconst_0
            goto 86
      StackMap locals:
      StackMap stack:
        85: iconst_1
      StackMap locals:
      StackMap stack: int
        86: istore 4 /* handled */
        87: .line 1742
      StackMap locals:
      StackMap stack:
            iload 4 /* handled */
            ifeq 89
        88: .line 1743
            iconst_1
            ireturn
        89: .line 1746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            iload 2 /* count */
            aload 3 /* event */
            invokevirtual android.widget.GridView.sendToTextFilter:(IILandroid/view/KeyEvent;)Z
            ifeq 91
        90: .line 1747
            iconst_1
            ireturn
        91: .line 1750
      StackMap locals:
      StackMap stack:
            iload 5 /* action */
            tableswitch { // 0 - 2
                    0: 92
                    1: 93
                    2: 94
              default: 95
          }
        92: .line 1752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            aload 3 /* event */
            invokespecial android.widget.AbsListView.onKeyDown:(ILandroid/view/KeyEvent;)Z
            ireturn
        93: .line 1754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            aload 3 /* event */
            invokespecial android.widget.AbsListView.onKeyUp:(ILandroid/view/KeyEvent;)Z
            ireturn
        94: .line 1756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            iload 2 /* count */
            aload 3 /* event */
            invokespecial android.widget.AbsListView.onKeyMultiple:(IILandroid/view/KeyEvent;)Z
            ireturn
        95: .line 1758
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int action
        end local 4 // boolean handled
        end local 3 // android.view.KeyEvent event
        end local 2 // int count
        end local 1 // int keyCode
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   96     0     this  Landroid/widget/GridView;
            0   96     1  keyCode  I
            0   96     2    count  I
            0   96     3    event  Landroid/view/KeyEvent;
            5   96     4  handled  Z
            6   96     5   action  I
    MethodParameters:
         Name  Flags
      keyCode  
      count    
      event    

  boolean pageScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int direction
         0: .line 1769
            iconst_m1
            istore 2 /* nextPage */
        start local 2 // int nextPage
         1: .line 1771
            iload 1 /* direction */
            bipush 33
            if_icmpne 4
         2: .line 1772
            iconst_0
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* nextPage */
         3: .line 1773
            goto 6
      StackMap locals: int
      StackMap stack:
         4: iload 1 /* direction */
            sipush 130
            if_icmpne 6
         5: .line 1774
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            iadd
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* nextPage */
         6: .line 1777
      StackMap locals:
      StackMap stack:
            iload 2 /* nextPage */
            iflt 11
         7: .line 1778
            aload 0 /* this */
            iload 2 /* nextPage */
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
         8: .line 1779
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
         9: .line 1780
            aload 0 /* this */
            invokevirtual android.widget.GridView.awakenScrollBars:()Z
            pop
        10: .line 1781
            iconst_1
            ireturn
        11: .line 1784
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int nextPage
        end local 1 // int direction
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Landroid/widget/GridView;
            0   12     1  direction  I
            1   12     2   nextPage  I
    MethodParameters:
           Name  Flags
      direction  

  boolean fullScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int direction
         0: .line 1795
            iconst_0
            istore 2 /* moved */
        start local 2 // boolean moved
         1: .line 1796
            iload 1 /* direction */
            bipush 33
            if_icmpne 7
         2: .line 1797
            aload 0 /* this */
            iconst_2
            putfield android.widget.GridView.mLayoutMode:I
         3: .line 1798
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
         4: .line 1799
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
         5: .line 1800
            iconst_1
            istore 2 /* moved */
         6: .line 1801
            goto 12
      StackMap locals: int
      StackMap stack:
         7: iload 1 /* direction */
            sipush 130
            if_icmpne 12
         8: .line 1802
            aload 0 /* this */
            iconst_2
            putfield android.widget.GridView.mLayoutMode:I
         9: .line 1803
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        10: .line 1804
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
        11: .line 1805
            iconst_1
            istore 2 /* moved */
        12: .line 1808
      StackMap locals:
      StackMap stack:
            iload 2 /* moved */
            ifeq 14
        13: .line 1809
            aload 0 /* this */
            invokevirtual android.widget.GridView.awakenScrollBars:()Z
            pop
        14: .line 1812
      StackMap locals:
      StackMap stack:
            iload 2 /* moved */
            ireturn
        end local 2 // boolean moved
        end local 1 // int direction
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Landroid/widget/GridView;
            0   15     1  direction  I
            1   15     2      moved  Z
    MethodParameters:
           Name  Flags
      direction  

  boolean arrowScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int direction
         0: .line 1824
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            istore 2 /* selectedPosition */
        start local 2 // int selectedPosition
         1: .line 1825
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 3 /* numColumns */
        start local 3 // int numColumns
         2: .line 1830
            iconst_0
            istore 6 /* moved */
        start local 6 // boolean moved
         3: .line 1832
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 7
         4: .line 1833
            iload 2 /* selectedPosition */
            iload 3 /* numColumns */
            idiv
            iload 3 /* numColumns */
            imul
            istore 4 /* startOfRowPos */
        start local 4 // int startOfRowPos
         5: .line 1834
            iload 4 /* startOfRowPos */
            iload 3 /* numColumns */
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* endOfRowPos */
        start local 5 // int endOfRowPos
         6: .line 1835
            goto 10
        end local 5 // int endOfRowPos
        end local 4 // int startOfRowPos
         7: .line 1836
      StackMap locals: android.widget.GridView int int int top top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 2 /* selectedPosition */
            isub
            istore 7 /* invertedSelection */
        start local 7 // int invertedSelection
         8: .line 1837
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            iload 7 /* invertedSelection */
            iload 3 /* numColumns */
            idiv
            iload 3 /* numColumns */
            imul
            isub
            istore 5 /* endOfRowPos */
        start local 5 // int endOfRowPos
         9: .line 1838
            iconst_0
            iload 5 /* endOfRowPos */
            iload 3 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* startOfRowPos */
        end local 7 // int invertedSelection
        start local 4 // int startOfRowPos
        10: .line 1841
      StackMap locals: android.widget.GridView int int int int int int
      StackMap stack:
            iload 1 /* direction */
            lookupswitch { // 2
                   33: 11
                  130: 16
              default: 20
          }
        11: .line 1843
      StackMap locals:
      StackMap stack:
            iload 4 /* startOfRowPos */
            ifle 20
        12: .line 1844
            aload 0 /* this */
            bipush 6
            putfield android.widget.GridView.mLayoutMode:I
        13: .line 1845
            aload 0 /* this */
            iconst_0
            iload 2 /* selectedPosition */
            iload 3 /* numColumns */
            isub
            invokestatic java.lang.Math.max:(II)I
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        14: .line 1846
            iconst_1
            istore 6 /* moved */
        15: .line 1848
            goto 20
        16: .line 1850
      StackMap locals:
      StackMap stack:
            iload 5 /* endOfRowPos */
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            if_icmpge 20
        17: .line 1851
            aload 0 /* this */
            bipush 6
            putfield android.widget.GridView.mLayoutMode:I
        18: .line 1852
            aload 0 /* this */
            iload 2 /* selectedPosition */
            iload 3 /* numColumns */
            iadd
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        19: .line 1853
            iconst_1
            istore 6 /* moved */
        20: .line 1858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.isLayoutRtl:()Z
            istore 7 /* isLayoutRtl */
        start local 7 // boolean isLayoutRtl
        21: .line 1859
            iload 2 /* selectedPosition */
            iload 4 /* startOfRowPos */
            if_icmple 27
            iload 1 /* direction */
            bipush 17
            if_icmpne 22
            iload 7 /* isLayoutRtl */
            ifeq 23
        22: .line 1860
      StackMap locals: int
      StackMap stack:
            iload 1 /* direction */
            bipush 66
            if_icmpne 27
            iload 7 /* isLayoutRtl */
            ifeq 27
        23: .line 1861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            putfield android.widget.GridView.mLayoutMode:I
        24: .line 1862
            aload 0 /* this */
            iconst_0
            iload 2 /* selectedPosition */
            iconst_1
            isub
            invokestatic java.lang.Math.max:(II)I
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        25: .line 1863
            iconst_1
            istore 6 /* moved */
        26: .line 1864
            goto 32
      StackMap locals:
      StackMap stack:
        27: iload 2 /* selectedPosition */
            iload 5 /* endOfRowPos */
            if_icmpge 32
            iload 1 /* direction */
            bipush 17
            if_icmpne 28
            iload 7 /* isLayoutRtl */
            ifne 29
        28: .line 1865
      StackMap locals:
      StackMap stack:
            iload 1 /* direction */
            bipush 66
            if_icmpne 32
            iload 7 /* isLayoutRtl */
            ifne 32
        29: .line 1866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            putfield android.widget.GridView.mLayoutMode:I
        30: .line 1867
            aload 0 /* this */
            iload 2 /* selectedPosition */
            iconst_1
            iadd
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        31: .line 1868
            iconst_1
            istore 6 /* moved */
        32: .line 1871
      StackMap locals:
      StackMap stack:
            iload 6 /* moved */
            ifeq 35
        33: .line 1872
            aload 0 /* this */
            iload 1 /* direction */
            invokestatic android.view.SoundEffectConstants.getContantForFocusDirection:(I)I
            invokevirtual android.widget.GridView.playSoundEffect:(I)V
        34: .line 1873
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
        35: .line 1876
      StackMap locals:
      StackMap stack:
            iload 6 /* moved */
            ifeq 37
        36: .line 1877
            aload 0 /* this */
            invokevirtual android.widget.GridView.awakenScrollBars:()Z
            pop
        37: .line 1880
      StackMap locals:
      StackMap stack:
            iload 6 /* moved */
            ireturn
        end local 7 // boolean isLayoutRtl
        end local 6 // boolean moved
        end local 5 // int endOfRowPos
        end local 4 // int startOfRowPos
        end local 3 // int numColumns
        end local 2 // int selectedPosition
        end local 1 // int direction
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               this  Landroid/widget/GridView;
            0   38     1          direction  I
            1   38     2   selectedPosition  I
            2   38     3         numColumns  I
            5    7     4      startOfRowPos  I
           10   38     4      startOfRowPos  I
            6    7     5        endOfRowPos  I
            9   38     5        endOfRowPos  I
            3   38     6              moved  Z
            8   10     7  invertedSelection  I
           21   38     7        isLayoutRtl  Z
    MethodParameters:
           Name  Flags
      direction  

  boolean sequenceScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int direction
         0: .line 1888
            aload 0 /* this */
            getfield android.widget.GridView.mSelectedPosition:I
            istore 2 /* selectedPosition */
        start local 2 // int selectedPosition
         1: .line 1889
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 3 /* numColumns */
        start local 3 // int numColumns
         2: .line 1890
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            istore 4 /* count */
        start local 4 // int count
         3: .line 1894
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 7
         4: .line 1895
            iload 2 /* selectedPosition */
            iload 3 /* numColumns */
            idiv
            iload 3 /* numColumns */
            imul
            istore 5 /* startOfRow */
        start local 5 // int startOfRow
         5: .line 1896
            iload 5 /* startOfRow */
            iload 3 /* numColumns */
            iadd
            iconst_1
            isub
            iload 4 /* count */
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* endOfRow */
        start local 6 // int endOfRow
         6: .line 1897
            goto 10
        end local 6 // int endOfRow
        end local 5 // int startOfRow
         7: .line 1898
      StackMap locals: int int int
      StackMap stack:
            iload 4 /* count */
            iconst_1
            isub
            iload 2 /* selectedPosition */
            isub
            istore 7 /* invertedSelection */
        start local 7 // int invertedSelection
         8: .line 1899
            iload 4 /* count */
            iconst_1
            isub
            iload 7 /* invertedSelection */
            iload 3 /* numColumns */
            idiv
            iload 3 /* numColumns */
            imul
            isub
            istore 6 /* endOfRow */
        start local 6 // int endOfRow
         9: .line 1900
            iconst_0
            iload 6 /* endOfRow */
            iload 3 /* numColumns */
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* startOfRow */
        end local 7 // int invertedSelection
        start local 5 // int startOfRow
        10: .line 1903
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 7 /* moved */
        start local 7 // boolean moved
        11: .line 1904
            iconst_0
            istore 8 /* showScroll */
        start local 8 // boolean showScroll
        12: .line 1905
            iload 1 /* direction */
            tableswitch { // 1 - 2
                    1: 21
                    2: 13
              default: 28
          }
        13: .line 1907
      StackMap locals: int int
      StackMap stack:
            iload 2 /* selectedPosition */
            iload 4 /* count */
            iconst_1
            isub
            if_icmpge 28
        14: .line 1909
            aload 0 /* this */
            bipush 6
            putfield android.widget.GridView.mLayoutMode:I
        15: .line 1910
            aload 0 /* this */
            iload 2 /* selectedPosition */
            iconst_1
            iadd
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        16: .line 1911
            iconst_1
            istore 7 /* moved */
        17: .line 1913
            iload 2 /* selectedPosition */
            iload 6 /* endOfRow */
            if_icmpne 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 8 /* showScroll */
        20: .line 1915
            goto 28
        21: .line 1918
      StackMap locals:
      StackMap stack:
            iload 2 /* selectedPosition */
            ifle 28
        22: .line 1920
            aload 0 /* this */
            bipush 6
            putfield android.widget.GridView.mLayoutMode:I
        23: .line 1921
            aload 0 /* this */
            iload 2 /* selectedPosition */
            iconst_1
            isub
            invokevirtual android.widget.GridView.setSelectionInt:(I)V
        24: .line 1922
            iconst_1
            istore 7 /* moved */
        25: .line 1924
            iload 2 /* selectedPosition */
            iload 5 /* startOfRow */
            if_icmpne 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 8 /* showScroll */
        28: .line 1929
      StackMap locals:
      StackMap stack:
            iload 7 /* moved */
            ifeq 31
        29: .line 1930
            aload 0 /* this */
            iload 1 /* direction */
            invokestatic android.view.SoundEffectConstants.getContantForFocusDirection:(I)I
            invokevirtual android.widget.GridView.playSoundEffect:(I)V
        30: .line 1931
            aload 0 /* this */
            invokevirtual android.widget.GridView.invokeOnItemScrollListener:()V
        31: .line 1934
      StackMap locals:
      StackMap stack:
            iload 8 /* showScroll */
            ifeq 33
        32: .line 1935
            aload 0 /* this */
            invokevirtual android.widget.GridView.awakenScrollBars:()Z
            pop
        33: .line 1938
      StackMap locals:
      StackMap stack:
            iload 7 /* moved */
            ireturn
        end local 8 // boolean showScroll
        end local 7 // boolean moved
        end local 6 // int endOfRow
        end local 5 // int startOfRow
        end local 4 // int count
        end local 3 // int numColumns
        end local 2 // int selectedPosition
        end local 1 // int direction
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   34     0               this  Landroid/widget/GridView;
            0   34     1          direction  I
            1   34     2   selectedPosition  I
            2   34     3         numColumns  I
            3   34     4              count  I
            5    7     5         startOfRow  I
           10   34     5         startOfRow  I
            6    7     6           endOfRow  I
            9   34     6           endOfRow  I
            8   10     7  invertedSelection  I
           11   34     7              moved  Z
           12   34     8         showScroll  Z
    MethodParameters:
           Name  Flags
      direction  

  protected void onFocusChanged(boolean, int, android.graphics.Rect);
    descriptor: (ZILandroid/graphics/Rect;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // boolean gainFocus
        start local 2 // int direction
        start local 3 // android.graphics.Rect previouslyFocusedRect
         0: .line 1943
            aload 0 /* this */
            iload 1 /* gainFocus */
            iload 2 /* direction */
            aload 3 /* previouslyFocusedRect */
            invokespecial android.widget.AbsListView.onFocusChanged:(ZILandroid/graphics/Rect;)V
         1: .line 1945
            iconst_m1
            istore 4 /* closestChildIndex */
        start local 4 // int closestChildIndex
         2: .line 1946
            iload 1 /* gainFocus */
            ifeq 20
            aload 3 /* previouslyFocusedRect */
            ifnull 20
         3: .line 1947
            aload 3 /* previouslyFocusedRect */
            aload 0 /* this */
            getfield android.widget.GridView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.GridView.mScrollY:I
            invokevirtual android.graphics.Rect.offset:(II)V
         4: .line 1951
            aload 0 /* this */
            getfield android.widget.GridView.mTempRect:Landroid/graphics/Rect;
            astore 5 /* otherRect */
        start local 5 // android.graphics.Rect otherRect
         5: .line 1952
            ldc 2147483647
            istore 6 /* minDistance */
        start local 6 // int minDistance
         6: .line 1953
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 7 /* childCount */
        start local 7 // int childCount
         7: .line 1954
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 19
         9: .line 1956
      StackMap locals: android.widget.GridView int int android.graphics.Rect int android.graphics.Rect int int int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* i */
            iload 2 /* direction */
            invokevirtual android.widget.GridView.isCandidateSelection:(II)Z
            ifne 11
        10: .line 1957
            goto 18
        11: .line 1960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* i */
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 9 /* other */
        start local 9 // android.view.View other
        12: .line 1961
            aload 9 /* other */
            aload 5 /* otherRect */
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
        13: .line 1962
            aload 0 /* this */
            aload 9 /* other */
            aload 5 /* otherRect */
            invokevirtual android.widget.GridView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
        14: .line 1963
            aload 3 /* previouslyFocusedRect */
            aload 5 /* otherRect */
            iload 2 /* direction */
            invokestatic android.widget.GridView.getDistance:(Landroid/graphics/Rect;Landroid/graphics/Rect;I)I
            istore 10 /* distance */
        start local 10 // int distance
        15: .line 1965
            iload 10 /* distance */
            iload 6 /* minDistance */
            if_icmpge 18
        16: .line 1966
            iload 10 /* distance */
            istore 6 /* minDistance */
        17: .line 1967
            iload 8 /* i */
            istore 4 /* closestChildIndex */
        end local 10 // int distance
        end local 9 // android.view.View other
        18: .line 1954
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            iload 7 /* childCount */
            if_icmplt 9
        end local 8 // int i
        end local 7 // int childCount
        end local 6 // int minDistance
        end local 5 // android.graphics.Rect otherRect
        20: .line 1972
      StackMap locals: android.widget.GridView int int android.graphics.Rect int
      StackMap stack:
            iload 4 /* closestChildIndex */
            iflt 23
        21: .line 1973
            aload 0 /* this */
            iload 4 /* closestChildIndex */
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iadd
            invokevirtual android.widget.GridView.setSelection:(I)V
        22: .line 1974
            goto 24
        23: .line 1975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayout:()V
        24: .line 1977
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int closestChildIndex
        end local 3 // android.graphics.Rect previouslyFocusedRect
        end local 2 // int direction
        end local 1 // boolean gainFocus
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   25     0                   this  Landroid/widget/GridView;
            0   25     1              gainFocus  Z
            0   25     2              direction  I
            0   25     3  previouslyFocusedRect  Landroid/graphics/Rect;
            2   25     4      closestChildIndex  I
            5   20     5              otherRect  Landroid/graphics/Rect;
            6   20     6            minDistance  I
            7   20     7             childCount  I
            8   20     8                      i  I
           12   18     9                  other  Landroid/view/View;
           15   18    10               distance  I
    MethodParameters:
                       Name  Flags
      gainFocus              
      direction              
      previouslyFocusedRect  

  private boolean isCandidateSelection(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // android.widget.GridView this
        start local 1 // int childIndex
        start local 2 // int direction
         0: .line 1988
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 3 /* count */
        start local 3 // int count
         1: .line 1989
            iload 3 /* count */
            iconst_1
            isub
            iload 1 /* childIndex */
            isub
            istore 4 /* invertedIndex */
        start local 4 // int invertedIndex
         2: .line 1994
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 6
         3: .line 1995
            iload 1 /* childIndex */
            iload 1 /* childIndex */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            irem
            isub
            istore 5 /* rowStart */
        start local 5 // int rowStart
         4: .line 1996
            iload 5 /* rowStart */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            iadd
            iconst_1
            isub
            iload 3 /* count */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* rowEnd */
        start local 6 // int rowEnd
         5: .line 1997
            goto 8
        end local 6 // int rowEnd
        end local 5 // int rowStart
         6: .line 1998
      StackMap locals: int int
      StackMap stack:
            iload 3 /* count */
            iconst_1
            isub
            iload 4 /* invertedIndex */
            iload 4 /* invertedIndex */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            irem
            isub
            isub
            istore 6 /* rowEnd */
        start local 6 // int rowEnd
         7: .line 1999
            iconst_0
            iload 6 /* rowEnd */
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            isub
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* rowStart */
        start local 5 // int rowStart
         8: .line 2002
      StackMap locals: int int
      StackMap stack:
            iload 2 /* direction */
            lookupswitch { // 6
                    1: 19
                    2: 17
                   17: 13
                   33: 15
                   66: 9
                  130: 11
              default: 21
          }
         9: .line 2006
      StackMap locals:
      StackMap stack:
            iload 1 /* childIndex */
            iload 5 /* rowStart */
            if_icmpne 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 2009
      StackMap locals:
      StackMap stack:
            iload 5 /* rowStart */
            ifne 12
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        13: .line 2012
      StackMap locals:
      StackMap stack:
            iload 1 /* childIndex */
            iload 6 /* rowEnd */
            if_icmpne 14
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
        15: .line 2015
      StackMap locals:
      StackMap stack:
            iload 6 /* rowEnd */
            iload 3 /* count */
            iconst_1
            isub
            if_icmpne 16
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        17: .line 2018
      StackMap locals:
      StackMap stack:
            iload 1 /* childIndex */
            iload 5 /* rowStart */
            if_icmpne 18
            iload 5 /* rowStart */
            ifne 18
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        18: iconst_0
            ireturn
        19: .line 2021
      StackMap locals:
      StackMap stack:
            iload 1 /* childIndex */
            iload 6 /* rowEnd */
            if_icmpne 20
            iload 6 /* rowEnd */
            iload 3 /* count */
            iconst_1
            isub
            if_icmpne 20
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        20: iconst_0
            ireturn
        21: .line 2023
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "direction must be one of {FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_FORWARD, FOCUS_BACKWARD}."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // int rowEnd
        end local 5 // int rowStart
        end local 4 // int invertedIndex
        end local 3 // int count
        end local 2 // int direction
        end local 1 // int childIndex
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Landroid/widget/GridView;
            0   22     1     childIndex  I
            0   22     2      direction  I
            1   22     3          count  I
            2   22     4  invertedIndex  I
            4    6     5       rowStart  I
            8   22     5       rowStart  I
            5    6     6         rowEnd  I
            7   22     6         rowEnd  I
    MethodParameters:
            Name  Flags
      childIndex  
      direction   

  public void setGravity(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int gravity
         0: .line 2038
            aload 0 /* this */
            getfield android.widget.GridView.mGravity:I
            iload 1 /* gravity */
            if_icmpeq 3
         1: .line 2039
            aload 0 /* this */
            iload 1 /* gravity */
            putfield android.widget.GridView.mGravity:I
         2: .line 2040
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayoutIfNecessary:()V
         3: .line 2042
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int gravity
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/widget/GridView;
            0    4     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 // android.widget.GridView this
         0: .line 2052
            aload 0 /* this */
            getfield android.widget.GridView.mGravity:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void setHorizontalSpacing(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int horizontalSpacing
         0: .line 2065
            iload 1 /* horizontalSpacing */
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedHorizontalSpacing:I
            if_icmpeq 3
         1: .line 2066
            aload 0 /* this */
            iload 1 /* horizontalSpacing */
            putfield android.widget.GridView.mRequestedHorizontalSpacing:I
         2: .line 2067
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayoutIfNecessary:()V
         3: .line 2069
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int horizontalSpacing
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Landroid/widget/GridView;
            0    4     1  horizontalSpacing  I
    MethodParameters:
                   Name  Flags
      horizontalSpacing  

  public int getHorizontalSpacing();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2087
            aload 0 /* this */
            getfield android.widget.GridView.mHorizontalSpacing:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public int getRequestedHorizontalSpacing();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2107
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedHorizontalSpacing:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void setVerticalSpacing(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int verticalSpacing
         0: .line 2122
            iload 1 /* verticalSpacing */
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            if_icmpeq 3
         1: .line 2123
            aload 0 /* this */
            iload 1 /* verticalSpacing */
            putfield android.widget.GridView.mVerticalSpacing:I
         2: .line 2124
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayoutIfNecessary:()V
         3: .line 2126
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int verticalSpacing
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Landroid/widget/GridView;
            0    4     1  verticalSpacing  I
    MethodParameters:
                 Name  Flags
      verticalSpacing  

  public int getVerticalSpacing();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2138
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void setStretchMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int stretchMode
         0: .line 2150
            iload 1 /* stretchMode */
            aload 0 /* this */
            getfield android.widget.GridView.mStretchMode:I
            if_icmpeq 3
         1: .line 2151
            aload 0 /* this */
            iload 1 /* stretchMode */
            putfield android.widget.GridView.mStretchMode:I
         2: .line 2152
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayoutIfNecessary:()V
         3: .line 2154
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int stretchMode
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/widget/GridView;
            0    4     1  stretchMode  I
    MethodParameters:
             Name  Flags
      stretchMode  

  public int getStretchMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2158
            aload 0 /* this */
            getfield android.widget.GridView.mStretchMode:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void setColumnWidth(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int columnWidth
         0: .line 2169
            iload 1 /* columnWidth */
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedColumnWidth:I
            if_icmpeq 3
         1: .line 2170
            aload 0 /* this */
            iload 1 /* columnWidth */
            putfield android.widget.GridView.mRequestedColumnWidth:I
         2: .line 2171
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayoutIfNecessary:()V
         3: .line 2173
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int columnWidth
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/widget/GridView;
            0    4     1  columnWidth  I
    MethodParameters:
             Name  Flags
      columnWidth  

  public int getColumnWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2188
            aload 0 /* this */
            getfield android.widget.GridView.mColumnWidth:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public int getRequestedColumnWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2205
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedColumnWidth:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void setNumColumns(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // int numColumns
         0: .line 2216
            iload 1 /* numColumns */
            aload 0 /* this */
            getfield android.widget.GridView.mRequestedNumColumns:I
            if_icmpeq 3
         1: .line 2217
            aload 0 /* this */
            iload 1 /* numColumns */
            putfield android.widget.GridView.mRequestedNumColumns:I
         2: .line 2218
            aload 0 /* this */
            invokevirtual android.widget.GridView.requestLayoutIfNecessary:()V
         3: .line 2220
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int numColumns
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/widget/GridView;
            0    4     1  numColumns  I
    MethodParameters:
            Name  Flags
      numColumns  

  public int getNumColumns();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2232
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;
    RuntimeVisibleAnnotations: 
      android.view.ViewDebug$ExportedProperty()

  private void adjustViewsUpOrDown();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2240
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 1 /* childCount */
        start local 1 // int childCount
         1: .line 2242
            iload 1 /* childCount */
            ifle 18
         2: .line 2246
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 10
         3: .line 2249
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 3 /* child */
        start local 3 // android.view.View child
         4: .line 2250
            aload 3 /* child */
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            isub
            istore 2 /* delta */
        start local 2 // int delta
         5: .line 2251
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            ifeq 7
         6: .line 2254
            iload 2 /* delta */
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            isub
            istore 2 /* delta */
         7: .line 2256
      StackMap locals: int int android.view.View
      StackMap stack:
            iload 2 /* delta */
            ifge 16
         8: .line 2258
            iconst_0
            istore 2 /* delta */
         9: .line 2260
            goto 16
        end local 3 // android.view.View child
        end local 2 // int delta
        10: .line 2262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 3 /* child */
        start local 3 // android.view.View child
        11: .line 2263
            aload 3 /* child */
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            invokevirtual android.widget.GridView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.GridView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            isub
            istore 2 /* delta */
        start local 2 // int delta
        12: .line 2265
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 1 /* childCount */
            iadd
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            if_icmpge 14
        13: .line 2268
            iload 2 /* delta */
            aload 0 /* this */
            getfield android.widget.GridView.mVerticalSpacing:I
            iadd
            istore 2 /* delta */
        14: .line 2271
      StackMap locals: int android.view.View
      StackMap stack:
            iload 2 /* delta */
            ifle 16
        15: .line 2273
            iconst_0
            istore 2 /* delta */
        16: .line 2277
      StackMap locals:
      StackMap stack:
            iload 2 /* delta */
            ifeq 18
        17: .line 2278
            aload 0 /* this */
            iload 2 /* delta */
            ineg
            invokevirtual android.widget.GridView.offsetChildrenTopAndBottom:(I)V
        end local 3 // android.view.View child
        end local 2 // int delta
        18: .line 2281
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int childCount
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Landroid/widget/GridView;
            1   19     1  childCount  I
            5   10     2       delta  I
           12   18     2       delta  I
            4   10     3       child  Landroid/view/View;
           11   18     3       child  Landroid/view/View;

  protected int computeVerticalScrollExtent();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2285
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 2286
            iload 1 /* count */
            ifle 16
         2: .line 2287
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 2 /* numColumns */
        start local 2 // int numColumns
         3: .line 2288
            iload 1 /* count */
            iload 2 /* numColumns */
            iadd
            iconst_1
            isub
            iload 2 /* numColumns */
            idiv
            istore 3 /* rowCount */
        start local 3 // int rowCount
         4: .line 2290
            iload 3 /* rowCount */
            bipush 100
            imul
            istore 4 /* extent */
        start local 4 // int extent
         5: .line 2292
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 5 /* view */
        start local 5 // android.view.View view
         6: .line 2293
            aload 5 /* view */
            invokevirtual android.view.View.getTop:()I
            istore 6 /* top */
        start local 6 // int top
         7: .line 2294
            aload 5 /* view */
            invokevirtual android.view.View.getHeight:()I
            istore 7 /* height */
        start local 7 // int height
         8: .line 2295
            iload 7 /* height */
            ifle 10
         9: .line 2296
            iload 4 /* extent */
            iload 6 /* top */
            bipush 100
            imul
            iload 7 /* height */
            idiv
            iadd
            istore 4 /* extent */
        10: .line 2299
      StackMap locals: android.widget.GridView int int int int android.view.View int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* count */
            iconst_1
            isub
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 5 /* view */
        11: .line 2300
            aload 5 /* view */
            invokevirtual android.view.View.getBottom:()I
            istore 8 /* bottom */
        start local 8 // int bottom
        12: .line 2301
            aload 5 /* view */
            invokevirtual android.view.View.getHeight:()I
            istore 7 /* height */
        13: .line 2302
            iload 7 /* height */
            ifle 15
        14: .line 2303
            iload 4 /* extent */
            iload 8 /* bottom */
            aload 0 /* this */
            invokevirtual android.widget.GridView.getHeight:()I
            isub
            bipush 100
            imul
            iload 7 /* height */
            idiv
            isub
            istore 4 /* extent */
        15: .line 2306
      StackMap locals: int
      StackMap stack:
            iload 4 /* extent */
            ireturn
        end local 8 // int bottom
        end local 7 // int height
        end local 6 // int top
        end local 5 // android.view.View view
        end local 4 // int extent
        end local 3 // int rowCount
        end local 2 // int numColumns
        16: .line 2308
      StackMap locals: android.widget.GridView int
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int count
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Landroid/widget/GridView;
            1   17     1       count  I
            3   16     2  numColumns  I
            4   16     3    rowCount  I
            5   16     4      extent  I
            6   16     5        view  Landroid/view/View;
            7   16     6         top  I
            8   16     7      height  I
           12   16     8      bottom  I

  protected int computeVerticalScrollOffset();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2313
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iflt 17
            aload 0 /* this */
            invokevirtual android.widget.GridView.getChildCount:()I
            ifle 17
         1: .line 2314
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.GridView.getChildAt:(I)Landroid/view/View;
            astore 1 /* view */
        start local 1 // android.view.View view
         2: .line 2315
            aload 1 /* view */
            invokevirtual android.view.View.getTop:()I
            istore 2 /* top */
        start local 2 // int top
         3: .line 2316
            aload 1 /* view */
            invokevirtual android.view.View.getHeight:()I
            istore 3 /* height */
        start local 3 // int height
         4: .line 2317
            iload 3 /* height */
            ifle 17
         5: .line 2318
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 4 /* numColumns */
        start local 4 // int numColumns
         6: .line 2319
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iload 4 /* numColumns */
            iadd
            iconst_1
            isub
            iload 4 /* numColumns */
            idiv
            istore 5 /* rowCount */
        start local 5 // int rowCount
         7: .line 2323
            aload 0 /* this */
            invokevirtual android.widget.GridView.isStackFromBottom:()Z
            ifeq 9
            iload 5 /* rowCount */
            iload 4 /* numColumns */
            imul
         8: .line 2324
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            isub
            goto 10
      StackMap locals: android.widget.GridView android.view.View int int int int
      StackMap stack:
         9: iconst_0
        10: .line 2323
      StackMap locals:
      StackMap stack: int
            istore 6 /* oddItemsOnFirstRow */
        start local 6 // int oddItemsOnFirstRow
        11: .line 2325
            aload 0 /* this */
            getfield android.widget.GridView.mFirstPosition:I
            iload 6 /* oddItemsOnFirstRow */
            iadd
            iload 4 /* numColumns */
            idiv
            istore 7 /* whichRow */
        start local 7 // int whichRow
        12: .line 2326
            iload 7 /* whichRow */
            bipush 100
            imul
            iload 2 /* top */
            bipush 100
            imul
            iload 3 /* height */
            idiv
            isub
        13: .line 2327
            aload 0 /* this */
            getfield android.widget.GridView.mScrollY:I
            i2f
            aload 0 /* this */
            invokevirtual android.widget.GridView.getHeight:()I
            i2f
            fdiv
            iload 5 /* rowCount */
            i2f
            fmul
            ldc 100.0
            fmul
            f2i
        14: .line 2326
            iadd
        15: .line 2327
            iconst_0
        16: .line 2326
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 7 // int whichRow
        end local 6 // int oddItemsOnFirstRow
        end local 5 // int rowCount
        end local 4 // int numColumns
        end local 3 // int height
        end local 2 // int top
        end local 1 // android.view.View view
        17: .line 2330
      StackMap locals: android.widget.GridView
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Landroid/widget/GridView;
            2   17     1                view  Landroid/view/View;
            3   17     2                 top  I
            4   17     3              height  I
            6   17     4          numColumns  I
            7   17     5            rowCount  I
           11   17     6  oddItemsOnFirstRow  I
           12   17     7            whichRow  I

  protected int computeVerticalScrollRange();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2336
            aload 0 /* this */
            getfield android.widget.GridView.mNumColumns:I
            istore 1 /* numColumns */
        start local 1 // int numColumns
         1: .line 2337
            aload 0 /* this */
            getfield android.widget.GridView.mItemCount:I
            iload 1 /* numColumns */
            iadd
            iconst_1
            isub
            iload 1 /* numColumns */
            idiv
            istore 2 /* rowCount */
        start local 2 // int rowCount
         2: .line 2338
            iload 2 /* rowCount */
            bipush 100
            imul
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 3 /* result */
        start local 3 // int result
         3: .line 2339
            aload 0 /* this */
            getfield android.widget.GridView.mScrollY:I
            ifeq 5
         4: .line 2341
            iload 3 /* result */
            aload 0 /* this */
            getfield android.widget.GridView.mScrollY:I
            i2f
            aload 0 /* this */
            invokevirtual android.widget.GridView.getHeight:()I
            i2f
            fdiv
            iload 2 /* rowCount */
            i2f
            fmul
            ldc 100.0
            fmul
            f2i
            invokestatic java.lang.Math.abs:(I)I
            iadd
            istore 3 /* result */
         5: .line 2343
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // int result
        end local 2 // int rowCount
        end local 1 // int numColumns
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/widget/GridView;
            1    6     1  numColumns  I
            2    6     2    rowCount  I
            3    6     3      result  I

  public java.lang.CharSequence getAccessibilityClassName();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.GridView this
         0: .line 2348
            ldc Landroid/widget/GridView;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;

  public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
    descriptor: (Landroid/view/accessibility/AccessibilityNodeInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // android.view.accessibility.AccessibilityNodeInfo info
         0: .line 2354
            aload 0 /* this */
            aload 1 /* info */
            invokespecial android.widget.AbsListView.onInitializeAccessibilityNodeInfoInternal:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
         1: .line 2356
            aload 0 /* this */
            invokevirtual android.widget.GridView.getNumColumns:()I
            istore 2 /* columnsCount */
        start local 2 // int columnsCount
         2: .line 2357
            aload 0 /* this */
            invokevirtual android.widget.GridView.getCount:()I
            iload 2 /* columnsCount */
            idiv
            istore 3 /* rowsCount */
        start local 3 // int rowsCount
         3: .line 2358
            aload 0 /* this */
            invokevirtual android.widget.GridView.getSelectionModeForAccessibility:()I
            istore 4 /* selectionMode */
        start local 4 // int selectionMode
         4: .line 2360
            iload 3 /* rowsCount */
            iload 2 /* columnsCount */
            iconst_0
            iload 4 /* selectionMode */
         5: .line 2359
            invokestatic android.view.accessibility.AccessibilityNodeInfo$CollectionInfo.obtain:(IIZI)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
            astore 5 /* collectionInfo */
        start local 5 // android.view.accessibility.AccessibilityNodeInfo$CollectionInfo collectionInfo
         6: .line 2361
            aload 1 /* info */
            aload 5 /* collectionInfo */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setCollectionInfo:(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;)V
         7: .line 2363
            iload 2 /* columnsCount */
            ifgt 8
            iload 3 /* rowsCount */
            ifle 9
         8: .line 2364
      StackMap locals: android.widget.GridView android.view.accessibility.AccessibilityNodeInfo int int int android.view.accessibility.AccessibilityNodeInfo$CollectionInfo
      StackMap stack:
            aload 1 /* info */
            getstatic android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_TO_POSITION:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
         9: .line 2366
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.view.accessibility.AccessibilityNodeInfo$CollectionInfo collectionInfo
        end local 4 // int selectionMode
        end local 3 // int rowsCount
        end local 2 // int columnsCount
        end local 1 // android.view.accessibility.AccessibilityNodeInfo info
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Landroid/widget/GridView;
            0   10     1            info  Landroid/view/accessibility/AccessibilityNodeInfo;
            2   10     2    columnsCount  I
            3   10     3       rowsCount  I
            4   10     4   selectionMode  I
            6   10     5  collectionInfo  Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
    MethodParameters:
      Name  Flags
      info  

  public boolean performAccessibilityActionInternal(int, android.os.Bundle);
    descriptor: (ILandroid/os/Bundle;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.GridView this
         0: .line 2376
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/GridView;
    MethodParameters:
           Name  Flags
      action     
      arguments  

  public void onInitializeAccessibilityNodeInfoForItem(android.view.View, int, android.view.accessibility.AccessibilityNodeInfo);
    descriptor: (Landroid/view/View;ILandroid/view/accessibility/AccessibilityNodeInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // android.widget.GridView this
        start local 1 // android.view.View view
        start local 2 // int position
        start local 3 // android.view.accessibility.AccessibilityNodeInfo info
         0: .line 2397
            aload 0 /* this */
            aload 1 /* view */
            iload 2 /* position */
            aload 3 /* info */
            invokespecial android.widget.AbsListView.onInitializeAccessibilityNodeInfoForItem:(Landroid/view/View;ILandroid/view/accessibility/AccessibilityNodeInfo;)V
         1: .line 2399
            aload 0 /* this */
            invokevirtual android.widget.GridView.getCount:()I
            istore 4 /* count */
        start local 4 // int count
         2: .line 2400
            aload 0 /* this */
            invokevirtual android.widget.GridView.getNumColumns:()I
            istore 5 /* columnsCount */
        start local 5 // int columnsCount
         3: .line 2401
            iload 4 /* count */
            iload 5 /* columnsCount */
            idiv
            istore 6 /* rowsCount */
        start local 6 // int rowsCount
         4: .line 2405
            aload 0 /* this */
            getfield android.widget.GridView.mStackFromBottom:Z
            ifne 8
         5: .line 2406
            iload 2 /* position */
            iload 5 /* columnsCount */
            irem
            istore 8 /* column */
        start local 8 // int column
         6: .line 2407
            iload 2 /* position */
            iload 5 /* columnsCount */
            idiv
            istore 7 /* row */
        start local 7 // int row
         7: .line 2408
            goto 11
        end local 8 // int column
        end local 7 // int row
         8: .line 2409
      StackMap locals: int int int
      StackMap stack:
            iload 4 /* count */
            iconst_1
            isub
            iload 2 /* position */
            isub
            istore 9 /* invertedIndex */
        start local 9 // int invertedIndex
         9: .line 2411
            iload 5 /* columnsCount */
            iconst_1
            isub
            iload 9 /* invertedIndex */
            iload 5 /* columnsCount */
            irem
            isub
            istore 8 /* column */
        start local 8 // int column
        10: .line 2412
            iload 6 /* rowsCount */
            iconst_1
            isub
            iload 9 /* invertedIndex */
            iload 5 /* columnsCount */
            idiv
            isub
            istore 7 /* row */
        end local 9 // int invertedIndex
        start local 7 // int row
        11: .line 2415
      StackMap locals: int int
      StackMap stack:
            aload 1 /* view */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 9 /* lp */
        start local 9 // android.widget.AbsListView$LayoutParams lp
        12: .line 2416
            aload 9 /* lp */
            ifnull 13
            aload 9 /* lp */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            bipush -2
            if_icmpne 13
            iconst_1
            goto 14
      StackMap locals: android.widget.AbsListView$LayoutParams
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 10 /* isHeading */
        start local 10 // boolean isHeading
        15: .line 2417
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual android.widget.GridView.isItemChecked:(I)Z
            istore 11 /* isSelected */
        start local 11 // boolean isSelected
        16: .line 2419
            iload 7 /* row */
            iconst_1
            iload 8 /* column */
            iconst_1
            iload 10 /* isHeading */
            iload 11 /* isSelected */
        17: .line 2418
            invokestatic android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo.obtain:(IIIIZZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;
            astore 12 /* itemInfo */
        start local 12 // android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo itemInfo
        18: .line 2420
            aload 3 /* info */
            aload 12 /* itemInfo */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setCollectionItemInfo:(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;)V
        19: .line 2421
            return
        end local 12 // android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo itemInfo
        end local 11 // boolean isSelected
        end local 10 // boolean isHeading
        end local 9 // android.widget.AbsListView$LayoutParams lp
        end local 8 // int column
        end local 7 // int row
        end local 6 // int rowsCount
        end local 5 // int columnsCount
        end local 4 // int count
        end local 3 // android.view.accessibility.AccessibilityNodeInfo info
        end local 2 // int position
        end local 1 // android.view.View view
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Landroid/widget/GridView;
            0   20     1           view  Landroid/view/View;
            0   20     2       position  I
            0   20     3           info  Landroid/view/accessibility/AccessibilityNodeInfo;
            2   20     4          count  I
            3   20     5   columnsCount  I
            4   20     6      rowsCount  I
            7    8     7            row  I
           11   20     7            row  I
            6    8     8         column  I
           10   20     8         column  I
            9   11     9  invertedIndex  I
           12   20     9             lp  Landroid/widget/AbsListView$LayoutParams;
           15   20    10      isHeading  Z
           16   20    11     isSelected  Z
           18   20    12       itemInfo  Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;
    MethodParameters:
          Name  Flags
      view      
      position  
      info      

  protected void encodeProperties(android.view.ViewHierarchyEncoder);
    descriptor: (Landroid/view/ViewHierarchyEncoder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.GridView this
        start local 1 // android.view.ViewHierarchyEncoder encoder
         0: .line 2426
            aload 0 /* this */
            aload 1 /* encoder */
            invokespecial android.widget.AbsListView.encodeProperties:(Landroid/view/ViewHierarchyEncoder;)V
         1: .line 2427
            aload 1 /* encoder */
            ldc "numColumns"
            aload 0 /* this */
            invokevirtual android.widget.GridView.getNumColumns:()I
            invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
         2: .line 2428
            return
        end local 1 // android.view.ViewHierarchyEncoder encoder
        end local 0 // android.widget.GridView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/widget/GridView;
            0    3     1  encoder  Landroid/view/ViewHierarchyEncoder;
    MethodParameters:
         Name  Flags
      encoder  

  public android.widget.Adapter getAdapter();
    descriptor: ()Landroid/widget/Adapter;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual android.widget.GridView.getAdapter:()Landroid/widget/ListAdapter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "GridView.java"
NestMembers:
  android.widget.GridView$StretchMode
InnerClasses:
  public MeasureSpec = android.view.View$MeasureSpec of android.view.View
  public abstract ExportedProperty = android.view.ViewDebug$ExportedProperty of android.view.ViewDebug
  public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
  public final AccessibilityAction = android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction of android.view.accessibility.AccessibilityNodeInfo
  public final CollectionInfo = android.view.accessibility.AccessibilityNodeInfo$CollectionInfo of android.view.accessibility.AccessibilityNodeInfo
  public final CollectionItemInfo = android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo of android.view.accessibility.AccessibilityNodeInfo
  public AnimationParameters = android.view.animation.GridLayoutAnimationController$AnimationParameters of android.view.animation.GridLayoutAnimationController
  abstract AbsPositionScroller = android.widget.AbsListView$AbsPositionScroller of android.widget.AbsListView
  AdapterDataSetObserver = android.widget.AbsListView$AdapterDataSetObserver of android.widget.AbsListView
  public LayoutParams = android.widget.AbsListView$LayoutParams of android.widget.AbsListView
  RecycleBin = android.widget.AbsListView$RecycleBin of android.widget.AbsListView
  public abstract StretchMode = android.widget.GridView$StretchMode of android.widget.GridView
  public abstract RemoteView = android.widget.RemoteViews$RemoteView of android.widget.RemoteViews
    RuntimeVisibleAnnotations: 
      android.widget.RemoteViews$RemoteView()