public class android.widget.ListView extends android.widget.AbsListView
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.ListView
  super_class: android.widget.AbsListView
{
  static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "ListView"

  static final int NO_POSITION;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final float MAX_SCROLL_FACTOR;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.33

  private static final int MIN_SCROLL_PREVIEW_PIXELS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  java.util.ArrayList<android.widget.ListView$FixedViewInfo> mHeaderViewInfos;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;

  java.util.ArrayList<android.widget.ListView$FixedViewInfo> mFooterViewInfos;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;

  android.graphics.drawable.Drawable mDivider;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0000) 

  int mDividerHeight;
    descriptor: I
    flags: (0x0000) 

  android.graphics.drawable.Drawable mOverScrollHeader;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0000) 

  android.graphics.drawable.Drawable mOverScrollFooter;
    descriptor: Landroid/graphics/drawable/Drawable;
    flags: (0x0000) 

  private boolean mIsCacheColorOpaque;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mDividerIsOpaque;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mHeaderDividersEnabled;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mFooterDividersEnabled;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mAreAllItemsSelectable;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mItemsCanFocus;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private android.graphics.Paint mDividerPaint;
    descriptor: Landroid/graphics/Paint;
    flags: (0x0002) ACC_PRIVATE

  private final android.widget.ListView$ArrowScrollFocusResult mArrowScrollFocusResult;
    descriptor: Landroid/widget/ListView$ArrowScrollFocusResult;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.widget.ListView$FocusSelector mFocusSelector;
    descriptor: Landroid/widget/ListView$FocusSelector;
    flags: (0x0002) ACC_PRIVATE

  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.ListView this
        start local 1 // android.content.Context context
         0: .line 215
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial android.widget.ListView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
         1: .line 216
            return
        end local 1 // android.content.Context context
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/widget/ListView;
            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.ListView this
         0: .line 52
            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\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.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;
    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.ListView this
        start local 1 // android.content.Context context
        start local 2 // android.util.AttributeSet attrs
        start local 3 // int defStyleAttr
         0: .line 223
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* attrs */
            iload 3 /* defStyleAttr */
            iconst_0
            invokespecial android.widget.ListView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
         1: .line 224
            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.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Landroid/widget/ListView;
            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.ListView this
         0: .line 52
            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\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.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  
      defStyleRes   

  public int getMaxScrollAmount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 274
            ldc 0.33
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            i2f
            fmul
            f2i
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  private void adjustViewsUpOrDown();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 282
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 1 /* childCount */
        start local 1 // int childCount
         1: .line 285
            iload 1 /* childCount */
            ifle 18
         2: .line 288
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 10
         3: .line 291
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 3 /* child */
        start local 3 // android.view.View child
         4: .line 292
            aload 3 /* child */
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            isub
            istore 2 /* delta */
        start local 2 // int delta
         5: .line 293
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifeq 7
         6: .line 296
            iload 2 /* delta */
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            isub
            istore 2 /* delta */
         7: .line 298
      StackMap locals: int int android.view.View
      StackMap stack:
            iload 2 /* delta */
            ifge 16
         8: .line 300
            iconst_0
            istore 2 /* delta */
         9: .line 302
            goto 16
        end local 3 // android.view.View child
        end local 2 // int delta
        10: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 3 /* child */
        start local 3 // android.view.View child
        11: .line 305
            aload 3 /* child */
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            isub
            istore 2 /* delta */
        start local 2 // int delta
        12: .line 307
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 1 /* childCount */
            iadd
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            if_icmpge 14
        13: .line 310
            iload 2 /* delta */
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            iadd
            istore 2 /* delta */
        14: .line 313
      StackMap locals: int android.view.View
      StackMap stack:
            iload 2 /* delta */
            ifle 16
        15: .line 314
            iconst_0
            istore 2 /* delta */
        16: .line 318
      StackMap locals:
      StackMap stack:
            iload 2 /* delta */
            ifeq 18
        17: .line 319
            aload 0 /* this */
            iload 2 /* delta */
            ineg
            invokevirtual android.widget.ListView.offsetChildrenTopAndBottom:(I)V
        end local 3 // android.view.View child
        end local 2 // int delta
        18: .line 322
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int childCount
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Landroid/widget/ListView;
            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;

  public void addHeaderView(android.view.View, java.lang.Object, boolean);
    descriptor: (Landroid/view/View;Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
        start local 2 // java.lang.Object data
        start local 3 // boolean isSelectable
         0: .line 341
            aload 1 /* v */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            ifnull 3
            aload 1 /* v */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            aload 0 /* this */
            if_acmpeq 3
         1: .line 342
            ldc "ListView"
            iconst_5
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 3
         2: .line 343
            ldc "ListView"
            ldc "The specified child already has a parent. You must call removeView() on the child's parent first."
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 347
      StackMap locals:
      StackMap stack:
            new android.widget.ListView$FixedViewInfo
            dup
            aload 0 /* this */
            invokespecial android.widget.ListView$FixedViewInfo.<init>:(Landroid/widget/ListView;)V
            astore 4 /* info */
        start local 4 // android.widget.ListView$FixedViewInfo info
         4: .line 348
            aload 4 /* info */
            aload 1 /* v */
            putfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
         5: .line 349
            aload 4 /* info */
            aload 2 /* data */
            putfield android.widget.ListView$FixedViewInfo.data:Ljava/lang/Object;
         6: .line 350
            aload 4 /* info */
            iload 3 /* isSelectable */
            putfield android.widget.ListView$FixedViewInfo.isSelectable:Z
         7: .line 351
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            aload 4 /* info */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 352
            aload 0 /* this */
            dup
            getfield android.widget.ListView.mAreAllItemsSelectable:Z
            iload 3 /* isSelectable */
            iand
            putfield android.widget.ListView.mAreAllItemsSelectable:Z
         9: .line 355
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 14
        10: .line 356
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            instanceof android.widget.HeaderViewListAdapter
            ifne 12
        11: .line 357
            aload 0 /* this */
            invokevirtual android.widget.ListView.wrapHeaderListAdapterInternal:()V
        12: .line 362
      StackMap locals: android.widget.ListView$FixedViewInfo
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 14
        13: .line 363
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokevirtual android.widget.AbsListView$AdapterDataSetObserver.onChanged:()V
        14: .line 366
      StackMap locals:
      StackMap stack:
            return
        end local 4 // android.widget.ListView$FixedViewInfo info
        end local 3 // boolean isSelectable
        end local 2 // java.lang.Object data
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Landroid/widget/ListView;
            0   15     1             v  Landroid/view/View;
            0   15     2          data  Ljava/lang/Object;
            0   15     3  isSelectable  Z
            4   15     4          info  Landroid/widget/ListView$FixedViewInfo;
    MethodParameters:
              Name  Flags
      v             
      data          
      isSelectable  

  public void addHeaderView(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
         0: .line 383
            aload 0 /* this */
            aload 1 /* v */
            aconst_null
            iconst_1
            invokevirtual android.widget.ListView.addHeaderView:(Landroid/view/View;Ljava/lang/Object;Z)V
         1: .line 384
            return
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/ListView;
            0    2     1     v  Landroid/view/View;
    MethodParameters:
      Name  Flags
      v     

  public int getHeaderViewsCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 388
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public boolean removeHeaderView(android.view.View);
    descriptor: (Landroid/view/View;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
         0: .line 399
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 8
         1: .line 400
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 401
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 6
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            checkcast android.widget.HeaderViewListAdapter
            aload 1 /* v */
            invokevirtual android.widget.HeaderViewListAdapter.removeHeader:(Landroid/view/View;)Z
            ifeq 6
         3: .line 402
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 5
         4: .line 403
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokevirtual android.widget.AbsListView$AdapterDataSetObserver.onChanged:()V
         5: .line 405
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 2 /* result */
         6: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeFixedViewInfo:(Landroid/view/View;Ljava/util/ArrayList;)V
         7: .line 408
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
         8: .line 410
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/widget/ListView;
            0    9     1       v  Landroid/view/View;
            2    8     2  result  Z
    MethodParameters:
      Name  Flags
      v     

  private void removeFixedViewInfo(android.view.View, java.util.ArrayList<android.widget.ListView$FixedViewInfo>);
    descriptor: (Landroid/view/View;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
        start local 2 // java.util.ArrayList where
         0: .line 414
            aload 2 /* where */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* len */
        start local 3 // int len
         1: .line 415
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 416
      StackMap locals: int int
      StackMap stack:
            aload 2 /* where */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            astore 5 /* info */
        start local 5 // android.widget.ListView$FixedViewInfo info
         4: .line 417
            aload 5 /* info */
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            aload 1 /* v */
            if_acmpne 7
         5: .line 418
            aload 2 /* where */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            pop
         6: .line 419
            goto 9
        end local 5 // android.widget.ListView$FixedViewInfo info
         7: .line 415
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 4 // int i
         9: .line 422
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int len
        end local 2 // java.util.ArrayList where
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Landroid/widget/ListView;
            0   10     1      v  Landroid/view/View;
            0   10     2  where  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            1   10     3    len  I
            2    9     4      i  I
            4    7     5   info  Landroid/widget/ListView$FixedViewInfo;
    Signature: (Landroid/view/View;Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;)V
    MethodParameters:
       Name  Flags
      v      
      where  

  public void addFooterView(android.view.View, java.lang.Object, boolean);
    descriptor: (Landroid/view/View;Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
        start local 2 // java.lang.Object data
        start local 3 // boolean isSelectable
         0: .line 441
            aload 1 /* v */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            ifnull 3
            aload 1 /* v */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            aload 0 /* this */
            if_acmpeq 3
         1: .line 442
            ldc "ListView"
            iconst_5
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 3
         2: .line 443
            ldc "ListView"
            ldc "The specified child already has a parent. You must call removeView() on the child's parent first."
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 448
      StackMap locals:
      StackMap stack:
            new android.widget.ListView$FixedViewInfo
            dup
            aload 0 /* this */
            invokespecial android.widget.ListView$FixedViewInfo.<init>:(Landroid/widget/ListView;)V
            astore 4 /* info */
        start local 4 // android.widget.ListView$FixedViewInfo info
         4: .line 449
            aload 4 /* info */
            aload 1 /* v */
            putfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
         5: .line 450
            aload 4 /* info */
            aload 2 /* data */
            putfield android.widget.ListView$FixedViewInfo.data:Ljava/lang/Object;
         6: .line 451
            aload 4 /* info */
            iload 3 /* isSelectable */
            putfield android.widget.ListView$FixedViewInfo.isSelectable:Z
         7: .line 452
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            aload 4 /* info */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 453
            aload 0 /* this */
            dup
            getfield android.widget.ListView.mAreAllItemsSelectable:Z
            iload 3 /* isSelectable */
            iand
            putfield android.widget.ListView.mAreAllItemsSelectable:Z
         9: .line 456
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 14
        10: .line 457
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            instanceof android.widget.HeaderViewListAdapter
            ifne 12
        11: .line 458
            aload 0 /* this */
            invokevirtual android.widget.ListView.wrapHeaderListAdapterInternal:()V
        12: .line 463
      StackMap locals: android.widget.ListView$FixedViewInfo
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 14
        13: .line 464
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokevirtual android.widget.AbsListView$AdapterDataSetObserver.onChanged:()V
        14: .line 467
      StackMap locals:
      StackMap stack:
            return
        end local 4 // android.widget.ListView$FixedViewInfo info
        end local 3 // boolean isSelectable
        end local 2 // java.lang.Object data
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Landroid/widget/ListView;
            0   15     1             v  Landroid/view/View;
            0   15     2          data  Ljava/lang/Object;
            0   15     3  isSelectable  Z
            4   15     4          info  Landroid/widget/ListView$FixedViewInfo;
    MethodParameters:
              Name  Flags
      v             
      data          
      isSelectable  

  public void addFooterView(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
         0: .line 484
            aload 0 /* this */
            aload 1 /* v */
            aconst_null
            iconst_1
            invokevirtual android.widget.ListView.addFooterView:(Landroid/view/View;Ljava/lang/Object;Z)V
         1: .line 485
            return
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/ListView;
            0    2     1     v  Landroid/view/View;
    MethodParameters:
      Name  Flags
      v     

  public int getFooterViewsCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 489
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public boolean removeFooterView(android.view.View);
    descriptor: (Landroid/view/View;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View v
         0: .line 500
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 8
         1: .line 501
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 502
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 6
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            checkcast android.widget.HeaderViewListAdapter
            aload 1 /* v */
            invokevirtual android.widget.HeaderViewListAdapter.removeFooter:(Landroid/view/View;)Z
            ifeq 6
         3: .line 503
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 5
         4: .line 504
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokevirtual android.widget.AbsListView$AdapterDataSetObserver.onChanged:()V
         5: .line 506
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 2 /* result */
         6: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeFixedViewInfo:(Landroid/view/View;Ljava/util/ArrayList;)V
         7: .line 509
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
         8: .line 511
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.view.View v
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/widget/ListView;
            0    9     1       v  Landroid/view/View;
            2    8     2  result  Z
    MethodParameters:
      Name  Flags
      v     

  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.ListView this
         0: .line 525
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            areturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  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.ListView this
        start local 1 // android.content.Intent intent
         0: .line 535
            aload 0 /* this */
            aload 1 /* intent */
            invokespecial android.widget.AbsListView.setRemoteViewsAdapter:(Landroid/content/Intent;)V
         1: .line 536
            return
        end local 1 // android.content.Intent intent
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/ListView;
            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=5, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.widget.ListAdapter adapter
         0: .line 553
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 2
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 2
         1: .line 554
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokeinterface android.widget.ListAdapter.unregisterDataSetObserver:(Landroid/database/DataSetObserver;)V
         2: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.resetList:()V
         3: .line 558
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            invokevirtual android.widget.AbsListView$RecycleBin.clear:()V
         4: .line 560
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifgt 5
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 7
         5: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            aload 1 /* adapter */
            invokevirtual android.widget.ListView.wrapHeaderListAdapterInternal:(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
            putfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
         6: .line 562
            goto 8
         7: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* adapter */
            putfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
         8: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield android.widget.ListView.mOldSelectedPosition:I
         9: .line 567
            aload 0 /* this */
            ldc -9223372036854775808
            putfield android.widget.ListView.mOldSelectedRowId:J
        10: .line 570
            aload 0 /* this */
            aload 1 /* adapter */
            invokespecial android.widget.AbsListView.setAdapter:(Landroid/widget/ListAdapter;)V
        11: .line 572
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 28
        12: .line 573
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.areAllItemsEnabled:()Z
            putfield android.widget.ListView.mAreAllItemsSelectable:Z
        13: .line 574
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            putfield android.widget.ListView.mOldItemCount:I
        14: .line 575
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
            putfield android.widget.ListView.mItemCount:I
        15: .line 576
            aload 0 /* this */
            invokevirtual android.widget.ListView.checkFocus:()V
        16: .line 578
            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.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
        17: .line 579
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokeinterface android.widget.ListAdapter.registerDataSetObserver:(Landroid/database/DataSetObserver;)V
        18: .line 581
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getViewTypeCount:()I
            invokevirtual android.widget.AbsListView$RecycleBin.setViewTypeCount:(I)V
        19: .line 584
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifeq 22
        20: .line 585
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            iconst_0
            invokevirtual android.widget.ListView.lookForSelectablePosition:(IZ)I
            istore 2 /* position */
        start local 2 // int position
        21: .line 586
            goto 23
        end local 2 // int position
        22: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual android.widget.ListView.lookForSelectablePosition:(IZ)I
            istore 2 /* position */
        start local 2 // int position
        23: .line 589
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual android.widget.ListView.setSelectedPositionInt:(I)V
        24: .line 590
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual android.widget.ListView.setNextSelectedPositionInt:(I)V
        25: .line 592
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            ifne 31
        26: .line 594
            aload 0 /* this */
            invokevirtual android.widget.ListView.checkSelectionChanged:()V
        end local 2 // int position
        27: .line 596
            goto 31
        28: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.widget.ListView.mAreAllItemsSelectable:Z
        29: .line 598
            aload 0 /* this */
            invokevirtual android.widget.ListView.checkFocus:()V
        30: .line 600
            aload 0 /* this */
            invokevirtual android.widget.ListView.checkSelectionChanged:()V
        31: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.requestLayout:()V
        32: .line 604
            return
        end local 1 // android.widget.ListAdapter adapter
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0      this  Landroid/widget/ListView;
            0   33     1   adapter  Landroid/widget/ListAdapter;
           21   22     2  position  I
           23   27     2  position  I
    MethodParameters:
         Name  Flags
      adapter  

  void resetList();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 613
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.clearRecycledState:(Ljava/util/ArrayList;)V
         1: .line 614
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.clearRecycledState:(Ljava/util/ArrayList;)V
         2: .line 616
            aload 0 /* this */
            invokespecial android.widget.AbsListView.resetList:()V
         3: .line 618
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mLayoutMode:I
         4: .line 619
            return
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/widget/ListView;

  private void clearRecycledState(java.util.ArrayList<android.widget.ListView$FixedViewInfo>);
    descriptor: (Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // java.util.ArrayList infos
         0: .line 622
            aload 1 /* infos */
            ifnull 10
         1: .line 623
            aload 1 /* infos */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 625
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 626
      StackMap locals: int int
      StackMap stack:
            aload 1 /* infos */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            astore 4 /* child */
        start local 4 // android.view.View child
         5: .line 627
            aload 4 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            astore 5 /* params */
        start local 5 // android.view.ViewGroup$LayoutParams params
         6: .line 628
            aload 0 /* this */
            aload 5 /* params */
            invokevirtual android.widget.ListView.checkLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)Z
            ifeq 8
         7: .line 629
            aload 5 /* params */
            checkcast android.widget.AbsListView$LayoutParams
            iconst_0
            putfield android.widget.AbsListView$LayoutParams.recycledHeaderFooter:Z
        end local 5 // android.view.ViewGroup$LayoutParams params
        end local 4 // android.view.View child
         8: .line 625
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 3 // int i
        end local 2 // int count
        10: .line 633
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.ArrayList infos
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/widget/ListView;
            0   11     1   infos  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            2   10     2   count  I
            3   10     3       i  I
            5    8     4   child  Landroid/view/View;
            6    8     5  params  Landroid/view/ViewGroup$LayoutParams;
    Signature: (Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;)V
    MethodParameters:
       Name  Flags
      infos  

  private boolean showingTopFadingEdge();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 639
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iadd
            istore 1 /* listTop */
        start local 1 // int listTop
         1: .line 640
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifgt 2
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            iload 1 /* listTop */
            if_icmpgt 2
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // int listTop
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/widget/ListView;
            1    3     1  listTop  I

  private boolean showingBottomFadingEdge();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 647
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 1 /* childCount */
        start local 1 // int childCount
         1: .line 648
            aload 0 /* this */
            iload 1 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            istore 2 /* bottomOfBottomChild */
        start local 2 // int bottomOfBottomChild
         2: .line 649
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 1 /* childCount */
            iadd
            iconst_1
            isub
            istore 3 /* lastVisiblePosition */
        start local 3 // int lastVisiblePosition
         3: .line 651
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            iadd
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 4 /* listBottom */
        start local 4 // int listBottom
         4: .line 653
            iload 3 /* lastVisiblePosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmplt 7
         5: .line 654
            iload 2 /* bottomOfBottomChild */
            iload 4 /* listBottom */
         6: .line 653
            if_icmplt 7
            iconst_0
            ireturn
      StackMap locals: android.widget.ListView int int int int
      StackMap stack:
         7: iconst_1
            ireturn
        end local 4 // int listBottom
        end local 3 // int lastVisiblePosition
        end local 2 // int bottomOfBottomChild
        end local 1 // int childCount
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Landroid/widget/ListView;
            1    8     1           childCount  I
            2    8     2  bottomOfBottomChild  I
            3    8     3  lastVisiblePosition  I
            4    8     4           listBottom  I

  public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
    descriptor: (Landroid/view/View;Landroid/graphics/Rect;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=14, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View child
        start local 2 // android.graphics.Rect rect
        start local 3 // boolean immediate
         0: .line 661
            aload 2 /* rect */
            getfield android.graphics.Rect.top:I
            istore 4 /* rectTopWithinChild */
        start local 4 // int rectTopWithinChild
         1: .line 664
            aload 2 /* rect */
            aload 1 /* child */
            invokevirtual android.view.View.getLeft:()I
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            invokevirtual android.graphics.Rect.offset:(II)V
         2: .line 665
            aload 2 /* rect */
            aload 1 /* child */
            invokevirtual android.view.View.getScrollX:()I
            ineg
            aload 1 /* child */
            invokevirtual android.view.View.getScrollY:()I
            ineg
            invokevirtual android.graphics.Rect.offset:(II)V
         3: .line 667
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            istore 5 /* height */
        start local 5 // int height
         4: .line 668
            aload 0 /* this */
            invokevirtual android.widget.ListView.getScrollY:()I
            istore 6 /* listUnfadedTop */
        start local 6 // int listUnfadedTop
         5: .line 669
            iload 6 /* listUnfadedTop */
            iload 5 /* height */
            iadd
            istore 7 /* listUnfadedBottom */
        start local 7 // int listUnfadedBottom
         6: .line 670
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalFadingEdgeLength:()I
            istore 8 /* fadingEdge */
        start local 8 // int fadingEdge
         7: .line 672
            aload 0 /* this */
            invokevirtual android.widget.ListView.showingTopFadingEdge:()Z
            ifeq 10
         8: .line 674
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            ifgt 9
            iload 4 /* rectTopWithinChild */
            iload 8 /* fadingEdge */
            if_icmple 10
         9: .line 675
      StackMap locals: android.widget.ListView android.view.View android.graphics.Rect int int int int int int
      StackMap stack:
            iload 6 /* listUnfadedTop */
            iload 8 /* fadingEdge */
            iadd
            istore 6 /* listUnfadedTop */
        10: .line 679
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 9 /* childCount */
        start local 9 // int childCount
        11: .line 680
            aload 0 /* this */
            iload 9 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            istore 10 /* bottomOfBottomChild */
        start local 10 // int bottomOfBottomChild
        12: .line 682
            aload 0 /* this */
            invokevirtual android.widget.ListView.showingBottomFadingEdge:()Z
            ifeq 16
        13: .line 684
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmplt 15
        14: .line 685
            aload 2 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 10 /* bottomOfBottomChild */
            iload 8 /* fadingEdge */
            isub
            if_icmpge 16
        15: .line 686
      StackMap locals: int int
      StackMap stack:
            iload 7 /* listUnfadedBottom */
            iload 8 /* fadingEdge */
            isub
            istore 7 /* listUnfadedBottom */
        16: .line 690
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* scrollYDelta */
        start local 11 // int scrollYDelta
        17: .line 692
            aload 2 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 7 /* listUnfadedBottom */
            if_icmple 25
            aload 2 /* rect */
            getfield android.graphics.Rect.top:I
            iload 6 /* listUnfadedTop */
            if_icmple 25
        18: .line 697
            aload 2 /* rect */
            invokevirtual android.graphics.Rect.height:()I
            iload 5 /* height */
            if_icmple 21
        19: .line 699
            iload 11 /* scrollYDelta */
            aload 2 /* rect */
            getfield android.graphics.Rect.top:I
            iload 6 /* listUnfadedTop */
            isub
            iadd
            istore 11 /* scrollYDelta */
        20: .line 700
            goto 22
        21: .line 702
      StackMap locals: int
      StackMap stack:
            iload 11 /* scrollYDelta */
            aload 2 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 7 /* listUnfadedBottom */
            isub
            iadd
            istore 11 /* scrollYDelta */
        22: .line 706
      StackMap locals:
      StackMap stack:
            iload 10 /* bottomOfBottomChild */
            iload 7 /* listUnfadedBottom */
            isub
            istore 12 /* distanceToBottom */
        start local 12 // int distanceToBottom
        23: .line 707
            iload 11 /* scrollYDelta */
            iload 12 /* distanceToBottom */
            invokestatic java.lang.Math.min:(II)I
            istore 11 /* scrollYDelta */
        end local 12 // int distanceToBottom
        24: .line 708
            goto 33
      StackMap locals:
      StackMap stack:
        25: aload 2 /* rect */
            getfield android.graphics.Rect.top:I
            iload 6 /* listUnfadedTop */
            if_icmpge 33
            aload 2 /* rect */
            getfield android.graphics.Rect.bottom:I
            iload 7 /* listUnfadedBottom */
            if_icmpge 33
        26: .line 713
            aload 2 /* rect */
            invokevirtual android.graphics.Rect.height:()I
            iload 5 /* height */
            if_icmple 29
        27: .line 715
            iload 11 /* scrollYDelta */
            iload 7 /* listUnfadedBottom */
            aload 2 /* rect */
            getfield android.graphics.Rect.bottom:I
            isub
            isub
            istore 11 /* scrollYDelta */
        28: .line 716
            goto 30
        29: .line 718
      StackMap locals:
      StackMap stack:
            iload 11 /* scrollYDelta */
            iload 6 /* listUnfadedTop */
            aload 2 /* rect */
            getfield android.graphics.Rect.top:I
            isub
            isub
            istore 11 /* scrollYDelta */
        30: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            istore 12 /* top */
        start local 12 // int top
        31: .line 723
            iload 12 /* top */
            iload 6 /* listUnfadedTop */
            isub
            istore 13 /* deltaToTop */
        start local 13 // int deltaToTop
        32: .line 724
            iload 11 /* scrollYDelta */
            iload 13 /* deltaToTop */
            invokestatic java.lang.Math.max:(II)I
            istore 11 /* scrollYDelta */
        end local 13 // int deltaToTop
        end local 12 // int top
        33: .line 727
      StackMap locals:
      StackMap stack:
            iload 11 /* scrollYDelta */
            ifeq 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 12 /* scroll */
        start local 12 // boolean scroll
        36: .line 728
            iload 12 /* scroll */
            ifeq 41
        37: .line 729
            aload 0 /* this */
            iload 11 /* scrollYDelta */
            ineg
            invokevirtual android.widget.ListView.scrollListItemsBy:(I)V
        38: .line 730
            aload 0 /* this */
            iconst_m1
            aload 1 /* child */
            invokevirtual android.widget.ListView.positionSelector:(ILandroid/view/View;)V
        39: .line 731
            aload 0 /* this */
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            putfield android.widget.ListView.mSelectedTop:I
        40: .line 732
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
        41: .line 734
      StackMap locals: int
      StackMap stack:
            iload 12 /* scroll */
            ireturn
        end local 12 // boolean scroll
        end local 11 // int scrollYDelta
        end local 10 // int bottomOfBottomChild
        end local 9 // int childCount
        end local 8 // int fadingEdge
        end local 7 // int listUnfadedBottom
        end local 6 // int listUnfadedTop
        end local 5 // int height
        end local 4 // int rectTopWithinChild
        end local 3 // boolean immediate
        end local 2 // android.graphics.Rect rect
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   42     0                 this  Landroid/widget/ListView;
            0   42     1                child  Landroid/view/View;
            0   42     2                 rect  Landroid/graphics/Rect;
            0   42     3            immediate  Z
            1   42     4   rectTopWithinChild  I
            4   42     5               height  I
            5   42     6       listUnfadedTop  I
            6   42     7    listUnfadedBottom  I
            7   42     8           fadingEdge  I
           11   42     9           childCount  I
           12   42    10  bottomOfBottomChild  I
           17   42    11         scrollYDelta  I
           23   24    12     distanceToBottom  I
           31   33    12                  top  I
           32   33    13           deltaToTop  I
           36   42    12               scroll  Z
    MethodParameters:
           Name  Flags
      child      
      rect       
      immediate  

  void fillGap(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // boolean down
         0: .line 742
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 743
            iload 1 /* down */
            ifeq 11
         2: .line 744
            iconst_0
            istore 3 /* paddingTop */
        start local 3 // int paddingTop
         3: .line 745
            aload 0 /* this */
            getfield android.widget.ListView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 5
         4: .line 746
            aload 0 /* this */
            invokevirtual android.widget.ListView.getListPaddingTop:()I
            istore 3 /* paddingTop */
         5: .line 748
      StackMap locals: int int
      StackMap stack:
            iload 2 /* count */
            ifle 6
            aload 0 /* this */
            iload 2 /* count */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            iadd
            goto 7
         6: .line 749
      StackMap locals:
      StackMap stack:
            iload 3 /* paddingTop */
         7: .line 748
      StackMap locals:
      StackMap stack: int
            istore 4 /* startOffset */
        start local 4 // int startOffset
         8: .line 750
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 2 /* count */
            iadd
            iload 4 /* startOffset */
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            pop
         9: .line 751
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            invokevirtual android.widget.ListView.correctTooHigh:(I)V
        end local 4 // int startOffset
        end local 3 // int paddingTop
        10: .line 752
            goto 19
        11: .line 753
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* paddingBottom */
        start local 3 // int paddingBottom
        12: .line 754
            aload 0 /* this */
            getfield android.widget.ListView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 14
        13: .line 755
            aload 0 /* this */
            invokevirtual android.widget.ListView.getListPaddingBottom:()I
            istore 3 /* paddingBottom */
        14: .line 757
      StackMap locals: int
      StackMap stack:
            iload 2 /* count */
            ifle 15
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            isub
            goto 16
        15: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            iload 3 /* paddingBottom */
            isub
        16: .line 757
      StackMap locals:
      StackMap stack: int
            istore 4 /* startOffset */
        start local 4 // int startOffset
        17: .line 759
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iconst_1
            isub
            iload 4 /* startOffset */
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            pop
        18: .line 760
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            invokevirtual android.widget.ListView.correctTooLow:(I)V
        end local 4 // int startOffset
        end local 3 // int paddingBottom
        19: .line 762
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int count
        end local 1 // boolean down
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Landroid/widget/ListView;
            0   20     1           down  Z
            1   20     2          count  I
            3   10     3     paddingTop  I
            8   10     4    startOffset  I
           12   19     3  paddingBottom  I
           17   19     4    startOffset  I
    MethodParameters:
      Name  Flags
      down  

  private android.view.View fillDown(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int pos
        start local 2 // int nextTop
         0: .line 776
            aconst_null
            astore 3 /* selectedView */
        start local 3 // android.view.View selectedView
         1: .line 778
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            istore 4 /* end */
        start local 4 // int end
         2: .line 779
            aload 0 /* this */
            getfield android.widget.ListView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 13
         3: .line 780
            iload 4 /* end */
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 4 /* end */
         4: .line 783
            goto 13
         5: .line 785
      StackMap locals: android.view.View int
      StackMap stack:
            iload 1 /* pos */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            if_icmpne 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* selected */
        start local 5 // boolean selected
         8: .line 786
            aload 0 /* this */
            iload 1 /* pos */
            iload 2 /* nextTop */
            iconst_1
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iload 5 /* selected */
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 6 /* child */
        start local 6 // android.view.View child
         9: .line 788
            aload 6 /* child */
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            iadd
            istore 2 /* nextTop */
        10: .line 789
            iload 5 /* selected */
            ifeq 12
        11: .line 790
            aload 6 /* child */
            astore 3 /* selectedView */
        12: .line 792
      StackMap locals: int android.view.View
      StackMap stack:
            iinc 1 /* pos */ 1
        end local 6 // android.view.View child
        end local 5 // boolean selected
        13: .line 783
      StackMap locals:
      StackMap stack:
            iload 2 /* nextTop */
            iload 4 /* end */
            if_icmpge 14
            iload 1 /* pos */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            if_icmplt 5
        14: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
            invokevirtual android.widget.ListView.setVisibleRangeHint:(II)V
        15: .line 796
            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.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Landroid/widget/ListView;
            0   16     1           pos  I
            0   16     2       nextTop  I
            1   16     3  selectedView  Landroid/view/View;
            2   16     4           end  I
            8   13     5      selected  Z
            9   13     6         child  Landroid/view/View;
    MethodParameters:
         Name  Flags
      pos      
      nextTop  

  private android.view.View fillUp(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int pos
        start local 2 // int nextBottom
         0: .line 810
            aconst_null
            astore 3 /* selectedView */
        start local 3 // android.view.View selectedView
         1: .line 812
            iconst_0
            istore 4 /* end */
        start local 4 // int end
         2: .line 813
            aload 0 /* this */
            getfield android.widget.ListView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 13
         3: .line 814
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 4 /* end */
         4: .line 817
            goto 13
         5: .line 819
      StackMap locals: android.view.View int
      StackMap stack:
            iload 1 /* pos */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            if_icmpne 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* selected */
        start local 5 // boolean selected
         8: .line 820
            aload 0 /* this */
            iload 1 /* pos */
            iload 2 /* nextBottom */
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iload 5 /* selected */
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 6 /* child */
        start local 6 // android.view.View child
         9: .line 821
            aload 6 /* child */
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            isub
            istore 2 /* nextBottom */
        10: .line 822
            iload 5 /* selected */
            ifeq 12
        11: .line 823
            aload 6 /* child */
            astore 3 /* selectedView */
        12: .line 825
      StackMap locals: int android.view.View
      StackMap stack:
            iinc 1 /* pos */ -1
        end local 6 // android.view.View child
        end local 5 // boolean selected
        13: .line 817
      StackMap locals:
      StackMap stack:
            iload 2 /* nextBottom */
            iload 4 /* end */
            if_icmple 14
            iload 1 /* pos */
            ifge 5
        14: .line 828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            iconst_1
            iadd
            putfield android.widget.ListView.mFirstPosition:I
        15: .line 829
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
            invokevirtual android.widget.ListView.setVisibleRangeHint:(II)V
        16: .line 830
            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.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Landroid/widget/ListView;
            0   17     1           pos  I
            0   17     2    nextBottom  I
            1   17     3  selectedView  Landroid/view/View;
            2   17     4           end  I
            8   13     5      selected  Z
            9   13     6         child  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.ListView this
        start local 1 // int nextTop
         0: .line 842
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.ListView.mFirstPosition:I
         1: .line 843
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            putfield android.widget.ListView.mFirstPosition:I
         2: .line 844
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifge 4
         3: .line 845
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mFirstPosition:I
         4: .line 847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 1 /* nextTop */
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            areturn
        end local 1 // int nextTop
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/widget/ListView;
            0    5     1  nextTop  I
    MethodParameters:
         Name  Flags
      nextTop  

  private android.view.View fillFromMiddle(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int childrenTop
        start local 2 // int childrenBottom
         0: .line 862
            iload 2 /* childrenBottom */
            iload 1 /* childrenTop */
            isub
            istore 3 /* height */
        start local 3 // int height
         1: .line 864
            aload 0 /* this */
            invokevirtual android.widget.ListView.reconcileSelectedPosition:()I
            istore 4 /* position */
        start local 4 // int position
         2: .line 866
            aload 0 /* this */
            iload 4 /* position */
            iload 1 /* childrenTop */
            iconst_1
         3: .line 867
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iconst_1
         4: .line 866
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 5 /* sel */
        start local 5 // android.view.View sel
         5: .line 868
            aload 0 /* this */
            iload 4 /* position */
            putfield android.widget.ListView.mFirstPosition:I
         6: .line 870
            aload 5 /* sel */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 6 /* selHeight */
        start local 6 // int selHeight
         7: .line 871
            iload 6 /* selHeight */
            iload 3 /* height */
            if_icmpgt 9
         8: .line 872
            aload 5 /* sel */
            iload 3 /* height */
            iload 6 /* selHeight */
            isub
            iconst_2
            idiv
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
         9: .line 875
      StackMap locals: android.widget.ListView int int int int android.view.View int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sel */
            iload 4 /* position */
            invokevirtual android.widget.ListView.fillAboveAndBelow:(Landroid/view/View;I)V
        10: .line 877
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 13
        11: .line 878
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            invokevirtual android.widget.ListView.correctTooHigh:(I)V
        12: .line 879
            goto 14
        13: .line 880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            invokevirtual android.widget.ListView.correctTooLow:(I)V
        14: .line 883
      StackMap locals:
      StackMap stack:
            aload 5 /* sel */
            areturn
        end local 6 // int selHeight
        end local 5 // android.view.View sel
        end local 4 // int position
        end local 3 // int height
        end local 2 // int childrenBottom
        end local 1 // int childrenTop
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Landroid/widget/ListView;
            0   15     1     childrenTop  I
            0   15     2  childrenBottom  I
            1   15     3          height  I
            2   15     4        position  I
            5   15     5             sel  Landroid/view/View;
            7   15     6       selHeight  I
    MethodParameters:
                Name  Flags
      childrenTop     
      childrenBottom  

  private void fillAboveAndBelow(android.view.View, int);
    descriptor: (Landroid/view/View;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View sel
        start local 2 // int position
         0: .line 894
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            istore 3 /* dividerHeight */
        start local 3 // int dividerHeight
         1: .line 895
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 6
         2: .line 896
            aload 0 /* this */
            iload 2 /* position */
            iconst_1
            isub
            aload 1 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 3 /* dividerHeight */
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            pop
         3: .line 897
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
         4: .line 898
            aload 0 /* this */
            iload 2 /* position */
            iconst_1
            iadd
            aload 1 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* dividerHeight */
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            pop
         5: .line 899
            goto 9
         6: .line 900
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* position */
            iconst_1
            iadd
            aload 1 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* dividerHeight */
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            pop
         7: .line 901
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
         8: .line 902
            aload 0 /* this */
            iload 2 /* position */
            iconst_1
            isub
            aload 1 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 3 /* dividerHeight */
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            pop
         9: .line 904
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int dividerHeight
        end local 2 // int position
        end local 1 // android.view.View sel
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Landroid/widget/ListView;
            0   10     1            sel  Landroid/view/View;
            0   10     2       position  I
            1   10     3  dividerHeight  I
    MethodParameters:
          Name  Flags
      sel       
      position  

  private android.view.View fillFromSelection(int, int, int);
    descriptor: (III)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // int selectedTop
        start local 2 // int childrenTop
        start local 3 // int childrenBottom
         0: .line 918
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalFadingEdgeLength:()I
            istore 4 /* fadingEdgeLength */
        start local 4 // int fadingEdgeLength
         1: .line 919
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            istore 5 /* selectedPosition */
        start local 5 // int selectedPosition
         2: .line 923
            aload 0 /* this */
            iload 2 /* childrenTop */
            iload 4 /* fadingEdgeLength */
         3: .line 924
            iload 5 /* selectedPosition */
         4: .line 923
            invokevirtual android.widget.ListView.getTopSelectionPixel:(III)I
            istore 7 /* topSelectionPixel */
        start local 7 // int topSelectionPixel
         5: .line 925
            aload 0 /* this */
            iload 3 /* childrenBottom */
            iload 4 /* fadingEdgeLength */
         6: .line 926
            iload 5 /* selectedPosition */
         7: .line 925
            invokevirtual android.widget.ListView.getBottomSelectionPixel:(III)I
            istore 8 /* bottomSelectionPixel */
        start local 8 // int bottomSelectionPixel
         8: .line 928
            aload 0 /* this */
            iload 5 /* selectedPosition */
            iload 1 /* selectedTop */
            iconst_1
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iconst_1
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 6 /* sel */
        start local 6 // android.view.View sel
         9: .line 932
            aload 6 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 8 /* bottomSelectionPixel */
            if_icmple 15
        10: .line 935
            aload 6 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* topSelectionPixel */
            isub
            istore 9 /* spaceAbove */
        start local 9 // int spaceAbove
        11: .line 939
            aload 6 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 8 /* bottomSelectionPixel */
            isub
            istore 10 /* spaceBelow */
        start local 10 // int spaceBelow
        12: .line 940
            iload 9 /* spaceAbove */
            iload 10 /* spaceBelow */
            invokestatic java.lang.Math.min:(II)I
            istore 11 /* offset */
        start local 11 // int offset
        13: .line 943
            aload 6 /* sel */
            iload 11 /* offset */
            ineg
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        end local 11 // int offset
        end local 10 // int spaceBelow
        end local 9 // int spaceAbove
        14: .line 944
            goto 20
      StackMap locals: android.widget.ListView int int int int int android.view.View int int
      StackMap stack:
        15: aload 6 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* topSelectionPixel */
            if_icmpge 20
        16: .line 947
            iload 7 /* topSelectionPixel */
            aload 6 /* sel */
            invokevirtual android.view.View.getTop:()I
            isub
            istore 9 /* spaceAbove */
        start local 9 // int spaceAbove
        17: .line 951
            iload 8 /* bottomSelectionPixel */
            aload 6 /* sel */
            invokevirtual android.view.View.getBottom:()I
            isub
            istore 10 /* spaceBelow */
        start local 10 // int spaceBelow
        18: .line 952
            iload 9 /* spaceAbove */
            iload 10 /* spaceBelow */
            invokestatic java.lang.Math.min:(II)I
            istore 11 /* offset */
        start local 11 // int offset
        19: .line 955
            aload 6 /* sel */
            iload 11 /* offset */
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        end local 11 // int offset
        end local 10 // int spaceBelow
        end local 9 // int spaceAbove
        20: .line 959
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* sel */
            iload 5 /* selectedPosition */
            invokevirtual android.widget.ListView.fillAboveAndBelow:(Landroid/view/View;I)V
        21: .line 961
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 24
        22: .line 962
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            invokevirtual android.widget.ListView.correctTooHigh:(I)V
        23: .line 963
            goto 25
        24: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            invokevirtual android.widget.ListView.correctTooLow:(I)V
        25: .line 967
      StackMap locals:
      StackMap stack:
            aload 6 /* sel */
            areturn
        end local 8 // int bottomSelectionPixel
        end local 7 // int topSelectionPixel
        end local 6 // android.view.View sel
        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.ListView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   26     0                  this  Landroid/widget/ListView;
            0   26     1           selectedTop  I
            0   26     2           childrenTop  I
            0   26     3        childrenBottom  I
            1   26     4      fadingEdgeLength  I
            2   26     5      selectedPosition  I
            9   26     6                   sel  Landroid/view/View;
            5   26     7     topSelectionPixel  I
            8   26     8  bottomSelectionPixel  I
           11   14     9            spaceAbove  I
           12   14    10            spaceBelow  I
           13   14    11                offset  I
           17   20     9            spaceAbove  I
           18   20    10            spaceBelow  I
           19   20    11                offset  I
    MethodParameters:
                Name  Flags
      selectedTop     
      childrenTop     
      childrenBottom  

  private int getBottomSelectionPixel(int, int, int);
    descriptor: (III)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // int childrenBottom
        start local 2 // int fadingEdgeLength
        start local 3 // int selectedPosition
         0: .line 980
            iload 1 /* childrenBottom */
            istore 4 /* bottomSelectionPixel */
        start local 4 // int bottomSelectionPixel
         1: .line 981
            iload 3 /* selectedPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpeq 3
         2: .line 982
            iload 4 /* bottomSelectionPixel */
            iload 2 /* fadingEdgeLength */
            isub
            istore 4 /* bottomSelectionPixel */
         3: .line 984
      StackMap locals: int
      StackMap stack:
            iload 4 /* bottomSelectionPixel */
            ireturn
        end local 4 // int bottomSelectionPixel
        end local 3 // int selectedPosition
        end local 2 // int fadingEdgeLength
        end local 1 // int childrenBottom
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Landroid/widget/ListView;
            0    4     1        childrenBottom  I
            0    4     2      fadingEdgeLength  I
            0    4     3      selectedPosition  I
            1    4     4  bottomSelectionPixel  I
    MethodParameters:
                  Name  Flags
      childrenBottom    
      fadingEdgeLength  
      selectedPosition  

  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.ListView this
        start local 1 // int childrenTop
        start local 2 // int fadingEdgeLength
        start local 3 // int selectedPosition
         0: .line 997
            iload 1 /* childrenTop */
            istore 4 /* topSelectionPixel */
        start local 4 // int topSelectionPixel
         1: .line 998
            iload 3 /* selectedPosition */
            ifle 3
         2: .line 999
            iload 4 /* topSelectionPixel */
            iload 2 /* fadingEdgeLength */
            iadd
            istore 4 /* topSelectionPixel */
         3: .line 1001
      StackMap locals: int
      StackMap stack:
            iload 4 /* topSelectionPixel */
            ireturn
        end local 4 // int topSelectionPixel
        end local 3 // int selectedPosition
        end local 2 // int fadingEdgeLength
        end local 1 // int childrenTop
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Landroid/widget/ListView;
            0    4     1        childrenTop  I
            0    4     2   fadingEdgeLength  I
            0    4     3   selectedPosition  I
            1    4     4  topSelectionPixel  I
    MethodParameters:
                  Name  Flags
      childrenTop       
      fadingEdgeLength  
      selectedPosition  

  public void smoothScrollToPosition(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int position
         0: .line 1011
            aload 0 /* this */
            iload 1 /* position */
            invokespecial android.widget.AbsListView.smoothScrollToPosition:(I)V
         1: .line 1012
            return
        end local 1 // int position
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/ListView;
            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.ListView this
        start local 1 // int offset
         0: .line 1021
            aload 0 /* this */
            iload 1 /* offset */
            invokespecial android.widget.AbsListView.smoothScrollByOffset:(I)V
         1: .line 1022
            return
        end local 1 // int offset
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/widget/ListView;
            0    2     1  offset  I
    RuntimeVisibleAnnotations: 
      android.view.RemotableViewMethod()
    MethodParameters:
        Name  Flags
      offset  

  private android.view.View moveSelection(android.view.View, android.view.View, int, int, int);
    descriptor: (Landroid/view/View;Landroid/view/View;III)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=6
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View oldSel
        start local 2 // android.view.View newSel
        start local 3 // int delta
        start local 4 // int childrenTop
        start local 5 // int childrenBottom
         0: .line 1043
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalFadingEdgeLength:()I
            istore 6 /* fadingEdgeLength */
        start local 6 // int fadingEdgeLength
         1: .line 1044
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            istore 7 /* selectedPosition */
        start local 7 // int selectedPosition
         2: .line 1048
            aload 0 /* this */
            iload 4 /* childrenTop */
            iload 6 /* fadingEdgeLength */
         3: .line 1049
            iload 7 /* selectedPosition */
         4: .line 1048
            invokevirtual android.widget.ListView.getTopSelectionPixel:(III)I
            istore 9 /* topSelectionPixel */
        start local 9 // int topSelectionPixel
         5: .line 1050
            aload 0 /* this */
            iload 4 /* childrenTop */
            iload 6 /* fadingEdgeLength */
         6: .line 1051
            iload 7 /* selectedPosition */
         7: .line 1050
            invokevirtual android.widget.ListView.getBottomSelectionPixel:(III)I
            istore 10 /* bottomSelectionPixel */
        start local 10 // int bottomSelectionPixel
         8: .line 1053
            iload 3 /* delta */
            ifle 33
         9: .line 1075
            aload 0 /* this */
            iload 7 /* selectedPosition */
            iconst_1
            isub
            aload 1 /* oldSel */
            invokevirtual android.view.View.getTop:()I
            iconst_1
        10: .line 1076
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iconst_0
        11: .line 1075
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 1 /* oldSel */
        12: .line 1078
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            istore 11 /* dividerHeight */
        start local 11 // int dividerHeight
        13: .line 1081
            aload 0 /* this */
            iload 7 /* selectedPosition */
            aload 1 /* oldSel */
            invokevirtual android.view.View.getBottom:()I
            iload 11 /* dividerHeight */
            iadd
            iconst_1
        14: .line 1082
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iconst_1
        15: .line 1081
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 8 /* sel */
        start local 8 // android.view.View sel
        16: .line 1085
            aload 8 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 10 /* bottomSelectionPixel */
            if_icmple 24
        17: .line 1088
            aload 8 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 9 /* topSelectionPixel */
            isub
            istore 12 /* spaceAbove */
        start local 12 // int spaceAbove
        18: .line 1091
            aload 8 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 10 /* bottomSelectionPixel */
            isub
            istore 13 /* spaceBelow */
        start local 13 // int spaceBelow
        19: .line 1094
            iload 5 /* childrenBottom */
            iload 4 /* childrenTop */
            isub
            iconst_2
            idiv
            istore 14 /* halfVerticalSpace */
        start local 14 // int halfVerticalSpace
        20: .line 1095
            iload 12 /* spaceAbove */
            iload 13 /* spaceBelow */
            invokestatic java.lang.Math.min:(II)I
            istore 15 /* offset */
        start local 15 // int offset
        21: .line 1096
            iload 15 /* offset */
            iload 14 /* halfVerticalSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 15 /* offset */
        22: .line 1099
            aload 1 /* oldSel */
            iload 15 /* offset */
            ineg
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        23: .line 1101
            aload 8 /* sel */
            iload 15 /* offset */
            ineg
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        end local 15 // int offset
        end local 14 // int halfVerticalSpace
        end local 13 // int spaceBelow
        end local 12 // int spaceAbove
        24: .line 1105
      StackMap locals: android.widget.ListView android.view.View android.view.View int int int int int android.view.View int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 29
        25: .line 1106
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_2
            isub
            aload 8 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 11 /* dividerHeight */
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            pop
        26: .line 1107
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
        27: .line 1108
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_1
            iadd
            aload 8 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 11 /* dividerHeight */
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            pop
        28: .line 1109
            goto 58
        29: .line 1110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_1
            iadd
            aload 8 /* sel */
            invokevirtual android.view.View.getBottom:()I
            iload 11 /* dividerHeight */
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            pop
        30: .line 1111
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
        31: .line 1112
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_2
            isub
            aload 8 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 11 /* dividerHeight */
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            pop
        end local 11 // int dividerHeight
        32: .line 1114
            goto 58
        end local 8 // android.view.View sel
      StackMap locals: android.widget.ListView android.view.View android.view.View int int int int int top int int
      StackMap stack:
        33: iload 3 /* delta */
            ifge 51
        34: .line 1135
            aload 2 /* newSel */
            ifnull 39
        35: .line 1137
            aload 0 /* this */
            iload 7 /* selectedPosition */
            aload 2 /* newSel */
            invokevirtual android.view.View.getTop:()I
            iconst_1
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
        36: .line 1138
            iconst_1
        37: .line 1137
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 8 /* sel */
        start local 8 // android.view.View sel
        38: .line 1139
            goto 42
        end local 8 // android.view.View sel
        39: .line 1142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* selectedPosition */
            aload 1 /* oldSel */
            invokevirtual android.view.View.getTop:()I
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
        40: .line 1143
            iconst_1
        41: .line 1142
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 8 /* sel */
        start local 8 // android.view.View sel
        42: .line 1147
      StackMap locals: android.widget.ListView android.view.View android.view.View int int int int int android.view.View int int
      StackMap stack:
            aload 8 /* sel */
            invokevirtual android.view.View.getTop:()I
            iload 9 /* topSelectionPixel */
            if_icmpge 49
        43: .line 1149
            iload 9 /* topSelectionPixel */
            aload 8 /* sel */
            invokevirtual android.view.View.getTop:()I
            isub
            istore 11 /* spaceAbove */
        start local 11 // int spaceAbove
        44: .line 1152
            iload 10 /* bottomSelectionPixel */
            aload 8 /* sel */
            invokevirtual android.view.View.getBottom:()I
            isub
            istore 12 /* spaceBelow */
        start local 12 // int spaceBelow
        45: .line 1155
            iload 5 /* childrenBottom */
            iload 4 /* childrenTop */
            isub
            iconst_2
            idiv
            istore 13 /* halfVerticalSpace */
        start local 13 // int halfVerticalSpace
        46: .line 1156
            iload 11 /* spaceAbove */
            iload 12 /* spaceBelow */
            invokestatic java.lang.Math.min:(II)I
            istore 14 /* offset */
        start local 14 // int offset
        47: .line 1157
            iload 14 /* offset */
            iload 13 /* halfVerticalSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 14 /* offset */
        48: .line 1160
            aload 8 /* sel */
            iload 14 /* offset */
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        end local 14 // int offset
        end local 13 // int halfVerticalSpace
        end local 12 // int spaceBelow
        end local 11 // int spaceAbove
        49: .line 1164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* sel */
            iload 7 /* selectedPosition */
            invokevirtual android.widget.ListView.fillAboveAndBelow:(Landroid/view/View;I)V
        50: .line 1165
            goto 58
        end local 8 // android.view.View sel
        51: .line 1167
      StackMap locals: android.widget.ListView android.view.View android.view.View int int int int int top int int
      StackMap stack:
            aload 1 /* oldSel */
            invokevirtual android.view.View.getTop:()I
            istore 11 /* oldTop */
        start local 11 // int oldTop
        52: .line 1172
            aload 0 /* this */
            iload 7 /* selectedPosition */
            iload 11 /* oldTop */
            iconst_1
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iconst_1
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 8 /* sel */
        start local 8 // android.view.View sel
        53: .line 1175
            iload 11 /* oldTop */
            iload 4 /* childrenTop */
            if_icmpge 57
        54: .line 1178
            aload 8 /* sel */
            invokevirtual android.view.View.getBottom:()I
            istore 12 /* newBottom */
        start local 12 // int newBottom
        55: .line 1179
            iload 12 /* newBottom */
            iload 4 /* childrenTop */
            bipush 20
            iadd
            if_icmpge 57
        56: .line 1181
            aload 8 /* sel */
            iload 4 /* childrenTop */
            aload 8 /* sel */
            invokevirtual android.view.View.getTop:()I
            isub
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        end local 12 // int newBottom
        57: .line 1186
      StackMap locals: android.widget.ListView android.view.View android.view.View int int int int int android.view.View int int int
      StackMap stack:
            aload 0 /* this */
            aload 8 /* sel */
            iload 7 /* selectedPosition */
            invokevirtual android.widget.ListView.fillAboveAndBelow:(Landroid/view/View;I)V
        end local 11 // int oldTop
        58: .line 1189
      StackMap locals:
      StackMap stack:
            aload 8 /* sel */
            areturn
        end local 10 // int bottomSelectionPixel
        end local 9 // int topSelectionPixel
        end local 8 // android.view.View sel
        end local 7 // int selectedPosition
        end local 6 // int fadingEdgeLength
        end local 5 // int childrenBottom
        end local 4 // int childrenTop
        end local 3 // int delta
        end local 2 // android.view.View newSel
        end local 1 // android.view.View oldSel
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   59     0                  this  Landroid/widget/ListView;
            0   59     1                oldSel  Landroid/view/View;
            0   59     2                newSel  Landroid/view/View;
            0   59     3                 delta  I
            0   59     4           childrenTop  I
            0   59     5        childrenBottom  I
            1   59     6      fadingEdgeLength  I
            2   59     7      selectedPosition  I
           16   33     8                   sel  Landroid/view/View;
           38   39     8                   sel  Landroid/view/View;
           42   51     8                   sel  Landroid/view/View;
           53   59     8                   sel  Landroid/view/View;
            5   59     9     topSelectionPixel  I
            8   59    10  bottomSelectionPixel  I
           13   32    11         dividerHeight  I
           18   24    12            spaceAbove  I
           19   24    13            spaceBelow  I
           20   24    14     halfVerticalSpace  I
           21   24    15                offset  I
           44   49    11            spaceAbove  I
           45   49    12            spaceBelow  I
           46   49    13     halfVerticalSpace  I
           47   49    14                offset  I
           52   58    11                oldTop  I
           55   57    12             newBottom  I
    MethodParameters:
                Name  Flags
      oldSel          
      newSel          
      delta           
      childrenTop     
      childrenBottom  

  protected void onDetachedFromWindow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 1243
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnull 3
         1: .line 1244
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            invokevirtual android.widget.ListView.removeCallbacks:(Ljava/lang/Runnable;)Z
            pop
         2: .line 1245
            aload 0 /* this */
            aconst_null
            putfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
         3: .line 1247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial android.widget.AbsListView.onDetachedFromWindow:()V
         4: .line 1248
            return
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/widget/ListView;

  protected void onSizeChanged(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // android.widget.ListView this
        start local 1 // int w
        start local 2 // int h
        start local 3 // int oldw
        start local 4 // int oldh
         0: .line 1252
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            ifle 10
         1: .line 1253
            aload 0 /* this */
            invokevirtual android.widget.ListView.getFocusedChild:()Landroid/view/View;
            astore 5 /* focusedChild */
        start local 5 // android.view.View focusedChild
         2: .line 1254
            aload 5 /* focusedChild */
            ifnull 10
         3: .line 1255
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            aload 5 /* focusedChild */
            invokevirtual android.widget.ListView.indexOfChild:(Landroid/view/View;)I
            iadd
            istore 6 /* childPosition */
        start local 6 // int childPosition
         4: .line 1256
            aload 5 /* focusedChild */
            invokevirtual android.view.View.getBottom:()I
            istore 7 /* childBottom */
        start local 7 // int childBottom
         5: .line 1257
            iconst_0
            iload 7 /* childBottom */
            iload 2 /* h */
            aload 0 /* this */
            getfield android.widget.ListView.mPaddingTop:I
            isub
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* offset */
        start local 8 // int offset
         6: .line 1258
            aload 5 /* focusedChild */
            invokevirtual android.view.View.getTop:()I
            iload 8 /* offset */
            isub
            istore 9 /* top */
        start local 9 // int top
         7: .line 1259
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnonnull 9
         8: .line 1260
            aload 0 /* this */
            new android.widget.ListView$FocusSelector
            dup
            aload 0 /* this */
            invokespecial android.widget.ListView$FocusSelector.<init>:(Landroid/widget/ListView;)V
            putfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
         9: .line 1262
      StackMap locals: android.widget.ListView int int int int android.view.View int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            iload 6 /* childPosition */
            iload 9 /* top */
            invokevirtual android.widget.ListView$FocusSelector.setupForSetSelection:(II)Landroid/widget/ListView$FocusSelector;
            invokevirtual android.widget.ListView.post:(Ljava/lang/Runnable;)Z
            pop
        end local 9 // int top
        end local 8 // int offset
        end local 7 // int childBottom
        end local 6 // int childPosition
        end local 5 // android.view.View focusedChild
        10: .line 1265
      StackMap locals: android.widget.ListView int int int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* w */
            iload 2 /* h */
            iload 3 /* oldw */
            iload 4 /* oldh */
            invokespecial android.widget.AbsListView.onSizeChanged:(IIII)V
        11: .line 1266
            return
        end local 4 // int oldh
        end local 3 // int oldw
        end local 2 // int h
        end local 1 // int w
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Landroid/widget/ListView;
            0   12     1              w  I
            0   12     2              h  I
            0   12     3           oldw  I
            0   12     4           oldh  I
            2   10     5   focusedChild  Landroid/view/View;
            4   10     6  childPosition  I
            5   10     7    childBottom  I
            6   10     8         offset  I
            7   10     9            top  I
    MethodParameters:
      Name  Flags
      w     
      h     
      oldw  
      oldh  

  protected void onMeasure(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 1271
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokespecial android.widget.AbsListView.onMeasure:(II)V
         1: .line 1273
            iload 1 /* widthMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getMode:(I)I
            istore 3 /* widthMode */
        start local 3 // int widthMode
         2: .line 1274
            iload 2 /* heightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getMode:(I)I
            istore 4 /* heightMode */
        start local 4 // int heightMode
         3: .line 1275
            iload 1 /* widthMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            istore 5 /* widthSize */
        start local 5 // int widthSize
         4: .line 1276
            iload 2 /* heightMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            istore 6 /* heightSize */
        start local 6 // int heightSize
         5: .line 1278
            iconst_0
            istore 7 /* childWidth */
        start local 7 // int childWidth
         6: .line 1279
            iconst_0
            istore 8 /* childHeight */
        start local 8 // int childHeight
         7: .line 1280
            iconst_0
            istore 9 /* childState */
        start local 9 // int childState
         8: .line 1282
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals: android.widget.ListView int int int int int int int int int
      StackMap stack: android.widget.ListView
         9: aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
      StackMap locals: android.widget.ListView int int int int int int int int int
      StackMap stack: android.widget.ListView int
        10: putfield android.widget.ListView.mItemCount:I
        11: .line 1283
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            ifle 23
            iload 3 /* widthMode */
            ifeq 13
        12: .line 1284
            iload 4 /* heightMode */
            ifne 23
        13: .line 1285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            invokevirtual android.widget.ListView.obtainView:(I[Z)Landroid/view/View;
            astore 10 /* child */
        start local 10 // android.view.View child
        14: .line 1289
            aload 0 /* this */
            aload 10 /* child */
            iconst_0
            iload 1 /* widthMeasureSpec */
            iload 6 /* heightSize */
            invokevirtual android.widget.ListView.measureScrapChild:(Landroid/view/View;III)V
        15: .line 1291
            aload 10 /* child */
            invokevirtual android.view.View.getMeasuredWidth:()I
            istore 7 /* childWidth */
        16: .line 1292
            aload 10 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 8 /* childHeight */
        17: .line 1293
            iload 9 /* childState */
            aload 10 /* child */
            invokevirtual android.view.View.getMeasuredState:()I
            invokestatic android.widget.ListView.combineMeasuredStates:(II)I
            istore 9 /* childState */
        18: .line 1295
            aload 0 /* this */
            invokevirtual android.widget.ListView.recycleOnMeasure:()Z
            ifeq 23
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
        19: .line 1296
            aload 10 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            getfield android.widget.AbsListView$LayoutParams.viewType:I
        20: .line 1295
            invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
        21: .line 1296
            ifeq 23
        22: .line 1297
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            aload 10 /* child */
            iconst_0
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        end local 10 // android.view.View child
        23: .line 1301
      StackMap locals:
      StackMap stack:
            iload 3 /* widthMode */
            ifne 28
        24: .line 1302
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iadd
            iload 7 /* childWidth */
            iadd
        25: .line 1303
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalScrollbarWidth:()I
        26: .line 1302
            iadd
            istore 5 /* widthSize */
        27: .line 1304
            goto 29
        28: .line 1305
      StackMap locals:
      StackMap stack:
            iload 5 /* widthSize */
            iload 9 /* childState */
            ldc -16777216
            iand
            ior
            istore 5 /* widthSize */
        29: .line 1308
      StackMap locals:
      StackMap stack:
            iload 4 /* heightMode */
            ifne 33
        30: .line 1309
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iadd
            iload 8 /* childHeight */
            iadd
        31: .line 1310
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalFadingEdgeLength:()I
            iconst_2
            imul
        32: .line 1309
            iadd
            istore 6 /* heightSize */
        33: .line 1313
      StackMap locals:
      StackMap stack:
            iload 4 /* heightMode */
            ldc -2147483648
            if_icmpne 35
        34: .line 1315
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iconst_0
            iconst_m1
            iload 6 /* heightSize */
            iconst_m1
            invokevirtual android.widget.ListView.measureHeightOfChildren:(IIIII)I
            istore 6 /* heightSize */
        35: .line 1318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* widthSize */
            iload 6 /* heightSize */
            invokevirtual android.widget.ListView.setMeasuredDimension:(II)V
        36: .line 1320
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            putfield android.widget.ListView.mWidthMeasureSpec:I
        37: .line 1321
            return
        end local 9 // int childState
        end local 8 // int childHeight
        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.ListView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               this  Landroid/widget/ListView;
            0   38     1   widthMeasureSpec  I
            0   38     2  heightMeasureSpec  I
            2   38     3          widthMode  I
            3   38     4         heightMode  I
            4   38     5          widthSize  I
            5   38     6         heightSize  I
            6   38     7         childWidth  I
            7   38     8        childHeight  I
            8   38     9         childState  I
           14   23    10              child  Landroid/view/View;
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  private void measureScrapChild(android.view.View, int, int, int);
    descriptor: (Landroid/view/View;III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View child
        start local 2 // int position
        start local 3 // int widthMeasureSpec
        start local 4 // int heightHint
         0: .line 1324
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 5 /* p */
        start local 5 // android.widget.AbsListView$LayoutParams p
         1: .line 1325
            aload 5 /* p */
            ifnonnull 4
         2: .line 1326
            aload 0 /* this */
            invokevirtual android.widget.ListView.generateDefaultLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 5 /* p */
         3: .line 1327
            aload 1 /* child */
            aload 5 /* p */
            invokevirtual android.view.View.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V
         4: .line 1329
      StackMap locals: android.widget.AbsListView$LayoutParams
      StackMap stack:
            aload 5 /* p */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.getItemViewType:(I)I
            putfield android.widget.AbsListView$LayoutParams.viewType:I
         5: .line 1330
            aload 5 /* p */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            putfield android.widget.AbsListView$LayoutParams.isEnabled:Z
         6: .line 1331
            aload 5 /* p */
            iconst_1
            putfield android.widget.AbsListView$LayoutParams.forceAdd:Z
         7: .line 1333
            iload 3 /* widthMeasureSpec */
         8: .line 1334
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iadd
            aload 5 /* p */
            getfield android.widget.AbsListView$LayoutParams.width:I
         9: .line 1333
            invokestatic android.view.ViewGroup.getChildMeasureSpec:(III)I
            istore 6 /* childWidthSpec */
        start local 6 // int childWidthSpec
        10: .line 1335
            aload 5 /* p */
            getfield android.widget.AbsListView$LayoutParams.height:I
            istore 7 /* lpHeight */
        start local 7 // int lpHeight
        11: .line 1337
            iload 7 /* lpHeight */
            ifle 14
        12: .line 1338
            iload 7 /* lpHeight */
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 8 /* childHeightSpec */
        start local 8 // int childHeightSpec
        13: .line 1339
            goto 15
        end local 8 // int childHeightSpec
        14: .line 1340
      StackMap locals: int int
      StackMap stack:
            iload 4 /* heightHint */
            iconst_0
            invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
            istore 8 /* childHeightSpec */
        start local 8 // int childHeightSpec
        15: .line 1342
      StackMap locals: int
      StackMap stack:
            aload 1 /* child */
            iload 6 /* childWidthSpec */
            iload 8 /* childHeightSpec */
            invokevirtual android.view.View.measure:(II)V
        16: .line 1346
            aload 1 /* child */
            invokevirtual android.view.View.forceLayout:()V
        17: .line 1347
            return
        end local 8 // int childHeightSpec
        end local 7 // int lpHeight
        end local 6 // int childWidthSpec
        end local 5 // android.widget.AbsListView$LayoutParams p
        end local 4 // int heightHint
        end local 3 // int widthMeasureSpec
        end local 2 // int position
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Landroid/widget/ListView;
            0   18     1             child  Landroid/view/View;
            0   18     2          position  I
            0   18     3  widthMeasureSpec  I
            0   18     4        heightHint  I
            1   18     5                 p  Landroid/widget/AbsListView$LayoutParams;
           10   18     6    childWidthSpec  I
           11   18     7          lpHeight  I
           13   14     8   childHeightSpec  I
           15   18     8   childHeightSpec  I
    MethodParameters:
                  Name  Flags
      child             
      position          
      widthMeasureSpec  
      heightHint        

  protected boolean recycleOnMeasure();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 1356
            iconst_1
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;
    RuntimeVisibleAnnotations: 
      android.view.ViewDebug$ExportedProperty(category = "list")

  final int measureHeightOfChildren(int, int, int, int, int);
    descriptor: (IIIII)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=15, args_size=6
        start local 0 // android.widget.ListView this
        start local 1 // int widthMeasureSpec
        start local 2 // int startPosition
        start local 3 // int endPosition
        start local 4 // int maxHeight
        start local 5 // int disallowPartialChildPosition
         0: .line 1387
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 6 /* adapter */
        start local 6 // android.widget.ListAdapter adapter
         1: .line 1388
            aload 6 /* adapter */
            ifnonnull 3
         2: .line 1389
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iadd
            ireturn
         3: .line 1393
      StackMap locals: android.widget.ListAdapter
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iadd
            istore 7 /* returnedHeight */
        start local 7 // int returnedHeight
         4: .line 1394
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            istore 8 /* dividerHeight */
        start local 8 // int dividerHeight
         5: .line 1397
            iconst_0
            istore 9 /* prevHeightWithoutPartialChild */
        start local 9 // int prevHeightWithoutPartialChild
         6: .line 1402
            iload 3 /* endPosition */
            iconst_m1
            if_icmpne 7
            aload 6 /* adapter */
            invokeinterface android.widget.ListAdapter.getCount:()I
            iconst_1
            isub
            goto 8
      StackMap locals: int int int
      StackMap stack:
         7: iload 3 /* endPosition */
      StackMap locals:
      StackMap stack: int
         8: istore 3 /* endPosition */
         9: .line 1403
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            astore 12 /* recycleBin */
        start local 12 // android.widget.AbsListView$RecycleBin recycleBin
        10: .line 1404
            aload 0 /* this */
            invokevirtual android.widget.ListView.recycleOnMeasure:()Z
            istore 13 /* recyle */
        start local 13 // boolean recyle
        11: .line 1405
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            astore 14 /* isScrap */
        start local 14 // boolean[] isScrap
        12: .line 1407
            iload 2 /* startPosition */
            istore 10 /* i */
        start local 10 // int i
        13: goto 35
        14: .line 1408
      StackMap locals: android.widget.ListView int int int int int android.widget.ListAdapter int int int int top android.widget.AbsListView$RecycleBin int boolean[]
      StackMap stack:
            aload 0 /* this */
            iload 10 /* i */
            aload 14 /* isScrap */
            invokevirtual android.widget.ListView.obtainView:(I[Z)Landroid/view/View;
            astore 11 /* child */
        start local 11 // android.view.View child
        15: .line 1410
            aload 0 /* this */
            aload 11 /* child */
            iload 10 /* i */
            iload 1 /* widthMeasureSpec */
            iload 4 /* maxHeight */
            invokevirtual android.widget.ListView.measureScrapChild:(Landroid/view/View;III)V
        16: .line 1412
            iload 10 /* i */
            ifle 18
        17: .line 1414
            iload 7 /* returnedHeight */
            iload 8 /* dividerHeight */
            iadd
            istore 7 /* returnedHeight */
        18: .line 1418
      StackMap locals: android.widget.ListView int int int int int android.widget.ListAdapter int int int int android.view.View android.widget.AbsListView$RecycleBin int boolean[]
      StackMap stack:
            iload 13 /* recyle */
            ifeq 23
            aload 12 /* recycleBin */
        19: .line 1419
            aload 11 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            getfield android.widget.AbsListView$LayoutParams.viewType:I
        20: .line 1418
            invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
        21: .line 1419
            ifeq 23
        22: .line 1420
            aload 12 /* recycleBin */
            aload 11 /* child */
            iconst_m1
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        23: .line 1423
      StackMap locals:
      StackMap stack:
            iload 7 /* returnedHeight */
            aload 11 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            iadd
            istore 7 /* returnedHeight */
        24: .line 1425
            iload 7 /* returnedHeight */
            iload 4 /* maxHeight */
            if_icmplt 32
        25: .line 1428
            iload 5 /* disallowPartialChildPosition */
            iflt 30
        26: .line 1429
            iload 10 /* i */
            iload 5 /* disallowPartialChildPosition */
            if_icmple 30
        27: .line 1430
            iload 9 /* prevHeightWithoutPartialChild */
            ifle 30
        28: .line 1431
            iload 7 /* returnedHeight */
            iload 4 /* maxHeight */
            if_icmpeq 30
        29: .line 1432
            iload 9 /* prevHeightWithoutPartialChild */
            goto 31
        30: .line 1433
      StackMap locals:
      StackMap stack:
            iload 4 /* maxHeight */
        31: .line 1428
      StackMap locals:
      StackMap stack: int
            ireturn
        32: .line 1436
      StackMap locals:
      StackMap stack:
            iload 5 /* disallowPartialChildPosition */
            iflt 34
            iload 10 /* i */
            iload 5 /* disallowPartialChildPosition */
            if_icmplt 34
        33: .line 1437
            iload 7 /* returnedHeight */
            istore 9 /* prevHeightWithoutPartialChild */
        34: .line 1407
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
        end local 11 // android.view.View child
      StackMap locals: android.widget.ListView int int int int int android.widget.ListAdapter int int int int top android.widget.AbsListView$RecycleBin int boolean[]
      StackMap stack:
        35: iload 10 /* i */
            iload 3 /* endPosition */
            if_icmple 14
        36: .line 1443
            iload 7 /* returnedHeight */
            ireturn
        end local 14 // boolean[] isScrap
        end local 13 // boolean recyle
        end local 12 // android.widget.AbsListView$RecycleBin recycleBin
        end local 10 // int i
        end local 9 // int prevHeightWithoutPartialChild
        end local 8 // int dividerHeight
        end local 7 // int returnedHeight
        end local 6 // android.widget.ListAdapter adapter
        end local 5 // int disallowPartialChildPosition
        end local 4 // int maxHeight
        end local 3 // int endPosition
        end local 2 // int startPosition
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   37     0                           this  Landroid/widget/ListView;
            0   37     1               widthMeasureSpec  I
            0   37     2                  startPosition  I
            0   37     3                    endPosition  I
            0   37     4                      maxHeight  I
            0   37     5   disallowPartialChildPosition  I
            1   37     6                        adapter  Landroid/widget/ListAdapter;
            4   37     7                 returnedHeight  I
            5   37     8                  dividerHeight  I
            6   37     9  prevHeightWithoutPartialChild  I
           13   37    10                              i  I
           15   35    11                          child  Landroid/view/View;
           10   37    12                     recycleBin  Landroid/widget/AbsListView$RecycleBin;
           11   37    13                         recyle  Z
           12   37    14                        isScrap  [Z
    MethodParameters:
                              Name  Flags
      widthMeasureSpec              
      startPosition                 
      endPosition                   
      maxHeight                     
      disallowPartialChildPosition  

  int findMotionRow(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int y
         0: .line 1448
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 2 /* childCount */
        start local 2 // int childCount
         1: .line 1449
            iload 2 /* childCount */
            ifle 18
         2: .line 1450
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 11
         3: .line 1451
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 1452
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 4 /* v */
        start local 4 // android.view.View v
         6: .line 1453
            iload 1 /* y */
            aload 4 /* v */
            invokevirtual android.view.View.getBottom:()I
            if_icmpgt 8
         7: .line 1454
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 3 /* i */
            iadd
            ireturn
        end local 4 // android.view.View v
         8: .line 1451
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* childCount */
            if_icmplt 5
        end local 3 // int i
        10: .line 1457
            goto 18
        11: .line 1458
      StackMap locals:
      StackMap stack:
            iload 2 /* childCount */
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
        12: goto 17
        13: .line 1459
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 4 /* v */
        start local 4 // android.view.View v
        14: .line 1460
            iload 1 /* y */
            aload 4 /* v */
            invokevirtual android.view.View.getTop:()I
            if_icmplt 16
        15: .line 1461
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 3 /* i */
            iadd
            ireturn
        end local 4 // android.view.View v
        16: .line 1458
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            ifge 13
        end local 3 // int i
        18: .line 1466
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int childCount
        end local 1 // int y
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Landroid/widget/ListView;
            0   19     1           y  I
            1   19     2  childCount  I
            4   10     3           i  I
            6    8     4           v  Landroid/view/View;
           12   18     3           i  I
           14   16     4           v  Landroid/view/View;
    MethodParameters:
      Name  Flags
      y     

  private android.view.View fillSpecific(int, int);
    descriptor: (II)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int position
        start local 2 // int top
         0: .line 1481
            iload 1 /* position */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* tempIsSelected */
        start local 3 // boolean tempIsSelected
         3: .line 1482
            aload 0 /* this */
            iload 1 /* position */
            iload 2 /* top */
            iconst_1
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            iload 3 /* tempIsSelected */
            invokevirtual android.widget.ListView.makeAndAddView:(IIZIZ)Landroid/view/View;
            astore 4 /* temp */
        start local 4 // android.view.View temp
         4: .line 1484
            aload 0 /* this */
            iload 1 /* position */
            putfield android.widget.ListView.mFirstPosition:I
         5: .line 1489
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            istore 7 /* dividerHeight */
        start local 7 // int dividerHeight
         6: .line 1490
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 14
         7: .line 1491
            aload 0 /* this */
            iload 1 /* position */
            iconst_1
            isub
            aload 4 /* temp */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* dividerHeight */
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            astore 5 /* above */
        start local 5 // android.view.View above
         8: .line 1493
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
         9: .line 1494
            aload 0 /* this */
            iload 1 /* position */
            iconst_1
            iadd
            aload 4 /* temp */
            invokevirtual android.view.View.getBottom:()I
            iload 7 /* dividerHeight */
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            astore 6 /* below */
        start local 6 // android.view.View below
        10: .line 1495
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 8 /* childCount */
        start local 8 // int childCount
        11: .line 1496
            iload 8 /* childCount */
            ifle 20
        12: .line 1497
            aload 0 /* this */
            iload 8 /* childCount */
            invokevirtual android.widget.ListView.correctTooHigh:(I)V
        end local 8 // int childCount
        13: .line 1499
            goto 20
        end local 6 // android.view.View below
        end local 5 // android.view.View above
        14: .line 1500
      StackMap locals: android.widget.ListView int int int android.view.View top top int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* position */
            iconst_1
            iadd
            aload 4 /* temp */
            invokevirtual android.view.View.getBottom:()I
            iload 7 /* dividerHeight */
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            astore 6 /* below */
        start local 6 // android.view.View below
        15: .line 1502
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
        16: .line 1503
            aload 0 /* this */
            iload 1 /* position */
            iconst_1
            isub
            aload 4 /* temp */
            invokevirtual android.view.View.getTop:()I
            iload 7 /* dividerHeight */
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            astore 5 /* above */
        start local 5 // android.view.View above
        17: .line 1504
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 8 /* childCount */
        start local 8 // int childCount
        18: .line 1505
            iload 8 /* childCount */
            ifle 20
        19: .line 1506
            aload 0 /* this */
            iload 8 /* childCount */
            invokevirtual android.widget.ListView.correctTooLow:(I)V
        end local 8 // int childCount
        20: .line 1510
      StackMap locals: android.widget.ListView int int int android.view.View android.view.View android.view.View int
      StackMap stack:
            iload 3 /* tempIsSelected */
            ifeq 22
        21: .line 1511
            aload 4 /* temp */
            areturn
        22: .line 1512
      StackMap locals:
      StackMap stack:
            aload 5 /* above */
            ifnull 24
        23: .line 1513
            aload 5 /* above */
            areturn
        24: .line 1515
      StackMap locals:
      StackMap stack:
            aload 6 /* below */
            areturn
        end local 7 // int dividerHeight
        end local 6 // android.view.View below
        end local 5 // android.view.View above
        end local 4 // android.view.View temp
        end local 3 // boolean tempIsSelected
        end local 2 // int top
        end local 1 // int position
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Landroid/widget/ListView;
            0   25     1        position  I
            0   25     2             top  I
            3   25     3  tempIsSelected  Z
            4   25     4            temp  Landroid/view/View;
            8   14     5           above  Landroid/view/View;
           17   25     5           above  Landroid/view/View;
           10   14     6           below  Landroid/view/View;
           15   25     6           below  Landroid/view/View;
            6   25     7   dividerHeight  I
           11   13     8      childCount  I
           18   20     8      childCount  I
    MethodParameters:
          Name  Flags
      position  
      top       

  private void correctTooHigh(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int childCount
         0: .line 1529
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 1 /* childCount */
            iadd
            iconst_1
            isub
            istore 2 /* lastPosition */
        start local 2 // int lastPosition
         1: .line 1530
            iload 2 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpne 15
            iload 1 /* childCount */
            ifle 15
         2: .line 1533
            aload 0 /* this */
            iload 1 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 3 /* lastChild */
        start local 3 // android.view.View lastChild
         3: .line 1536
            aload 3 /* lastChild */
            invokevirtual android.view.View.getBottom:()I
            istore 4 /* lastBottom */
        start local 4 // int lastBottom
         4: .line 1539
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 5 /* end */
        start local 5 // int end
         5: .line 1543
            iload 5 /* end */
            iload 4 /* lastBottom */
            isub
            istore 6 /* bottomOffset */
        start local 6 // int bottomOffset
         6: .line 1544
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 7 /* firstChild */
        start local 7 // android.view.View firstChild
         7: .line 1545
            aload 7 /* firstChild */
            invokevirtual android.view.View.getTop:()I
            istore 8 /* firstTop */
        start local 8 // int firstTop
         8: .line 1549
            iload 6 /* bottomOffset */
            ifle 15
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifgt 9
            iload 8 /* firstTop */
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            if_icmpge 15
         9: .line 1550
      StackMap locals: android.widget.ListView int int android.view.View int int int android.view.View int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifne 11
        10: .line 1552
            iload 6 /* bottomOffset */
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 8 /* firstTop */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* bottomOffset */
        11: .line 1555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* bottomOffset */
            invokevirtual android.widget.ListView.offsetChildrenTopAndBottom:(I)V
        12: .line 1556
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifle 15
        13: .line 1559
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iconst_1
            isub
            aload 7 /* firstChild */
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            isub
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            pop
        14: .line 1561
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
        end local 8 // int firstTop
        end local 7 // android.view.View firstChild
        end local 6 // int bottomOffset
        end local 5 // int end
        end local 4 // int lastBottom
        end local 3 // android.view.View lastChild
        15: .line 1566
      StackMap locals: android.widget.ListView int int
      StackMap stack:
            return
        end local 2 // int lastPosition
        end local 1 // int childCount
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Landroid/widget/ListView;
            0   16     1    childCount  I
            1   16     2  lastPosition  I
            3   15     3     lastChild  Landroid/view/View;
            4   15     4    lastBottom  I
            5   15     5           end  I
            6   15     6  bottomOffset  I
            7   15     7    firstChild  Landroid/view/View;
            8   15     8      firstTop  I
    MethodParameters:
            Name  Flags
      childCount  

  private void correctTooLow(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int childCount
         0: .line 1578
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifne 20
            iload 1 /* childCount */
            ifle 20
         1: .line 1581
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 2 /* firstChild */
        start local 2 // android.view.View firstChild
         2: .line 1584
            aload 2 /* firstChild */
            invokevirtual android.view.View.getTop:()I
            istore 3 /* firstTop */
        start local 3 // int firstTop
         3: .line 1587
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 4 /* start */
        start local 4 // int start
         4: .line 1590
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 5 /* end */
        start local 5 // int end
         5: .line 1594
            iload 3 /* firstTop */
            iload 4 /* start */
            isub
            istore 6 /* topOffset */
        start local 6 // int topOffset
         6: .line 1595
            aload 0 /* this */
            iload 1 /* childCount */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 7 /* lastChild */
        start local 7 // android.view.View lastChild
         7: .line 1596
            aload 7 /* lastChild */
            invokevirtual android.view.View.getBottom:()I
            istore 8 /* lastBottom */
        start local 8 // int lastBottom
         8: .line 1597
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 1 /* childCount */
            iadd
            iconst_1
            isub
            istore 9 /* lastPosition */
        start local 9 // int lastPosition
         9: .line 1601
            iload 6 /* topOffset */
            ifle 20
        10: .line 1602
            iload 9 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmplt 11
            iload 8 /* lastBottom */
            iload 5 /* end */
            if_icmple 18
        11: .line 1603
      StackMap locals: android.widget.ListView int android.view.View int int int int android.view.View int int
      StackMap stack:
            iload 9 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpne 13
        12: .line 1605
            iload 6 /* topOffset */
            iload 8 /* lastBottom */
            iload 5 /* end */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* topOffset */
        13: .line 1608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* topOffset */
            ineg
            invokevirtual android.widget.ListView.offsetChildrenTopAndBottom:(I)V
        14: .line 1609
            iload 9 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpge 20
        15: .line 1612
            aload 0 /* this */
            iload 9 /* lastPosition */
            iconst_1
            iadd
            aload 7 /* lastChild */
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            iadd
            invokevirtual android.widget.ListView.fillDown:(II)Landroid/view/View;
            pop
        16: .line 1614
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
        17: .line 1616
            goto 20
      StackMap locals:
      StackMap stack:
        18: iload 9 /* lastPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpne 20
        19: .line 1617
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
        end local 9 // int lastPosition
        end local 8 // int lastBottom
        end local 7 // android.view.View lastChild
        end local 6 // int topOffset
        end local 5 // int end
        end local 4 // int start
        end local 3 // int firstTop
        end local 2 // android.view.View firstChild
        20: .line 1621
      StackMap locals: android.widget.ListView int
      StackMap stack:
            return
        end local 1 // int childCount
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Landroid/widget/ListView;
            0   21     1    childCount  I
            2   20     2    firstChild  Landroid/view/View;
            3   20     3      firstTop  I
            4   20     4         start  I
            5   20     5           end  I
            6   20     6     topOffset  I
            7   20     7     lastChild  Landroid/view/View;
            8   20     8    lastBottom  I
            9   20     9  lastPosition  I
    MethodParameters:
            Name  Flags
      childCount  

  protected void layoutChildren();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=25, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 1625
            aload 0 /* this */
            getfield android.widget.ListView.mBlockLayoutRequests:Z
            istore 1 /* blockLayoutRequests */
        start local 1 // boolean blockLayoutRequests
         1: .line 1626
            iload 1 /* blockLayoutRequests */
            ifeq 3
         2: .line 1627
            return
         3: .line 1630
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.widget.ListView.mBlockLayoutRequests:Z
         4: .line 1633
            aload 0 /* this */
            invokespecial android.widget.AbsListView.layoutChildren:()V
         5: .line 1635
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
         6: .line 1637
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnonnull 14
         7: .line 1638
            aload 0 /* this */
            invokevirtual android.widget.ListView.resetList:()V
         8: .line 1639
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
         9: .line 1960
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnull 11
        10: .line 1961
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            invokevirtual android.widget.ListView$FocusSelector.onLayoutComplete:()V
        11: .line 1963
      StackMap locals:
      StackMap stack:
            iload 1 /* blockLayoutRequests */
            ifne 13
        12: .line 1964
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mBlockLayoutRequests:Z
        13: .line 1640
      StackMap locals:
      StackMap stack:
            return
        14: .line 1643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 2 /* childrenTop */
        start local 2 // int childrenTop
        15: .line 1644
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 3 /* childrenBottom */
        start local 3 // int childrenBottom
        16: .line 1645
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 4 /* childCount */
        start local 4 // int childCount
        17: .line 1647
            iconst_0
            istore 5 /* index */
        start local 5 // int index
        18: .line 1648
            iconst_0
            istore 6 /* delta */
        start local 6 // int delta
        19: .line 1651
            aconst_null
            astore 8 /* oldSel */
        start local 8 // android.view.View oldSel
        20: .line 1652
            aconst_null
            astore 9 /* oldFirst */
        start local 9 // android.view.View oldFirst
        21: .line 1653
            aconst_null
            astore 10 /* newSel */
        start local 10 // android.view.View newSel
        22: .line 1656
            aload 0 /* this */
            getfield android.widget.ListView.mLayoutMode:I
            tableswitch { // 1 - 6
                    1: 27
                    2: 23
                    3: 27
                    4: 27
                    5: 27
                    6: 28
              default: 28
          }
        23: .line 1658
      StackMap locals: android.widget.ListView int int int int int int top android.view.View android.view.View android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mNextSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 5 /* index */
        24: .line 1659
            iload 5 /* index */
            iflt 35
            iload 5 /* index */
            iload 4 /* childCount */
            if_icmpge 35
        25: .line 1660
            aload 0 /* this */
            iload 5 /* index */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 10 /* newSel */
        26: .line 1662
            goto 35
        27: .line 1667
      StackMap locals:
      StackMap stack:
            goto 35
        28: .line 1671
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 5 /* index */
        29: .line 1672
            iload 5 /* index */
            iflt 31
            iload 5 /* index */
            iload 4 /* childCount */
            if_icmpge 31
        30: .line 1673
            aload 0 /* this */
            iload 5 /* index */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 8 /* oldSel */
        31: .line 1677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 9 /* oldFirst */
        32: .line 1679
            aload 0 /* this */
            getfield android.widget.ListView.mNextSelectedPosition:I
            iflt 34
        33: .line 1680
            aload 0 /* this */
            getfield android.widget.ListView.mNextSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            isub
            istore 6 /* delta */
        34: .line 1684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            iload 6 /* delta */
            iadd
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 10 /* newSel */
        35: .line 1688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDataChanged:Z
            istore 11 /* dataChanged */
        start local 11 // boolean dataChanged
        36: .line 1689
            iload 11 /* dataChanged */
            ifeq 38
        37: .line 1690
            aload 0 /* this */
            invokevirtual android.widget.ListView.handleDataChanged:()V
        38: .line 1695
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            ifne 46
        39: .line 1696
            aload 0 /* this */
            invokevirtual android.widget.ListView.resetList:()V
        40: .line 1697
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
        41: .line 1960
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnull 43
        42: .line 1961
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            invokevirtual android.widget.ListView$FocusSelector.onLayoutComplete:()V
        43: .line 1963
      StackMap locals:
      StackMap stack:
            iload 1 /* blockLayoutRequests */
            ifne 45
        44: .line 1964
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mBlockLayoutRequests:Z
        45: .line 1698
      StackMap locals:
      StackMap stack:
            return
        46: .line 1699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
            if_icmpeq 51
        47: .line 1700
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 1704
            aload 0 /* this */
            invokevirtual android.widget.ListView.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        49: .line 1705
            ldc ") with Adapter("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 1700
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 1708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mNextSelectedPosition:I
            invokevirtual android.widget.ListView.setSelectedPositionInt:(I)V
        52: .line 1710
            aconst_null
            astore 12 /* accessibilityFocusLayoutRestoreNode */
        start local 12 // android.view.accessibility.AccessibilityNodeInfo accessibilityFocusLayoutRestoreNode
        53: .line 1711
            aconst_null
            astore 13 /* accessibilityFocusLayoutRestoreView */
        start local 13 // android.view.View accessibilityFocusLayoutRestoreView
        54: .line 1712
            iconst_m1
            istore 14 /* accessibilityFocusPosition */
        start local 14 // int accessibilityFocusPosition
        55: .line 1717
            aload 0 /* this */
            invokevirtual android.widget.ListView.getViewRootImpl:()Landroid/view/ViewRootImpl;
            astore 15 /* viewRootImpl */
        start local 15 // android.view.ViewRootImpl viewRootImpl
        56: .line 1718
            aload 15 /* viewRootImpl */
            ifnull 68
        57: .line 1719
            aload 15 /* viewRootImpl */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedHost:()Landroid/view/View;
            astore 16 /* focusHost */
        start local 16 // android.view.View focusHost
        58: .line 1720
            aload 16 /* focusHost */
            ifnull 68
        59: .line 1721
            aload 0 /* this */
            aload 16 /* focusHost */
            invokevirtual android.widget.ListView.getAccessibilityFocusedChild:(Landroid/view/View;)Landroid/view/View;
            astore 17 /* focusChild */
        start local 17 // android.view.View focusChild
        60: .line 1722
            aload 17 /* focusChild */
            ifnull 68
        61: .line 1723
            iload 11 /* dataChanged */
            ifeq 63
            aload 0 /* this */
            aload 17 /* focusChild */
            invokevirtual android.widget.ListView.isDirectChildHeaderOrFooter:(Landroid/view/View;)Z
            ifne 63
        62: .line 1724
            aload 17 /* focusChild */
            invokevirtual android.view.View.hasTransientState:()Z
            ifeq 67
            aload 0 /* this */
            getfield android.widget.ListView.mAdapterHasStableIds:Z
            ifeq 67
        63: .line 1727
      StackMap locals: android.widget.ListView int int int int int 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 */
        64: .line 1728
            aload 15 /* viewRootImpl */
        65: .line 1729
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedVirtualView:()Landroid/view/accessibility/AccessibilityNodeInfo;
        66: .line 1728
            astore 12 /* accessibilityFocusLayoutRestoreNode */
        67: .line 1734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 17 /* focusChild */
            invokevirtual android.widget.ListView.getPositionForView:(Landroid/view/View;)I
            istore 14 /* accessibilityFocusPosition */
        end local 17 // android.view.View focusChild
        end local 16 // android.view.View focusHost
        68: .line 1739
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 16 /* focusLayoutRestoreDirectChild */
        start local 16 // android.view.View focusLayoutRestoreDirectChild
        69: .line 1740
            aconst_null
            astore 17 /* focusLayoutRestoreView */
        start local 17 // android.view.View focusLayoutRestoreView
        70: .line 1745
            aload 0 /* this */
            invokevirtual android.widget.ListView.getFocusedChild:()Landroid/view/View;
            astore 18 /* focusedChild */
        start local 18 // android.view.View focusedChild
        71: .line 1746
            aload 18 /* focusedChild */
            ifnull 79
        72: .line 1752
            iload 11 /* dataChanged */
            ifeq 74
            aload 0 /* this */
            aload 18 /* focusedChild */
            invokevirtual android.widget.ListView.isDirectChildHeaderOrFooter:(Landroid/view/View;)Z
            ifne 74
        73: .line 1753
            aload 18 /* focusedChild */
            invokevirtual android.view.View.hasTransientState:()Z
            ifne 74
            aload 0 /* this */
            getfield android.widget.ListView.mAdapterHasStableIds:Z
            ifeq 78
        74: .line 1754
      StackMap locals: android.view.View android.view.View android.view.View
      StackMap stack:
            aload 18 /* focusedChild */
            astore 16 /* focusLayoutRestoreDirectChild */
        75: .line 1756
            aload 0 /* this */
            invokevirtual android.widget.ListView.findFocus:()Landroid/view/View;
            astore 17 /* focusLayoutRestoreView */
        76: .line 1757
            aload 17 /* focusLayoutRestoreView */
            ifnull 78
        77: .line 1759
            aload 17 /* focusLayoutRestoreView */
            invokevirtual android.view.View.dispatchStartTemporaryDetach:()V
        78: .line 1762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.requestFocus:()Z
            pop
        79: .line 1767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            istore 19 /* firstPosition */
        start local 19 // int firstPosition
        80: .line 1768
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            astore 20 /* recycleBin */
        start local 20 // android.widget.AbsListView$RecycleBin recycleBin
        81: .line 1769
            iload 11 /* dataChanged */
            ifeq 88
        82: .line 1770
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        83: goto 86
        84: .line 1771
      StackMap locals: int android.widget.AbsListView$RecycleBin int
      StackMap stack:
            aload 20 /* recycleBin */
            aload 0 /* this */
            iload 21 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            iload 19 /* firstPosition */
            iload 21 /* i */
            iadd
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        85: .line 1770
            iinc 21 /* i */ 1
      StackMap locals:
      StackMap stack:
        86: iload 21 /* i */
            iload 4 /* childCount */
            if_icmplt 84
        end local 21 // int i
        87: .line 1773
            goto 89
        88: .line 1774
      StackMap locals:
      StackMap stack:
            aload 20 /* recycleBin */
            iload 4 /* childCount */
            iload 19 /* firstPosition */
            invokevirtual android.widget.AbsListView$RecycleBin.fillActiveViews:(II)V
        89: .line 1778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.detachAllViewsFromParent:()V
        90: .line 1779
            aload 20 /* recycleBin */
            invokevirtual android.widget.AbsListView$RecycleBin.removeSkippedScrap:()V
        91: .line 1781
            aload 0 /* this */
            getfield android.widget.ListView.mLayoutMode:I
            tableswitch { // 1 - 6
                    1: 102
                    2: 92
                    3: 99
                    4: 106
                    5: 97
                    6: 115
              default: 117
          }
        92: .line 1783
      StackMap locals:
      StackMap stack:
            aload 10 /* newSel */
            ifnull 95
        93: .line 1784
            aload 0 /* this */
            aload 10 /* newSel */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* childrenTop */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.ListView.fillFromSelection:(III)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        94: .line 1785
            goto 140
        end local 7 // android.view.View sel
        95: .line 1786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* childrenTop */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.ListView.fillFromMiddle:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        96: .line 1788
            goto 140
        end local 7 // android.view.View sel
        97: .line 1790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSyncPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mSpecificTop:I
            invokevirtual android.widget.ListView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
        98: .line 1791
            goto 140
        end local 7 // android.view.View sel
        99: .line 1793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            iload 3 /* childrenBottom */
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       100: .line 1794
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
       101: .line 1795
            goto 140
        end local 7 // android.view.View sel
       102: .line 1797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mFirstPosition:I
       103: .line 1798
            aload 0 /* this */
            iload 2 /* childrenTop */
            invokevirtual android.widget.ListView.fillFromTop:(I)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       104: .line 1799
            aload 0 /* this */
            invokevirtual android.widget.ListView.adjustViewsUpOrDown:()V
       105: .line 1800
            goto 140
        end local 7 // android.view.View sel
       106: .line 1802
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.reconcileSelectedPosition:()I
            istore 21 /* selectedPosition */
        start local 21 // int selectedPosition
       107: .line 1803
            aload 0 /* this */
            iload 21 /* selectedPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mSpecificTop:I
            invokevirtual android.widget.ListView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       108: .line 1810
            aload 7 /* sel */
            ifnonnull 140
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnull 140
       109: .line 1811
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
       110: .line 1812
            iload 21 /* selectedPosition */
            invokevirtual android.widget.ListView$FocusSelector.setupFocusIfValid:(I)Ljava/lang/Runnable;
       111: .line 1811
            astore 22 /* focusRunnable */
        start local 22 // java.lang.Runnable focusRunnable
       112: .line 1813
            aload 22 /* focusRunnable */
            ifnull 140
       113: .line 1814
            aload 0 /* this */
            aload 22 /* focusRunnable */
            invokevirtual android.widget.ListView.post:(Ljava/lang/Runnable;)Z
            pop
        end local 22 // java.lang.Runnable focusRunnable
       114: .line 1817
            goto 140
        end local 21 // int selectedPosition
        end local 7 // android.view.View sel
       115: .line 1819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldSel */
            aload 10 /* newSel */
            iload 6 /* delta */
            iload 2 /* childrenTop */
            iload 3 /* childrenBottom */
            invokevirtual android.widget.ListView.moveSelection:(Landroid/view/View;Landroid/view/View;III)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       116: .line 1820
            goto 140
        end local 7 // android.view.View sel
       117: .line 1822
      StackMap locals:
      StackMap stack:
            iload 4 /* childCount */
            ifne 127
       118: .line 1823
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 123
       119: .line 1824
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual android.widget.ListView.lookForSelectablePosition:(IZ)I
            istore 22 /* position */
        start local 22 // int position
       120: .line 1825
            aload 0 /* this */
            iload 22 /* position */
            invokevirtual android.widget.ListView.setSelectedPositionInt:(I)V
       121: .line 1826
            aload 0 /* this */
            iload 2 /* childrenTop */
            invokevirtual android.widget.ListView.fillFromTop:(I)Landroid/view/View;
            astore 7 /* sel */
        end local 22 // int position
        start local 7 // android.view.View sel
       122: .line 1827
            goto 140
        end local 7 // android.view.View sel
       123: .line 1828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            iconst_0
            invokevirtual android.widget.ListView.lookForSelectablePosition:(IZ)I
            istore 22 /* position */
        start local 22 // int position
       124: .line 1829
            aload 0 /* this */
            iload 22 /* position */
            invokevirtual android.widget.ListView.setSelectedPositionInt:(I)V
       125: .line 1830
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            iload 3 /* childrenBottom */
            invokevirtual android.widget.ListView.fillUp:(II)Landroid/view/View;
            astore 7 /* sel */
        end local 22 // int position
        start local 7 // android.view.View sel
       126: .line 1832
            goto 140
        end local 7 // android.view.View sel
       127: .line 1833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iflt 133
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            if_icmpge 133
       128: .line 1834
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
       129: .line 1835
            aload 8 /* oldSel */
            ifnonnull 130
            iload 2 /* childrenTop */
            goto 131
      StackMap locals: android.widget.ListView int int int int int 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 android.view.View int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.ListView int
       130: aload 8 /* oldSel */
            invokevirtual android.view.View.getTop:()I
       131: .line 1834
      StackMap locals: android.widget.ListView int int int int int 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 android.view.View int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.ListView int int
            invokevirtual android.widget.ListView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       132: .line 1836
            goto 140
        end local 7 // android.view.View sel
      StackMap locals:
      StackMap stack:
       133: aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            if_icmpge 139
       134: .line 1837
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
       135: .line 1838
            aload 9 /* oldFirst */
            ifnonnull 136
            iload 2 /* childrenTop */
            goto 137
      StackMap locals: android.widget.ListView int int int int int 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 android.view.View int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.ListView int
       136: aload 9 /* oldFirst */
            invokevirtual android.view.View.getTop:()I
       137: .line 1837
      StackMap locals: android.widget.ListView int int int int int 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 android.view.View int android.widget.AbsListView$RecycleBin
      StackMap stack: android.widget.ListView int int
            invokevirtual android.widget.ListView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       138: .line 1839
            goto 140
        end local 7 // android.view.View sel
       139: .line 1840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 2 /* childrenTop */
            invokevirtual android.widget.ListView.fillSpecific:(II)Landroid/view/View;
            astore 7 /* sel */
        start local 7 // android.view.View sel
       140: .line 1847
      StackMap locals: android.widget.ListView int int int int int 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 android.view.View android.view.View android.view.View int android.widget.AbsListView$RecycleBin
      StackMap stack:
            aload 20 /* recycleBin */
            invokevirtual android.widget.AbsListView$RecycleBin.scrapActiveViews:()V
       141: .line 1850
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeUnusedFixedViews:(Ljava/util/List;)V
       142: .line 1851
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeUnusedFixedViews:(Ljava/util/List;)V
       143: .line 1853
            aload 7 /* sel */
            ifnull 164
       144: .line 1856
            aload 0 /* this */
            getfield android.widget.ListView.mItemsCanFocus:Z
            ifeq 161
            aload 0 /* this */
            invokevirtual android.widget.ListView.hasFocus:()Z
            ifeq 161
            aload 7 /* sel */
            invokevirtual android.view.View.hasFocus:()Z
            ifne 161
       145: .line 1857
            aload 7 /* sel */
            aload 16 /* focusLayoutRestoreDirectChild */
            if_acmpne 148
       146: .line 1858
            aload 17 /* focusLayoutRestoreView */
            ifnull 148
       147: .line 1859
            aload 17 /* focusLayoutRestoreView */
            invokevirtual android.view.View.requestFocus:()Z
            ifne 150
      StackMap locals:
      StackMap stack:
       148: aload 7 /* sel */
            invokevirtual android.view.View.requestFocus:()Z
            ifne 150
       149: .line 1857
            iconst_0
            goto 151
      StackMap locals:
      StackMap stack:
       150: iconst_1
      StackMap locals:
      StackMap stack: int
       151: istore 21 /* focusWasTaken */
        start local 21 // boolean focusWasTaken
       152: .line 1860
            iload 21 /* focusWasTaken */
            ifne 158
       153: .line 1864
            aload 0 /* this */
            invokevirtual android.widget.ListView.getFocusedChild:()Landroid/view/View;
            astore 22 /* focused */
        start local 22 // android.view.View focused
       154: .line 1865
            aload 22 /* focused */
            ifnull 156
       155: .line 1866
            aload 22 /* focused */
            invokevirtual android.view.View.clearFocus:()V
       156: .line 1868
      StackMap locals: int android.view.View
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            aload 7 /* sel */
            invokevirtual android.widget.ListView.positionSelector:(ILandroid/view/View;)V
        end local 22 // android.view.View focused
       157: .line 1869
            goto 162
       158: .line 1870
      StackMap locals:
      StackMap stack:
            aload 7 /* sel */
            iconst_0
            invokevirtual android.view.View.setSelected:(Z)V
       159: .line 1871
            aload 0 /* this */
            getfield android.widget.ListView.mSelectorRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.setEmpty:()V
        end local 21 // boolean focusWasTaken
       160: .line 1873
            goto 162
       161: .line 1874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            aload 7 /* sel */
            invokevirtual android.widget.ListView.positionSelector:(ILandroid/view/View;)V
       162: .line 1876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* sel */
            invokevirtual android.view.View.getTop:()I
            putfield android.widget.ListView.mSelectedTop:I
       163: .line 1877
            goto 183
       164: .line 1878
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mTouchMode:I
            iconst_1
            if_icmpeq 167
       165: .line 1879
            aload 0 /* this */
            getfield android.widget.ListView.mTouchMode:I
            iconst_2
            if_icmpeq 167
       166: .line 1878
            iconst_0
            goto 168
      StackMap locals:
      StackMap stack:
       167: iconst_1
      StackMap locals:
      StackMap stack: int
       168: istore 21 /* inTouchMode */
        start local 21 // boolean inTouchMode
       169: .line 1880
            iload 21 /* inTouchMode */
            ifeq 174
       170: .line 1882
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mMotionPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 22 /* child */
        start local 22 // android.view.View child
       171: .line 1883
            aload 22 /* child */
            ifnull 181
       172: .line 1884
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mMotionPosition:I
            aload 22 /* child */
            invokevirtual android.widget.ListView.positionSelector:(ILandroid/view/View;)V
        end local 22 // android.view.View child
       173: .line 1886
            goto 181
      StackMap locals: int
      StackMap stack:
       174: aload 0 /* this */
            getfield android.widget.ListView.mSelectorPosition:I
            iconst_m1
            if_icmpeq 179
       175: .line 1890
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectorPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 22 /* child */
        start local 22 // android.view.View child
       176: .line 1891
            aload 22 /* child */
            ifnull 181
       177: .line 1892
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectorPosition:I
            aload 22 /* child */
            invokevirtual android.widget.ListView.positionSelector:(ILandroid/view/View;)V
        end local 22 // android.view.View child
       178: .line 1894
            goto 181
       179: .line 1896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mSelectedTop:I
       180: .line 1897
            aload 0 /* this */
            getfield android.widget.ListView.mSelectorRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Rect.setEmpty:()V
       181: .line 1902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.hasFocus:()Z
            ifeq 183
            aload 17 /* focusLayoutRestoreView */
            ifnull 183
       182: .line 1903
            aload 17 /* focusLayoutRestoreView */
            invokevirtual android.view.View.requestFocus:()Z
            pop
        end local 21 // boolean inTouchMode
       183: .line 1908
      StackMap locals:
      StackMap stack:
            aload 15 /* viewRootImpl */
            ifnull 206
       184: .line 1909
            aload 15 /* viewRootImpl */
            invokevirtual android.view.ViewRootImpl.getAccessibilityFocusedHost:()Landroid/view/View;
            astore 21 /* newAccessibilityFocusedView */
        start local 21 // android.view.View newAccessibilityFocusedView
       185: .line 1910
            aload 21 /* newAccessibilityFocusedView */
            ifnonnull 206
       186: .line 1911
            aload 13 /* accessibilityFocusLayoutRestoreView */
            ifnull 199
       187: .line 1912
            aload 13 /* accessibilityFocusLayoutRestoreView */
            invokevirtual android.view.View.isAttachedToWindow:()Z
            ifeq 199
       188: .line 1914
            aload 13 /* accessibilityFocusLayoutRestoreView */
            invokevirtual android.view.View.getAccessibilityNodeProvider:()Landroid/view/accessibility/AccessibilityNodeProvider;
       189: .line 1913
            astore 22 /* provider */
        start local 22 // android.view.accessibility.AccessibilityNodeProvider provider
       190: .line 1915
            aload 12 /* accessibilityFocusLayoutRestoreNode */
            ifnull 197
            aload 22 /* provider */
            ifnull 197
       191: .line 1917
            aload 12 /* accessibilityFocusLayoutRestoreNode */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId:()J
       192: .line 1916
            invokestatic android.view.accessibility.AccessibilityNodeInfo.getVirtualDescendantId:(J)I
            istore 23 /* virtualViewId */
        start local 23 // int virtualViewId
       193: .line 1918
            aload 22 /* provider */
            iload 23 /* virtualViewId */
       194: .line 1919
            bipush 64
            aconst_null
       195: .line 1918
            invokevirtual android.view.accessibility.AccessibilityNodeProvider.performAction:(IILandroid/os/Bundle;)Z
            pop
        end local 23 // int virtualViewId
       196: .line 1920
            goto 206
       197: .line 1921
      StackMap locals: android.view.View android.view.accessibility.AccessibilityNodeProvider
      StackMap stack:
            aload 13 /* accessibilityFocusLayoutRestoreView */
            invokevirtual android.view.View.requestAccessibilityFocus:()Z
            pop
        end local 22 // android.view.accessibility.AccessibilityNodeProvider provider
       198: .line 1923
            goto 206
      StackMap locals:
      StackMap stack:
       199: iload 14 /* accessibilityFocusPosition */
            iconst_m1
            if_icmpeq 206
       200: .line 1926
            iload 14 /* accessibilityFocusPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            iconst_0
       201: .line 1927
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iconst_1
            isub
       202: .line 1925
            invokestatic android.util.MathUtils.constrain:(III)I
            istore 22 /* position */
        start local 22 // int position
       203: .line 1928
            aload 0 /* this */
            iload 22 /* position */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 23 /* restoreView */
        start local 23 // android.view.View restoreView
       204: .line 1929
            aload 23 /* restoreView */
            ifnull 206
       205: .line 1930
            aload 23 /* restoreView */
            invokevirtual android.view.View.requestAccessibilityFocus:()Z
            pop
        end local 23 // android.view.View restoreView
        end local 22 // int position
        end local 21 // android.view.View newAccessibilityFocusedView
       206: .line 1938
      StackMap locals:
      StackMap stack:
            aload 17 /* focusLayoutRestoreView */
            ifnull 209
       207: .line 1939
            aload 17 /* focusLayoutRestoreView */
            invokevirtual android.view.View.getWindowToken:()Landroid/os/IBinder;
            ifnull 209
       208: .line 1940
            aload 17 /* focusLayoutRestoreView */
            invokevirtual android.view.View.dispatchFinishTemporaryDetach:()V
       209: .line 1943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mLayoutMode:I
       210: .line 1944
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mDataChanged:Z
       211: .line 1945
            aload 0 /* this */
            getfield android.widget.ListView.mPositionScrollAfterLayout:Ljava/lang/Runnable;
            ifnull 214
       212: .line 1946
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mPositionScrollAfterLayout:Ljava/lang/Runnable;
            invokevirtual android.widget.ListView.post:(Ljava/lang/Runnable;)Z
            pop
       213: .line 1947
            aload 0 /* this */
            aconst_null
            putfield android.widget.ListView.mPositionScrollAfterLayout:Ljava/lang/Runnable;
       214: .line 1949
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mNeedSync:Z
       215: .line 1950
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            invokevirtual android.widget.ListView.setNextSelectedPositionInt:(I)V
       216: .line 1952
            aload 0 /* this */
            invokevirtual android.widget.ListView.updateScrollIndicators:()V
       217: .line 1954
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            ifle 219
       218: .line 1955
            aload 0 /* this */
            invokevirtual android.widget.ListView.checkSelectionChanged:()V
       219: .line 1958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
        end local 20 // android.widget.AbsListView$RecycleBin recycleBin
        end local 19 // int firstPosition
        end local 18 // android.view.View focusedChild
        end local 17 // android.view.View focusLayoutRestoreView
        end local 16 // android.view.View focusLayoutRestoreDirectChild
        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 5 // int index
        end local 4 // int childCount
        end local 3 // int childrenBottom
        end local 2 // int childrenTop
       220: .line 1959
            goto 227
      StackMap locals: android.widget.ListView int
      StackMap stack: java.lang.Throwable
       221: astore 24
       222: .line 1960
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnull 224
       223: .line 1961
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            invokevirtual android.widget.ListView$FocusSelector.onLayoutComplete:()V
       224: .line 1963
      StackMap locals: android.widget.ListView int top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            iload 1 /* blockLayoutRequests */
            ifne 226
       225: .line 1964
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mBlockLayoutRequests:Z
       226: .line 1966
      StackMap locals:
      StackMap stack:
            aload 24
            athrow
       227: .line 1960
      StackMap locals: android.widget.ListView int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            ifnull 229
       228: .line 1961
            aload 0 /* this */
            getfield android.widget.ListView.mFocusSelector:Landroid/widget/ListView$FocusSelector;
            invokevirtual android.widget.ListView$FocusSelector.onLayoutComplete:()V
       229: .line 1963
      StackMap locals:
      StackMap stack:
            iload 1 /* blockLayoutRequests */
            ifne 231
       230: .line 1964
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mBlockLayoutRequests:Z
       231: .line 1967
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean blockLayoutRequests
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                                 Name  Signature
            0  232     0                                 this  Landroid/widget/ListView;
            1  232     1                  blockLayoutRequests  Z
           15  220     2                          childrenTop  I
           16  220     3                       childrenBottom  I
           17  220     4                           childCount  I
           18  220     5                                index  I
           19  220     6                                delta  I
           94   95     7                                  sel  Landroid/view/View;
           96   97     7                                  sel  Landroid/view/View;
           98   99     7                                  sel  Landroid/view/View;
          100  102     7                                  sel  Landroid/view/View;
          104  106     7                                  sel  Landroid/view/View;
          108  115     7                                  sel  Landroid/view/View;
          116  117     7                                  sel  Landroid/view/View;
          122  123     7                                  sel  Landroid/view/View;
          126  127     7                                  sel  Landroid/view/View;
          132  133     7                                  sel  Landroid/view/View;
          138  139     7                                  sel  Landroid/view/View;
          140  220     7                                  sel  Landroid/view/View;
           20  220     8                               oldSel  Landroid/view/View;
           21  220     9                             oldFirst  Landroid/view/View;
           22  220    10                               newSel  Landroid/view/View;
           36  220    11                          dataChanged  Z
           53  220    12  accessibilityFocusLayoutRestoreNode  Landroid/view/accessibility/AccessibilityNodeInfo;
           54  220    13  accessibilityFocusLayoutRestoreView  Landroid/view/View;
           55  220    14           accessibilityFocusPosition  I
           56  220    15                         viewRootImpl  Landroid/view/ViewRootImpl;
           58   68    16                            focusHost  Landroid/view/View;
           60   68    17                           focusChild  Landroid/view/View;
           69  220    16        focusLayoutRestoreDirectChild  Landroid/view/View;
           70  220    17               focusLayoutRestoreView  Landroid/view/View;
           71  220    18                         focusedChild  Landroid/view/View;
           80  220    19                        firstPosition  I
           81  220    20                           recycleBin  Landroid/widget/AbsListView$RecycleBin;
           83   87    21                                    i  I
          107  115    21                     selectedPosition  I
          112  114    22                        focusRunnable  Ljava/lang/Runnable;
          120  122    22                             position  I
          124  126    22                             position  I
          152  160    21                        focusWasTaken  Z
          154  157    22                              focused  Landroid/view/View;
          169  183    21                          inTouchMode  Z
          171  173    22                                child  Landroid/view/View;
          176  178    22                                child  Landroid/view/View;
          185  206    21          newAccessibilityFocusedView  Landroid/view/View;
          190  198    22                             provider  Landroid/view/accessibility/AccessibilityNodeProvider;
          193  196    23                        virtualViewId  I
          203  206    22                             position  I
          204  206    23                          restoreView  Landroid/view/View;
      Exception table:
        from    to  target  type
           4     9     221  any
          14    41     221  any
          46   221     221  any

  boolean trackMotionScroll(int, int);
    descriptor: (II)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int deltaY
        start local 2 // int incrementalDeltaY
         0: .line 1971
            aload 0 /* this */
            iload 1 /* deltaY */
            iload 2 /* incrementalDeltaY */
            invokespecial android.widget.AbsListView.trackMotionScroll:(II)Z
            istore 3 /* result */
        start local 3 // boolean result
         1: .line 1972
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeUnusedFixedViews:(Ljava/util/List;)V
         2: .line 1973
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeUnusedFixedViews:(Ljava/util/List;)V
         3: .line 1974
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // int incrementalDeltaY
        end local 1 // int deltaY
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Landroid/widget/ListView;
            0    4     1             deltaY  I
            0    4     2  incrementalDeltaY  I
            1    4     3             result  Z
    MethodParameters:
                   Name  Flags
      deltaY             
      incrementalDeltaY  

  private void removeUnusedFixedViews(java.util.List<android.widget.ListView$FixedViewInfo>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // java.util.List infoList
         0: .line 1984
            aload 1 /* infoList */
            ifnonnull 2
         1: .line 1985
            return
         2: .line 1987
      StackMap locals:
      StackMap stack:
            aload 1 /* infoList */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         3: goto 11
         4: .line 1988
      StackMap locals: int
      StackMap stack:
            aload 1 /* infoList */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            astore 3 /* fixedViewInfo */
        start local 3 // android.widget.ListView$FixedViewInfo fixedViewInfo
         5: .line 1989
            aload 3 /* fixedViewInfo */
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            astore 4 /* view */
        start local 4 // android.view.View view
         6: .line 1990
            aload 4 /* view */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 5 /* lp */
        start local 5 // android.widget.AbsListView$LayoutParams lp
         7: .line 1991
            aload 4 /* view */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            ifnonnull 10
            aload 5 /* lp */
            ifnull 10
            aload 5 /* lp */
            getfield android.widget.AbsListView$LayoutParams.recycledHeaderFooter:Z
            ifeq 10
         8: .line 1992
            aload 0 /* this */
            aload 4 /* view */
            iconst_0
            invokevirtual android.widget.ListView.removeDetachedView:(Landroid/view/View;Z)V
         9: .line 1993
            aload 5 /* lp */
            iconst_0
            putfield android.widget.AbsListView$LayoutParams.recycledHeaderFooter:Z
        end local 5 // android.widget.AbsListView$LayoutParams lp
        end local 4 // android.view.View view
        end local 3 // android.widget.ListView$FixedViewInfo fixedViewInfo
        10: .line 1987
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            ifge 4
        end local 2 // int i
        12: .line 1997
            return
        end local 1 // java.util.List infoList
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Landroid/widget/ListView;
            0   13     1       infoList  Ljava/util/List<Landroid/widget/ListView$FixedViewInfo;>;
            3   12     2              i  I
            5   10     3  fixedViewInfo  Landroid/widget/ListView$FixedViewInfo;
            6   10     4           view  Landroid/view/View;
            7   10     5             lp  Landroid/widget/AbsListView$LayoutParams;
    Signature: (Ljava/util/List<Landroid/widget/ListView$FixedViewInfo;>;)V
    MethodParameters:
          Name  Flags
      infoList  

  private boolean isDirectChildHeaderOrFooter(android.view.View);
    descriptor: (Landroid/view/View;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View child
         0: .line 2004
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            astore 2 /* headers */
        start local 2 // java.util.ArrayList headers
         1: .line 2005
            aload 2 /* headers */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* numHeaders */
        start local 3 // int numHeaders
         2: .line 2006
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 2007
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 1 /* child */
            aload 2 /* headers */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            if_acmpne 6
         5: .line 2008
            iconst_1
            ireturn
         6: .line 2006
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* numHeaders */
            if_icmplt 4
        end local 4 // int i
         8: .line 2012
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            astore 4 /* footers */
        start local 4 // java.util.ArrayList footers
         9: .line 2013
            aload 4 /* footers */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* numFooters */
        start local 5 // int numFooters
        10: .line 2014
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: goto 15
        12: .line 2015
      StackMap locals: android.widget.ListView android.view.View java.util.ArrayList int java.util.ArrayList int int
      StackMap stack:
            aload 1 /* child */
            aload 4 /* footers */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            if_acmpne 14
        13: .line 2016
            iconst_1
            ireturn
        14: .line 2014
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            iload 5 /* numFooters */
            if_icmplt 12
        end local 6 // int i
        16: .line 2020
            iconst_0
            ireturn
        end local 5 // int numFooters
        end local 4 // java.util.ArrayList footers
        end local 3 // int numHeaders
        end local 2 // java.util.ArrayList headers
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Landroid/widget/ListView;
            0   17     1       child  Landroid/view/View;
            1   17     2     headers  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            2   17     3  numHeaders  I
            3    8     4           i  I
            9   17     4     footers  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
           10   17     5  numFooters  I
           11   16     6           i  I
    MethodParameters:
       Name  Flags
      child  

  private android.view.View makeAndAddView(int, int, boolean, int, boolean);
    descriptor: (IIZIZ)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // android.widget.ListView 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
         0: .line 2039
            aload 0 /* this */
            getfield android.widget.ListView.mDataChanged:Z
            ifne 5
         1: .line 2041
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            iload 1 /* position */
            invokevirtual android.widget.AbsListView$RecycleBin.getActiveView:(I)Landroid/view/View;
            astore 6 /* activeView */
        start local 6 // android.view.View activeView
         2: .line 2042
            aload 6 /* activeView */
            ifnull 5
         3: .line 2045
            aload 0 /* this */
            aload 6 /* activeView */
            iload 1 /* position */
            iload 2 /* y */
            iload 3 /* flow */
            iload 4 /* childrenLeft */
            iload 5 /* selected */
            iconst_1
            invokevirtual android.widget.ListView.setupChild:(Landroid/view/View;IIZIZZ)V
         4: .line 2046
            aload 6 /* activeView */
            areturn
        end local 6 // android.view.View activeView
         5: .line 2052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* position */
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            invokevirtual android.widget.ListView.obtainView:(I[Z)Landroid/view/View;
            astore 6 /* child */
        start local 6 // android.view.View child
         6: .line 2055
            aload 0 /* this */
            aload 6 /* child */
            iload 1 /* position */
            iload 2 /* y */
            iload 3 /* flow */
            iload 4 /* childrenLeft */
            iload 5 /* selected */
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            iconst_0
            baload
            invokevirtual android.widget.ListView.setupChild:(Landroid/view/View;IIZIZZ)V
         7: .line 2057
            aload 6 /* child */
            areturn
        end local 6 // android.view.View child
        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.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/widget/ListView;
            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
            2    5     6    activeView  Landroid/view/View;
            6    8     6         child  Landroid/view/View;
    MethodParameters:
              Name  Flags
      position      
      y             
      flow          
      childrenLeft  
      selected      

  private void setupChild(android.view.View, int, int, boolean, int, boolean, boolean);
    descriptor: (Landroid/view/View;IIZIZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=20, args_size=8
        start local 0 // android.widget.ListView 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
         0: .line 2078
            ldc 8
            ldc "setupListItem"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         1: .line 2080
            iload 6 /* selected */
            ifeq 2
            aload 0 /* this */
            invokevirtual android.widget.ListView.shouldShowSelector:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 8 /* isSelected */
        start local 8 // boolean isSelected
         4: .line 2081
            iload 8 /* isSelected */
            aload 1 /* child */
            invokevirtual android.view.View.isSelected:()Z
            ixor
            istore 9 /* updateChildSelected */
        start local 9 // boolean updateChildSelected
         5: .line 2082
            aload 0 /* this */
            getfield android.widget.ListView.mTouchMode:I
            istore 10 /* mode */
        start local 10 // int mode
         6: .line 2083
            iload 10 /* mode */
            ifle 9
            iload 10 /* mode */
            iconst_3
            if_icmpge 9
         7: .line 2084
            aload 0 /* this */
            getfield android.widget.ListView.mMotionPosition:I
            iload 2 /* position */
            if_icmpne 9
         8: .line 2083
            iconst_1
            goto 10
      StackMap locals: int int int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 11 /* isPressed */
        start local 11 // boolean isPressed
        11: .line 2085
            iload 11 /* isPressed */
            aload 1 /* child */
            invokevirtual android.view.View.isPressed:()Z
            ixor
            istore 12 /* updateChildPressed */
        start local 12 // boolean updateChildPressed
        12: .line 2086
            iload 7 /* isAttachedToWindow */
            ifeq 15
            iload 9 /* updateChildSelected */
            ifne 15
        13: .line 2087
            aload 1 /* child */
            invokevirtual android.view.View.isLayoutRequested:()Z
            ifne 15
        14: .line 2086
            iconst_0
            goto 16
      StackMap locals: int int
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 13 /* needToMeasure */
        start local 13 // boolean needToMeasure
        17: .line 2091
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 14 /* p */
        start local 14 // android.widget.AbsListView$LayoutParams p
        18: .line 2092
            aload 14 /* p */
            ifnonnull 20
        19: .line 2093
            aload 0 /* this */
            invokevirtual android.widget.ListView.generateDefaultLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 14 /* p */
        20: .line 2095
      StackMap locals: int android.widget.AbsListView$LayoutParams
      StackMap stack:
            aload 14 /* p */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.getItemViewType:(I)I
            putfield android.widget.AbsListView$LayoutParams.viewType:I
        21: .line 2096
            aload 14 /* p */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            putfield android.widget.AbsListView$LayoutParams.isEnabled:Z
        22: .line 2101
            iload 9 /* updateChildSelected */
            ifeq 24
        23: .line 2102
            aload 1 /* child */
            iload 8 /* isSelected */
            invokevirtual android.view.View.setSelected:(Z)V
        24: .line 2105
      StackMap locals:
      StackMap stack:
            iload 12 /* updateChildPressed */
            ifeq 26
        25: .line 2106
            aload 1 /* child */
            iload 11 /* isPressed */
            invokevirtual android.view.View.setPressed:(Z)V
        26: .line 2109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mChoiceMode:I
            ifeq 33
            aload 0 /* this */
            getfield android.widget.ListView.mCheckStates:Landroid/util/SparseBooleanArray;
            ifnull 33
        27: .line 2110
            aload 1 /* child */
            instanceof android.widget.Checkable
            ifeq 30
        28: .line 2111
            aload 1 /* child */
            checkcast android.widget.Checkable
            aload 0 /* this */
            getfield android.widget.ListView.mCheckStates:Landroid/util/SparseBooleanArray;
            iload 2 /* position */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            invokeinterface android.widget.Checkable.setChecked:(Z)V
        29: .line 2112
            goto 33
      StackMap locals:
      StackMap stack:
        30: aload 0 /* this */
            invokevirtual android.widget.ListView.getContext:()Landroid/content/Context;
            invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
        31: .line 2113
            bipush 11
            if_icmplt 33
        32: .line 2114
            aload 1 /* child */
            aload 0 /* this */
            getfield android.widget.ListView.mCheckStates:Landroid/util/SparseBooleanArray;
            iload 2 /* position */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            invokevirtual android.view.View.setActivated:(Z)V
        33: .line 2118
      StackMap locals:
      StackMap stack:
            iload 7 /* isAttachedToWindow */
            ifeq 34
            aload 14 /* p */
            getfield android.widget.AbsListView$LayoutParams.forceAdd:Z
            ifeq 36
      StackMap locals:
      StackMap stack:
        34: aload 14 /* p */
            getfield android.widget.AbsListView$LayoutParams.recycledHeaderFooter:Z
            ifeq 45
        35: .line 2119
            aload 14 /* p */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            bipush -2
            if_icmpne 45
        36: .line 2120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            iload 4 /* flowDown */
            ifeq 37
            iconst_m1
            goto 38
      StackMap locals: android.widget.ListView android.view.View int int int int int int int int int int int int android.widget.AbsListView$LayoutParams
      StackMap stack: android.widget.ListView android.view.View
        37: iconst_0
      StackMap locals: android.widget.ListView android.view.View int int int int int int int int int int int int android.widget.AbsListView$LayoutParams
      StackMap stack: android.widget.ListView android.view.View int
        38: aload 14 /* p */
            invokevirtual android.widget.ListView.attachViewToParent:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
        39: .line 2124
            iload 7 /* isAttachedToWindow */
            ifeq 52
        40: .line 2125
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            getfield android.widget.AbsListView$LayoutParams.scrappedFromPosition:I
        41: .line 2126
            iload 2 /* position */
        42: .line 2125
            if_icmpeq 52
        43: .line 2127
            aload 1 /* child */
            invokevirtual android.view.View.jumpDrawablesToCurrentState:()V
        44: .line 2129
            goto 52
        45: .line 2130
      StackMap locals:
      StackMap stack:
            aload 14 /* p */
            iconst_0
            putfield android.widget.AbsListView$LayoutParams.forceAdd:Z
        46: .line 2131
            aload 14 /* p */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            bipush -2
            if_icmpne 48
        47: .line 2132
            aload 14 /* p */
            iconst_1
            putfield android.widget.AbsListView$LayoutParams.recycledHeaderFooter:Z
        48: .line 2134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            iload 4 /* flowDown */
            ifeq 49
            iconst_m1
            goto 50
      StackMap locals: android.widget.ListView android.view.View int int int int int int int int int int int int android.widget.AbsListView$LayoutParams
      StackMap stack: android.widget.ListView android.view.View
        49: iconst_0
      StackMap locals: android.widget.ListView android.view.View int int int int int int int int int int int int android.widget.AbsListView$LayoutParams
      StackMap stack: android.widget.ListView android.view.View int
        50: aload 14 /* p */
            iconst_1
            invokevirtual android.widget.ListView.addViewInLayout:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z
            pop
        51: .line 2136
            aload 1 /* child */
            invokevirtual android.view.View.resolveRtlPropertiesIfNeeded:()Z
            pop
        52: .line 2139
      StackMap locals:
      StackMap stack:
            iload 13 /* needToMeasure */
            ifeq 65
        53: .line 2140
            aload 0 /* this */
            getfield android.widget.ListView.mWidthMeasureSpec:I
        54: .line 2141
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iadd
            aload 14 /* p */
            getfield android.widget.AbsListView$LayoutParams.width:I
        55: .line 2140
            invokestatic android.view.ViewGroup.getChildMeasureSpec:(III)I
            istore 15 /* childWidthSpec */
        start local 15 // int childWidthSpec
        56: .line 2142
            aload 14 /* p */
            getfield android.widget.AbsListView$LayoutParams.height:I
            istore 16 /* lpHeight */
        start local 16 // int lpHeight
        57: .line 2144
            iload 16 /* lpHeight */
            ifle 60
        58: .line 2145
            iload 16 /* lpHeight */
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 17 /* childHeightSpec */
        start local 17 // int childHeightSpec
        59: .line 2146
            goto 63
        end local 17 // int childHeightSpec
        60: .line 2147
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMeasuredHeight:()I
        61: .line 2148
            iconst_0
        62: .line 2147
            invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
            istore 17 /* childHeightSpec */
        start local 17 // int childHeightSpec
        63: .line 2150
      StackMap locals: int
      StackMap stack:
            aload 1 /* child */
            iload 15 /* childWidthSpec */
            iload 17 /* childHeightSpec */
            invokevirtual android.view.View.measure:(II)V
        end local 17 // int childHeightSpec
        end local 16 // int lpHeight
        end local 15 // int childWidthSpec
        64: .line 2151
            goto 66
        65: .line 2152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            invokevirtual android.widget.ListView.cleanupLayoutState:(Landroid/view/View;)V
        66: .line 2155
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredWidth:()I
            istore 15 /* w */
        start local 15 // int w
        67: .line 2156
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 16 /* h */
        start local 16 // int h
        68: .line 2157
            iload 4 /* flowDown */
            ifeq 69
            iload 3 /* y */
            goto 70
      StackMap locals: int int
      StackMap stack:
        69: iload 3 /* y */
            iload 16 /* h */
            isub
      StackMap locals:
      StackMap stack: int
        70: istore 17 /* childTop */
        start local 17 // int childTop
        71: .line 2159
            iload 13 /* needToMeasure */
            ifeq 76
        72: .line 2160
            iload 5 /* childrenLeft */
            iload 15 /* w */
            iadd
            istore 18 /* childRight */
        start local 18 // int childRight
        73: .line 2161
            iload 17 /* childTop */
            iload 16 /* h */
            iadd
            istore 19 /* childBottom */
        start local 19 // int childBottom
        74: .line 2162
            aload 1 /* child */
            iload 5 /* childrenLeft */
            iload 17 /* childTop */
            iload 18 /* childRight */
            iload 19 /* childBottom */
            invokevirtual android.view.View.layout:(IIII)V
        end local 19 // int childBottom
        end local 18 // int childRight
        75: .line 2163
            goto 78
        76: .line 2164
      StackMap locals: int
      StackMap stack:
            aload 1 /* child */
            iload 5 /* childrenLeft */
            aload 1 /* child */
            invokevirtual android.view.View.getLeft:()I
            isub
            invokevirtual android.view.View.offsetLeftAndRight:(I)V
        77: .line 2165
            aload 1 /* child */
            iload 17 /* childTop */
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            isub
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
        78: .line 2168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mCachingStarted:Z
            ifeq 80
            aload 1 /* child */
            invokevirtual android.view.View.isDrawingCacheEnabled:()Z
            ifne 80
        79: .line 2169
            aload 1 /* child */
            iconst_1
            invokevirtual android.view.View.setDrawingCacheEnabled:(Z)V
        80: .line 2172
      StackMap locals:
      StackMap stack:
            ldc 8
            invokestatic android.os.Trace.traceEnd:(J)V
        81: .line 2173
            return
        end local 17 // int childTop
        end local 16 // int h
        end local 15 // int w
        end local 14 // android.widget.AbsListView$LayoutParams p
        end local 13 // boolean needToMeasure
        end local 12 // boolean updateChildPressed
        end local 11 // boolean isPressed
        end local 10 // int mode
        end local 9 // boolean updateChildSelected
        end local 8 // boolean isSelected
        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.ListView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   82     0                 this  Landroid/widget/ListView;
            0   82     1                child  Landroid/view/View;
            0   82     2             position  I
            0   82     3                    y  I
            0   82     4             flowDown  Z
            0   82     5         childrenLeft  I
            0   82     6             selected  Z
            0   82     7   isAttachedToWindow  Z
            4   82     8           isSelected  Z
            5   82     9  updateChildSelected  Z
            6   82    10                 mode  I
           11   82    11            isPressed  Z
           12   82    12   updateChildPressed  Z
           17   82    13        needToMeasure  Z
           18   82    14                    p  Landroid/widget/AbsListView$LayoutParams;
           56   64    15       childWidthSpec  I
           57   64    16             lpHeight  I
           59   60    17      childHeightSpec  I
           63   64    17      childHeightSpec  I
           67   82    15                    w  I
           68   82    16                    h  I
           71   82    17             childTop  I
           73   75    18           childRight  I
           74   75    19          childBottom  I
    MethodParameters:
                    Name  Flags
      child               
      position            
      y                   
      flowDown            
      childrenLeft        
      selected            
      isAttachedToWindow  

  protected boolean canAnimate();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 2177
            aload 0 /* this */
            invokespecial android.widget.AbsListView.canAnimate:()Z
            ifeq 1
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/ListView;

  public void setSelection(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int position
         0: .line 2189
            aload 0 /* this */
            iload 1 /* position */
            iconst_0
            invokevirtual android.widget.ListView.setSelectionFromTop:(II)V
         1: .line 2190
            return
        end local 1 // int position
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/ListView;
            0    2     1  position  I
    MethodParameters:
          Name  Flags
      position  

  void setSelectionInt(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int position
         0: .line 2199
            aload 0 /* this */
            iload 1 /* position */
            invokevirtual android.widget.ListView.setNextSelectedPositionInt:(I)V
         1: .line 2200
            iconst_0
            istore 2 /* awakeScrollbars */
        start local 2 // boolean awakeScrollbars
         2: .line 2202
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            istore 3 /* selectedPosition */
        start local 3 // int selectedPosition
         3: .line 2204
            iload 3 /* selectedPosition */
            iflt 9
         4: .line 2205
            iload 1 /* position */
            iload 3 /* selectedPosition */
            iconst_1
            isub
            if_icmpne 7
         5: .line 2206
            iconst_1
            istore 2 /* awakeScrollbars */
         6: .line 2207
            goto 9
      StackMap locals: int int
      StackMap stack:
         7: iload 1 /* position */
            iload 3 /* selectedPosition */
            iconst_1
            iadd
            if_icmpne 9
         8: .line 2208
            iconst_1
            istore 2 /* awakeScrollbars */
         9: .line 2212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
            ifnull 11
        10: .line 2213
            aload 0 /* this */
            getfield android.widget.ListView.mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
            invokevirtual android.widget.AbsListView$AbsPositionScroller.stop:()V
        11: .line 2216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.layoutChildren:()V
        12: .line 2218
            iload 2 /* awakeScrollbars */
            ifeq 14
        13: .line 2219
            aload 0 /* this */
            invokevirtual android.widget.ListView.awakenScrollBars:()Z
            pop
        14: .line 2221
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int selectedPosition
        end local 2 // boolean awakeScrollbars
        end local 1 // int position
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Landroid/widget/ListView;
            0   15     1          position  I
            2   15     2   awakeScrollbars  Z
            3   15     3  selectedPosition  I
    MethodParameters:
          Name  Flags
      position  

  int lookForSelectablePosition(int, boolean);
    descriptor: (IZ)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int position
        start local 2 // boolean lookDown
         0: .line 2233
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 3 /* adapter */
        start local 3 // android.widget.ListAdapter adapter
         1: .line 2234
            aload 3 /* adapter */
            ifnull 2
            aload 0 /* this */
            invokevirtual android.widget.ListView.isInTouchMode:()Z
            ifeq 3
         2: .line 2235
      StackMap locals: android.widget.ListAdapter
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 2238
      StackMap locals:
      StackMap stack:
            aload 3 /* adapter */
            invokeinterface android.widget.ListAdapter.getCount:()I
            istore 4 /* count */
        start local 4 // int count
         4: .line 2239
            aload 0 /* this */
            getfield android.widget.ListView.mAreAllItemsSelectable:Z
            ifne 15
         5: .line 2240
            iload 2 /* lookDown */
            ifeq 11
         6: .line 2241
            iconst_0
            iload 1 /* position */
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* position */
         7: .line 2242
            goto 9
         8: .line 2243
      StackMap locals: int
      StackMap stack:
            iinc 1 /* position */ 1
         9: .line 2242
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            iload 4 /* count */
            if_icmpge 15
            aload 3 /* adapter */
            iload 1 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 8
        10: .line 2245
            goto 15
        11: .line 2246
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            iload 4 /* count */
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* position */
        12: .line 2247
            goto 14
        13: .line 2248
      StackMap locals:
      StackMap stack:
            iinc 1 /* position */ -1
        14: .line 2247
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            iflt 15
            aload 3 /* adapter */
            iload 1 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 13
        15: .line 2253
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            iflt 16
            iload 1 /* position */
            iload 4 /* count */
            if_icmplt 17
        16: .line 2254
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        17: .line 2257
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            ireturn
        end local 4 // int count
        end local 3 // android.widget.ListAdapter adapter
        end local 2 // boolean lookDown
        end local 1 // int position
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Landroid/widget/ListView;
            0   18     1  position  I
            0   18     2  lookDown  Z
            1   18     3   adapter  Landroid/widget/ListAdapter;
            4   18     4     count  I
    MethodParameters:
          Name  Flags
      position  
      lookDown  

  int lookForSelectablePositionAfter(int, int, boolean);
    descriptor: (IIZ)I
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // int current
        start local 2 // int position
        start local 3 // boolean lookDown
         0: .line 2273
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 4 /* adapter */
        start local 4 // android.widget.ListAdapter adapter
         1: .line 2274
            aload 4 /* adapter */
            ifnull 2
            aload 0 /* this */
            invokevirtual android.widget.ListView.isInTouchMode:()Z
            ifeq 3
         2: .line 2275
      StackMap locals: android.widget.ListAdapter
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 2279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* position */
            iload 3 /* lookDown */
            invokevirtual android.widget.ListView.lookForSelectablePosition:(IZ)I
            istore 5 /* after */
        start local 5 // int after
         4: .line 2280
            iload 5 /* after */
            iconst_m1
            if_icmpeq 6
         5: .line 2281
            iload 5 /* after */
            ireturn
         6: .line 2285
      StackMap locals: int
      StackMap stack:
            aload 4 /* adapter */
            invokeinterface android.widget.ListAdapter.getCount:()I
            istore 6 /* count */
        start local 6 // int count
         7: .line 2286
            iload 1 /* current */
            iconst_m1
            iload 6 /* count */
            iconst_1
            isub
            invokestatic android.util.MathUtils.constrain:(III)I
            istore 1 /* current */
         8: .line 2287
            iload 3 /* lookDown */
            ifeq 15
         9: .line 2288
            iload 2 /* position */
            iconst_1
            isub
            iload 6 /* count */
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* position */
        10: .line 2289
            goto 12
        11: .line 2290
      StackMap locals: int
      StackMap stack:
            iinc 2 /* position */ -1
        12: .line 2289
      StackMap locals:
      StackMap stack:
            iload 2 /* position */
            iload 1 /* current */
            if_icmple 13
            aload 4 /* adapter */
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 11
        13: .line 2292
      StackMap locals:
      StackMap stack:
            iload 2 /* position */
            iload 1 /* current */
            if_icmpgt 21
        14: .line 2293
            iconst_m1
            ireturn
        15: .line 2296
      StackMap locals:
      StackMap stack:
            iconst_0
            iload 2 /* position */
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* position */
        16: .line 2297
            goto 18
        17: .line 2298
      StackMap locals:
      StackMap stack:
            iinc 2 /* position */ 1
        18: .line 2297
      StackMap locals:
      StackMap stack:
            iload 2 /* position */
            iload 1 /* current */
            if_icmpge 19
            aload 4 /* adapter */
            iload 2 /* position */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 17
        19: .line 2300
      StackMap locals:
      StackMap stack:
            iload 2 /* position */
            iload 1 /* current */
            if_icmplt 21
        20: .line 2301
            iconst_m1
            ireturn
        21: .line 2305
      StackMap locals:
      StackMap stack:
            iload 2 /* position */
            ireturn
        end local 6 // int count
        end local 5 // int after
        end local 4 // android.widget.ListAdapter adapter
        end local 3 // boolean lookDown
        end local 2 // int position
        end local 1 // int current
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Landroid/widget/ListView;
            0   22     1   current  I
            0   22     2  position  I
            0   22     3  lookDown  Z
            1   22     4   adapter  Landroid/widget/ListAdapter;
            4   22     5     after  I
            7   22     6     count  I
    MethodParameters:
          Name  Flags
      current   
      position  
      lookDown  

  public void setSelectionAfterHeaderView();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 2313
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeaderViewsCount:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 2314
            iload 1 /* count */
            ifle 4
         2: .line 2315
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mNextSelectedPosition:I
         3: .line 2316
            return
         4: .line 2319
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 7
         5: .line 2320
            aload 0 /* this */
            iload 1 /* count */
            invokevirtual android.widget.ListView.setSelection:(I)V
         6: .line 2321
            goto 9
         7: .line 2322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* count */
            putfield android.widget.ListView.mNextSelectedPosition:I
         8: .line 2323
            aload 0 /* this */
            iconst_2
            putfield android.widget.ListView.mLayoutMode:I
         9: .line 2326
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int count
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Landroid/widget/ListView;
            1   10     1  count  I

  public boolean dispatchKeyEvent(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.KeyEvent event
         0: .line 2331
            aload 0 /* this */
            aload 1 /* event */
            invokespecial android.widget.AbsListView.dispatchKeyEvent:(Landroid/view/KeyEvent;)Z
            istore 2 /* handled */
        start local 2 // boolean handled
         1: .line 2332
            iload 2 /* handled */
            ifne 5
         2: .line 2334
            aload 0 /* this */
            invokevirtual android.widget.ListView.getFocusedChild:()Landroid/view/View;
            astore 3 /* focused */
        start local 3 // android.view.View focused
         3: .line 2335
            aload 3 /* focused */
            ifnull 5
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getAction:()I
            ifne 5
         4: .line 2338
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual android.view.KeyEvent.getKeyCode:()I
            aload 1 /* event */
            invokevirtual android.widget.ListView.onKeyDown:(ILandroid/view/KeyEvent;)Z
            istore 2 /* handled */
        end local 3 // android.view.View focused
         5: .line 2341
      StackMap locals: int
      StackMap stack:
            iload 2 /* handled */
            ireturn
        end local 2 // boolean handled
        end local 1 // android.view.KeyEvent event
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/widget/ListView;
            0    6     1    event  Landroid/view/KeyEvent;
            1    6     2  handled  Z
            3    5     3  focused  Landroid/view/View;
    MethodParameters:
       Name  Flags
      event  

  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.ListView this
        start local 1 // int keyCode
        start local 2 // android.view.KeyEvent event
         0: .line 2346
            aload 0 /* this */
            iload 1 /* keyCode */
            iconst_1
            aload 2 /* event */
            invokevirtual android.widget.ListView.commonKey:(IILandroid/view/KeyEvent;)Z
            ireturn
        end local 2 // android.view.KeyEvent event
        end local 1 // int keyCode
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/widget/ListView;
            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.ListView this
        start local 1 // int keyCode
        start local 2 // int repeatCount
        start local 3 // android.view.KeyEvent event
         0: .line 2351
            aload 0 /* this */
            iload 1 /* keyCode */
            iload 2 /* repeatCount */
            aload 3 /* event */
            invokevirtual android.widget.ListView.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.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/widget/ListView;
            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.ListView this
        start local 1 // int keyCode
        start local 2 // android.view.KeyEvent event
         0: .line 2356
            aload 0 /* this */
            iload 1 /* keyCode */
            iconst_1
            aload 2 /* event */
            invokevirtual android.widget.ListView.commonKey:(IILandroid/view/KeyEvent;)Z
            ireturn
        end local 2 // android.view.KeyEvent event
        end local 1 // int keyCode
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/widget/ListView;
            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.ListView this
        start local 1 // int keyCode
        start local 2 // int count
        start local 3 // android.view.KeyEvent event
         0: .line 2360
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 1
            aload 0 /* this */
            invokevirtual android.widget.ListView.isAttachedToWindow:()Z
            ifne 2
         1: .line 2361
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 2364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDataChanged:Z
            ifeq 4
         3: .line 2365
            aload 0 /* this */
            invokevirtual android.widget.ListView.layoutChildren:()V
         4: .line 2368
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* handled */
        start local 4 // boolean handled
         5: .line 2369
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getAction:()I
            istore 5 /* action */
        start local 5 // int action
         6: .line 2370
            iload 1 /* keyCode */
            invokestatic android.view.KeyEvent.isConfirmKey:(I)Z
            ifeq 12
         7: .line 2371
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 12
            iload 5 /* action */
            iconst_1
            if_icmpeq 12
         8: .line 2372
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            istore 4 /* handled */
         9: .line 2373
            iload 4 /* handled */
            ifne 12
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getRepeatCount:()I
            ifne 12
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            ifle 12
        10: .line 2374
            aload 0 /* this */
            invokevirtual android.widget.ListView.keyPressed:()V
        11: .line 2375
            iconst_1
            istore 4 /* handled */
        12: .line 2380
      StackMap locals: int int
      StackMap stack:
            iload 4 /* handled */
            ifne 85
            iload 5 /* action */
            iconst_1
            if_icmpeq 85
        13: .line 2381
            iload 1 /* keyCode */
            lookupswitch { // 9
                   19: 14
                   20: 27
                   21: 40
                   22: 43
                   61: 76
                   92: 46
                   93: 56
                  122: 66
                  123: 71
              default: 85
          }
        14: .line 2383
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 22
        15: .line 2384
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            istore 4 /* handled */
        16: .line 2385
            iload 4 /* handled */
            ifne 85
        17: .line 2386
            goto 20
        18: .line 2387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ListView.arrowScroll:(I)Z
            ifeq 85
        19: .line 2388
            iconst_1
            istore 4 /* handled */
        20: .line 2386
      StackMap locals:
      StackMap stack:
            iload 2 /* count */
            iinc 2 /* count */ -1
            ifgt 18
        21: .line 2394
            goto 85
      StackMap locals:
      StackMap stack:
        22: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 85
        23: .line 2395
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 24
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ListView.fullScroll:(I)Z
            ifne 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: istore 4 /* handled */
        26: .line 2397
            goto 85
        27: .line 2400
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 35
        28: .line 2401
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            istore 4 /* handled */
        29: .line 2402
            iload 4 /* handled */
            ifne 85
        30: .line 2403
            goto 33
        31: .line 2404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ListView.arrowScroll:(I)Z
            ifeq 85
        32: .line 2405
            iconst_1
            istore 4 /* handled */
        33: .line 2403
      StackMap locals:
      StackMap stack:
            iload 2 /* count */
            iinc 2 /* count */ -1
            ifgt 31
        34: .line 2411
            goto 85
      StackMap locals:
      StackMap stack:
        35: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 85
        36: .line 2412
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 37
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ListView.fullScroll:(I)Z
            ifne 37
            iconst_0
            goto 38
      StackMap locals:
      StackMap stack:
        37: iconst_1
      StackMap locals:
      StackMap stack: int
        38: istore 4 /* handled */
        39: .line 2414
            goto 85
        40: .line 2417
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 85
        41: .line 2418
            aload 0 /* this */
            bipush 17
            invokevirtual android.widget.ListView.handleHorizontalFocusWithinListItem:(I)Z
            istore 4 /* handled */
        42: .line 2420
            goto 85
        43: .line 2423
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 85
        44: .line 2424
            aload 0 /* this */
            bipush 66
            invokevirtual android.widget.ListView.handleHorizontalFocusWithinListItem:(I)Z
            istore 4 /* handled */
        45: .line 2426
            goto 85
        46: .line 2429
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 51
        47: .line 2430
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 48
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ListView.pageScroll:(I)Z
            ifne 48
            iconst_0
            goto 49
      StackMap locals:
      StackMap stack:
        48: iconst_1
      StackMap locals:
      StackMap stack: int
        49: istore 4 /* handled */
        50: .line 2431
            goto 85
      StackMap locals:
      StackMap stack:
        51: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 85
        52: .line 2432
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 53
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ListView.fullScroll:(I)Z
            ifne 53
            iconst_0
            goto 54
      StackMap locals:
      StackMap stack:
        53: iconst_1
      StackMap locals:
      StackMap stack: int
        54: istore 4 /* handled */
        55: .line 2434
            goto 85
        56: .line 2437
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 61
        57: .line 2438
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 58
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ListView.pageScroll:(I)Z
            ifne 58
            iconst_0
            goto 59
      StackMap locals:
      StackMap stack:
        58: iconst_1
      StackMap locals:
      StackMap stack: int
        59: istore 4 /* handled */
        60: .line 2439
            goto 85
      StackMap locals:
      StackMap stack:
        61: aload 3 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 85
        62: .line 2440
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 63
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ListView.fullScroll:(I)Z
            ifne 63
            iconst_0
            goto 64
      StackMap locals:
      StackMap stack:
        63: iconst_1
      StackMap locals:
      StackMap stack: int
        64: istore 4 /* handled */
        65: .line 2442
            goto 85
        66: .line 2445
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 85
        67: .line 2446
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 68
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ListView.fullScroll:(I)Z
            ifne 68
            iconst_0
            goto 69
      StackMap locals:
      StackMap stack:
        68: iconst_1
      StackMap locals:
      StackMap stack: int
        69: istore 4 /* handled */
        70: .line 2448
            goto 85
        71: .line 2451
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 85
        72: .line 2452
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 73
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ListView.fullScroll:(I)Z
            ifne 73
            iconst_0
            goto 74
      StackMap locals:
      StackMap stack:
        73: iconst_1
      StackMap locals:
      StackMap stack: int
        74: istore 4 /* handled */
        75: .line 2454
            goto 85
        76: .line 2461
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifeq 81
        77: .line 2462
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 78
            aload 0 /* this */
            sipush 130
            invokevirtual android.widget.ListView.arrowScroll:(I)Z
            ifne 78
            iconst_0
            goto 79
      StackMap locals:
      StackMap stack:
        78: iconst_1
      StackMap locals:
      StackMap stack: int
        79: istore 4 /* handled */
        80: .line 2463
            goto 85
      StackMap locals:
      StackMap stack:
        81: aload 3 /* event */
            iconst_1
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 85
        82: .line 2464
            aload 0 /* this */
            invokevirtual android.widget.ListView.resurrectSelectionIfNeeded:()Z
            ifne 83
            aload 0 /* this */
            bipush 33
            invokevirtual android.widget.ListView.arrowScroll:(I)Z
            ifne 83
            iconst_0
            goto 84
      StackMap locals:
      StackMap stack:
        83: iconst_1
      StackMap locals:
      StackMap stack: int
        84: istore 4 /* handled */
        85: .line 2470
      StackMap locals:
      StackMap stack:
            iload 4 /* handled */
            ifeq 87
        86: .line 2471
            iconst_1
            ireturn
        87: .line 2474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            iload 2 /* count */
            aload 3 /* event */
            invokevirtual android.widget.ListView.sendToTextFilter:(IILandroid/view/KeyEvent;)Z
            ifeq 89
        88: .line 2475
            iconst_1
            ireturn
        89: .line 2478
      StackMap locals:
      StackMap stack:
            iload 5 /* action */
            tableswitch { // 0 - 2
                    0: 90
                    1: 91
                    2: 92
              default: 93
          }
        90: .line 2480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            aload 3 /* event */
            invokespecial android.widget.AbsListView.onKeyDown:(ILandroid/view/KeyEvent;)Z
            ireturn
        91: .line 2483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keyCode */
            aload 3 /* event */
            invokespecial android.widget.AbsListView.onKeyUp:(ILandroid/view/KeyEvent;)Z
            ireturn
        92: .line 2486
      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
        93: .line 2489
      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.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   94     0     this  Landroid/widget/ListView;
            0   94     1  keyCode  I
            0   94     2    count  I
            0   94     3    event  Landroid/view/KeyEvent;
            5   94     4  handled  Z
            6   94     5   action  I
    MethodParameters:
         Name  Flags
      keyCode  
      count    
      event    

  boolean pageScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 2503
            iload 1 /* direction */
            bipush 33
            if_icmpne 4
         1: .line 2504
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            isub
            iconst_1
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* nextPage */
        start local 2 // int nextPage
         2: .line 2505
            iconst_0
            istore 3 /* down */
        start local 3 // boolean down
         3: .line 2506
            goto 9
        end local 3 // boolean down
        end local 2 // int nextPage
      StackMap locals:
      StackMap stack:
         4: iload 1 /* direction */
            sipush 130
            if_icmpne 8
         5: .line 2507
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* nextPage */
        start local 2 // int nextPage
         6: .line 2508
            iconst_1
            istore 3 /* down */
        start local 3 // boolean down
         7: .line 2509
            goto 9
        end local 3 // boolean down
        end local 2 // int nextPage
         8: .line 2510
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 2 // int nextPage
        start local 3 // boolean down
         9: .line 2513
      StackMap locals: int int
      StackMap stack:
            iload 2 /* nextPage */
            iflt 23
        10: .line 2514
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iload 2 /* nextPage */
            iload 3 /* down */
            invokevirtual android.widget.ListView.lookForSelectablePositionAfter:(IIZ)I
            istore 4 /* position */
        start local 4 // int position
        11: .line 2515
            iload 4 /* position */
            iflt 23
        12: .line 2516
            aload 0 /* this */
            iconst_4
            putfield android.widget.ListView.mLayoutMode:I
        13: .line 2517
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mPaddingTop:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalFadingEdgeLength:()I
            iadd
            putfield android.widget.ListView.mSpecificTop:I
        14: .line 2519
            iload 3 /* down */
            ifeq 16
            iload 4 /* position */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            isub
            if_icmple 16
        15: .line 2520
            aload 0 /* this */
            iconst_3
            putfield android.widget.ListView.mLayoutMode:I
        16: .line 2523
      StackMap locals: int
      StackMap stack:
            iload 3 /* down */
            ifne 18
            iload 4 /* position */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            if_icmpge 18
        17: .line 2524
            aload 0 /* this */
            iconst_1
            putfield android.widget.ListView.mLayoutMode:I
        18: .line 2527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* position */
            invokevirtual android.widget.ListView.setSelectionInt:(I)V
        19: .line 2528
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
        20: .line 2529
            aload 0 /* this */
            invokevirtual android.widget.ListView.awakenScrollBars:()Z
            ifne 22
        21: .line 2530
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
        22: .line 2533
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int position
        23: .line 2537
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // boolean down
        end local 2 // int nextPage
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Landroid/widget/ListView;
            0   24     1  direction  I
            2    4     2   nextPage  I
            6    8     2   nextPage  I
            9   24     2   nextPage  I
            3    4     3       down  Z
            7    8     3       down  Z
            9   24     3       down  Z
           11   23     4   position  I
    MethodParameters:
           Name  Flags
      direction  

  boolean fullScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 2549
            iconst_0
            istore 2 /* moved */
        start local 2 // boolean moved
         1: .line 2550
            iload 1 /* direction */
            bipush 33
            if_icmpne 10
         2: .line 2551
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            ifeq 21
         3: .line 2552
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_0
            iconst_1
            invokevirtual android.widget.ListView.lookForSelectablePositionAfter:(IIZ)I
            istore 3 /* position */
        start local 3 // int position
         4: .line 2553
            iload 3 /* position */
            iflt 8
         5: .line 2554
            aload 0 /* this */
            iconst_1
            putfield android.widget.ListView.mLayoutMode:I
         6: .line 2555
            aload 0 /* this */
            iload 3 /* position */
            invokevirtual android.widget.ListView.setSelectionInt:(I)V
         7: .line 2556
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
         8: .line 2558
      StackMap locals: int int
      StackMap stack:
            iconst_1
            istore 2 /* moved */
        end local 3 // int position
         9: .line 2560
            goto 21
      StackMap locals:
      StackMap stack:
        10: iload 1 /* direction */
            sipush 130
            if_icmpne 21
        11: .line 2561
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            istore 3 /* lastItem */
        start local 3 // int lastItem
        12: .line 2562
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iload 3 /* lastItem */
            if_icmpge 21
        13: .line 2563
            aload 0 /* this */
        14: .line 2564
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iload 3 /* lastItem */
            iconst_0
        15: .line 2563
            invokevirtual android.widget.ListView.lookForSelectablePositionAfter:(IIZ)I
            istore 4 /* position */
        start local 4 // int position
        16: .line 2565
            iload 4 /* position */
            iflt 20
        17: .line 2566
            aload 0 /* this */
            iconst_3
            putfield android.widget.ListView.mLayoutMode:I
        18: .line 2567
            aload 0 /* this */
            iload 4 /* position */
            invokevirtual android.widget.ListView.setSelectionInt:(I)V
        19: .line 2568
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
        20: .line 2570
      StackMap locals: int int
      StackMap stack:
            iconst_1
            istore 2 /* moved */
        end local 4 // int position
        end local 3 // int lastItem
        21: .line 2574
      StackMap locals:
      StackMap stack:
            iload 2 /* moved */
            ifeq 24
            aload 0 /* this */
            invokevirtual android.widget.ListView.awakenScrollBars:()Z
            ifne 24
        22: .line 2575
            aload 0 /* this */
            invokevirtual android.widget.ListView.awakenScrollBars:()Z
            pop
        23: .line 2576
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
        24: .line 2579
      StackMap locals:
      StackMap stack:
            iload 2 /* moved */
            ireturn
        end local 2 // boolean moved
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Landroid/widget/ListView;
            0   25     1  direction  I
            1   25     2      moved  Z
            4    9     3   position  I
           12   21     3   lastItem  I
           16   21     4   position  I
    MethodParameters:
           Name  Flags
      direction  

  private boolean handleHorizontalFocusWithinListItem(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 2590
            iload 1 /* direction */
            bipush 17
            if_icmpeq 2
            iload 1 /* direction */
            bipush 66
            if_icmpeq 2
         1: .line 2591
            new java.lang.IllegalArgumentException
            dup
            ldc "direction must be one of {View.FOCUS_LEFT, View.FOCUS_RIGHT}"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 2 /* numChildren */
        start local 2 // int numChildren
         3: .line 2596
            aload 0 /* this */
            getfield android.widget.ListView.mItemsCanFocus:Z
            ifeq 26
            iload 2 /* numChildren */
            ifle 26
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_m1
            if_icmpeq 26
         4: .line 2597
            aload 0 /* this */
            invokevirtual android.widget.ListView.getSelectedView:()Landroid/view/View;
            astore 3 /* selectedView */
        start local 3 // android.view.View selectedView
         5: .line 2598
            aload 3 /* selectedView */
            ifnull 26
            aload 3 /* selectedView */
            invokevirtual android.view.View.hasFocus:()Z
            ifeq 26
         6: .line 2599
            aload 3 /* selectedView */
            instanceof android.view.ViewGroup
            ifeq 26
         7: .line 2601
            aload 3 /* selectedView */
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 4 /* currentFocus */
        start local 4 // android.view.View currentFocus
         8: .line 2602
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
         9: .line 2603
            aload 3 /* selectedView */
            checkcast android.view.ViewGroup
            aload 4 /* currentFocus */
            iload 1 /* direction */
        10: .line 2602
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            astore 5 /* nextFocus */
        start local 5 // android.view.View nextFocus
        11: .line 2604
            aload 5 /* nextFocus */
            ifnull 21
        12: .line 2606
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            astore 6 /* focusedRect */
        start local 6 // android.graphics.Rect focusedRect
        13: .line 2607
            aload 4 /* currentFocus */
            ifnull 18
        14: .line 2608
            aload 4 /* currentFocus */
            aload 6 /* focusedRect */
            invokevirtual android.view.View.getFocusedRect:(Landroid/graphics/Rect;)V
        15: .line 2609
            aload 0 /* this */
            aload 4 /* currentFocus */
            aload 6 /* focusedRect */
            invokevirtual android.widget.ListView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
        16: .line 2610
            aload 0 /* this */
            aload 5 /* nextFocus */
            aload 6 /* focusedRect */
            invokevirtual android.widget.ListView.offsetRectIntoDescendantCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
        17: .line 2611
            goto 19
        18: .line 2612
      StackMap locals: android.widget.ListView int int android.view.View android.view.View android.view.View android.graphics.Rect
      StackMap stack:
            aconst_null
            astore 6 /* focusedRect */
        19: .line 2614
      StackMap locals:
      StackMap stack:
            aload 5 /* nextFocus */
            iload 1 /* direction */
            aload 6 /* focusedRect */
            invokevirtual android.view.View.requestFocus:(ILandroid/graphics/Rect;)Z
            ifeq 21
        20: .line 2615
            iconst_1
            ireturn
        end local 6 // android.graphics.Rect focusedRect
        21: .line 2622
      StackMap locals:
      StackMap stack:
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
        22: .line 2623
            aload 0 /* this */
            invokevirtual android.widget.ListView.getRootView:()Landroid/view/View;
            checkcast android.view.ViewGroup
            aload 4 /* currentFocus */
            iload 1 /* direction */
        23: .line 2622
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            astore 6 /* globalNextFocus */
        start local 6 // android.view.View globalNextFocus
        24: .line 2624
            aload 6 /* globalNextFocus */
            ifnull 26
        25: .line 2625
            aload 0 /* this */
            aload 6 /* globalNextFocus */
            aload 0 /* this */
            invokevirtual android.widget.ListView.isViewAncestorOf:(Landroid/view/View;Landroid/view/View;)Z
            ireturn
        end local 6 // android.view.View globalNextFocus
        end local 5 // android.view.View nextFocus
        end local 4 // android.view.View currentFocus
        end local 3 // android.view.View selectedView
        26: .line 2629
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int numChildren
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Landroid/widget/ListView;
            0   27     1        direction  I
            3   27     2      numChildren  I
            5   26     3     selectedView  Landroid/view/View;
            8   26     4     currentFocus  Landroid/view/View;
           11   26     5        nextFocus  Landroid/view/View;
           13   21     6      focusedRect  Landroid/graphics/Rect;
           24   26     6  globalNextFocus  Landroid/view/View;
    MethodParameters:
           Name  Flags
      direction  

  boolean arrowScroll(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 2641
            aload 0 /* this */
            iconst_1
            putfield android.widget.ListView.mInLayout:Z
         1: .line 2642
            aload 0 /* this */
            iload 1 /* direction */
            invokevirtual android.widget.ListView.arrowScrollImpl:(I)Z
            istore 2 /* handled */
        start local 2 // boolean handled
         2: .line 2643
            iload 2 /* handled */
            ifeq 4
         3: .line 2644
            aload 0 /* this */
            iload 1 /* direction */
            invokestatic android.view.SoundEffectConstants.getContantForFocusDirection:(I)I
            invokevirtual android.widget.ListView.playSoundEffect:(I)V
         4: .line 2646
      StackMap locals: int
      StackMap stack:
            iload 2 /* handled */
            istore 4
         5: .line 2648
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mInLayout:Z
         6: .line 2646
            iload 4
            ireturn
        end local 2 // boolean handled
         7: .line 2647
      StackMap locals: android.widget.ListView int
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 2648
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mInLayout:Z
         9: .line 2649
            aload 3
            athrow
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Landroid/widget/ListView;
            0   10     1  direction  I
            2    7     2    handled  Z
      Exception table:
        from    to  target  type
           0     5       7  any
    MethodParameters:
           Name  Flags
      direction  

  private final int nextSelectedPositionForDirection(android.view.View, int, int);
    descriptor: (Landroid/view/View;II)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View selectedView
        start local 2 // int selectedPos
        start local 3 // int direction
         0: .line 2666
            iload 3 /* direction */
            sipush 130
            if_icmpne 9
         1: .line 2667
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 5 /* listBottom */
        start local 5 // int listBottom
         2: .line 2668
            aload 1 /* selectedView */
            ifnull 8
            aload 1 /* selectedView */
            invokevirtual android.view.View.getBottom:()I
            iload 5 /* listBottom */
            if_icmpgt 8
         3: .line 2669
            iload 2 /* selectedPos */
            iconst_m1
            if_icmpeq 5
            iload 2 /* selectedPos */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            if_icmplt 5
         4: .line 2670
            iload 2 /* selectedPos */
            iconst_1
            iadd
            goto 6
         5: .line 2671
      StackMap locals: android.widget.ListView android.view.View int int top int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
         6: .line 2669
      StackMap locals:
      StackMap stack: int
            istore 4 /* nextSelected */
        start local 4 // int nextSelected
         7: .line 2672
            goto 18
        end local 4 // int nextSelected
         8: .line 2673
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 5 // int listBottom
         9: .line 2676
      StackMap locals: android.widget.ListView android.view.View int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 5 /* listTop */
        start local 5 // int listTop
        10: .line 2677
            aload 1 /* selectedView */
            ifnull 17
            aload 1 /* selectedView */
            invokevirtual android.view.View.getTop:()I
            iload 5 /* listTop */
            if_icmplt 17
        11: .line 2678
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
            istore 6 /* lastPos */
        start local 6 // int lastPos
        12: .line 2679
            iload 2 /* selectedPos */
            iconst_m1
            if_icmpeq 14
            iload 2 /* selectedPos */
            iload 6 /* lastPos */
            if_icmpgt 14
        13: .line 2680
            iload 2 /* selectedPos */
            iconst_1
            isub
            goto 15
        14: .line 2681
      StackMap locals: android.widget.ListView android.view.View int int top int int
      StackMap stack:
            iload 6 /* lastPos */
        15: .line 2679
      StackMap locals:
      StackMap stack: int
            istore 4 /* nextSelected */
        end local 6 // int lastPos
        start local 4 // int nextSelected
        16: .line 2682
            goto 18
        end local 4 // int nextSelected
        17: .line 2683
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 5 // int listTop
        start local 4 // int nextSelected
        18: .line 2687
      StackMap locals: android.widget.ListView android.view.View int int int
      StackMap stack:
            iload 4 /* nextSelected */
            iflt 19
            iload 4 /* nextSelected */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
            if_icmplt 20
        19: .line 2688
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        20: .line 2690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* nextSelected */
            iload 3 /* direction */
            sipush 130
            if_icmpne 21
            iconst_1
            goto 22
      StackMap locals: android.widget.ListView android.view.View int int int
      StackMap stack: android.widget.ListView int
        21: iconst_0
      StackMap locals: android.widget.ListView android.view.View int int int
      StackMap stack: android.widget.ListView int int
        22: invokevirtual android.widget.ListView.lookForSelectablePosition:(IZ)I
            ireturn
        end local 4 // int nextSelected
        end local 3 // int direction
        end local 2 // int selectedPos
        end local 1 // android.view.View selectedView
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Landroid/widget/ListView;
            0   23     1  selectedView  Landroid/view/View;
            0   23     2   selectedPos  I
            0   23     3     direction  I
            7    8     4  nextSelected  I
           16   17     4  nextSelected  I
           18   23     4  nextSelected  I
            2    9     5    listBottom  I
           10   18     5       listTop  I
           12   16     6       lastPos  I
    MethodParameters:
              Name  Flags
      selectedView  
      selectedPos   
      direction     

  private boolean arrowScrollImpl(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 2701
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            ifgt 2
         1: .line 2702
            iconst_0
            ireturn
         2: .line 2705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getSelectedView:()Landroid/view/View;
            astore 2 /* selectedView */
        start local 2 // android.view.View selectedView
         3: .line 2706
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            istore 3 /* selectedPos */
        start local 3 // int selectedPos
         4: .line 2708
            aload 0 /* this */
            aload 2 /* selectedView */
            iload 3 /* selectedPos */
            iload 1 /* direction */
            invokevirtual android.widget.ListView.nextSelectedPositionForDirection:(Landroid/view/View;II)I
            istore 4 /* nextSelectedPosition */
        start local 4 // int nextSelectedPosition
         5: .line 2709
            aload 0 /* this */
            iload 1 /* direction */
            iload 4 /* nextSelectedPosition */
            invokevirtual android.widget.ListView.amountToScroll:(II)I
            istore 5 /* amountToScroll */
        start local 5 // int amountToScroll
         6: .line 2712
            aload 0 /* this */
            getfield android.widget.ListView.mItemsCanFocus:Z
            ifeq 7
            aload 0 /* this */
            iload 1 /* direction */
            invokevirtual android.widget.ListView.arrowScrollFocused:(I)Landroid/widget/ListView$ArrowScrollFocusResult;
            goto 8
      StackMap locals: android.widget.ListView int android.view.View int int int
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: android.widget.ListView$ArrowScrollFocusResult
         8: astore 6 /* focusResult */
        start local 6 // android.widget.ListView$ArrowScrollFocusResult focusResult
         9: .line 2713
            aload 6 /* focusResult */
            ifnull 12
        10: .line 2714
            aload 6 /* focusResult */
            invokevirtual android.widget.ListView$ArrowScrollFocusResult.getSelectedPosition:()I
            istore 4 /* nextSelectedPosition */
        11: .line 2715
            aload 6 /* focusResult */
            invokevirtual android.widget.ListView$ArrowScrollFocusResult.getAmountToScroll:()I
            istore 5 /* amountToScroll */
        12: .line 2718
      StackMap locals: android.widget.ListView$ArrowScrollFocusResult
      StackMap stack:
            aload 6 /* focusResult */
            ifnull 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 7 /* needToRedraw */
        start local 7 // boolean needToRedraw
        15: .line 2719
            iload 4 /* nextSelectedPosition */
            iconst_m1
            if_icmpeq 29
        16: .line 2720
            aload 0 /* this */
            aload 2 /* selectedView */
            iload 1 /* direction */
            iload 4 /* nextSelectedPosition */
            aload 6 /* focusResult */
            ifnull 17
            iconst_1
            goto 18
      StackMap locals: android.widget.ListView int android.view.View int int int android.widget.ListView$ArrowScrollFocusResult int
      StackMap stack: android.widget.ListView android.view.View int int
        17: iconst_0
      StackMap locals: android.widget.ListView int android.view.View int int int android.widget.ListView$ArrowScrollFocusResult int
      StackMap stack: android.widget.ListView android.view.View int int int
        18: invokevirtual android.widget.ListView.handleNewSelectionChange:(Landroid/view/View;IIZ)V
        19: .line 2721
            aload 0 /* this */
            iload 4 /* nextSelectedPosition */
            invokevirtual android.widget.ListView.setSelectedPositionInt:(I)V
        20: .line 2722
            aload 0 /* this */
            iload 4 /* nextSelectedPosition */
            invokevirtual android.widget.ListView.setNextSelectedPositionInt:(I)V
        21: .line 2723
            aload 0 /* this */
            invokevirtual android.widget.ListView.getSelectedView:()Landroid/view/View;
            astore 2 /* selectedView */
        22: .line 2724
            iload 4 /* nextSelectedPosition */
            istore 3 /* selectedPos */
        23: .line 2725
            aload 0 /* this */
            getfield android.widget.ListView.mItemsCanFocus:Z
            ifeq 27
            aload 6 /* focusResult */
            ifnonnull 27
        24: .line 2728
            aload 0 /* this */
            invokevirtual android.widget.ListView.getFocusedChild:()Landroid/view/View;
            astore 8 /* focused */
        start local 8 // android.view.View focused
        25: .line 2729
            aload 8 /* focused */
            ifnull 27
        26: .line 2730
            aload 8 /* focused */
            invokevirtual android.view.View.clearFocus:()V
        end local 8 // android.view.View focused
        27: .line 2733
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* needToRedraw */
        28: .line 2734
            aload 0 /* this */
            invokevirtual android.widget.ListView.checkSelectionChanged:()V
        29: .line 2737
      StackMap locals:
      StackMap stack:
            iload 5 /* amountToScroll */
            ifle 34
        30: .line 2738
            aload 0 /* this */
            iload 1 /* direction */
            bipush 33
            if_icmpne 31
            iload 5 /* amountToScroll */
            goto 32
      StackMap locals:
      StackMap stack: android.widget.ListView
        31: iload 5 /* amountToScroll */
            ineg
      StackMap locals: android.widget.ListView int android.view.View int int int android.widget.ListView$ArrowScrollFocusResult int
      StackMap stack: android.widget.ListView int
        32: invokevirtual android.widget.ListView.scrollListItemsBy:(I)V
        33: .line 2739
            iconst_1
            istore 7 /* needToRedraw */
        34: .line 2744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mItemsCanFocus:Z
            ifeq 40
            aload 6 /* focusResult */
            ifnonnull 40
        35: .line 2745
            aload 2 /* selectedView */
            ifnull 40
            aload 2 /* selectedView */
            invokevirtual android.view.View.hasFocus:()Z
            ifeq 40
        36: .line 2746
            aload 2 /* selectedView */
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 8 /* focused */
        start local 8 // android.view.View focused
        37: .line 2747
            aload 8 /* focused */
            ifnull 40
        38: .line 2748
            aload 0 /* this */
            aload 8 /* focused */
            aload 0 /* this */
            invokevirtual android.widget.ListView.isViewAncestorOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 39
            aload 0 /* this */
            aload 8 /* focused */
            invokevirtual android.widget.ListView.distanceToView:(Landroid/view/View;)I
            ifle 40
        39: .line 2749
      StackMap locals: android.view.View
      StackMap stack:
            aload 8 /* focused */
            invokevirtual android.view.View.clearFocus:()V
        end local 8 // android.view.View focused
        40: .line 2755
      StackMap locals:
      StackMap stack:
            iload 4 /* nextSelectedPosition */
            iconst_m1
            if_icmpne 45
            aload 2 /* selectedView */
            ifnull 45
        41: .line 2756
            aload 0 /* this */
            aload 2 /* selectedView */
            aload 0 /* this */
            invokevirtual android.widget.ListView.isViewAncestorOf:(Landroid/view/View;Landroid/view/View;)Z
            ifne 45
        42: .line 2757
            aconst_null
            astore 2 /* selectedView */
        43: .line 2758
            aload 0 /* this */
            invokevirtual android.widget.ListView.hideSelector:()V
        44: .line 2762
            aload 0 /* this */
            iconst_m1
            putfield android.widget.ListView.mResurrectToPosition:I
        45: .line 2765
      StackMap locals:
      StackMap stack:
            iload 7 /* needToRedraw */
            ifeq 53
        46: .line 2766
            aload 2 /* selectedView */
            ifnull 49
        47: .line 2767
            aload 0 /* this */
            iload 3 /* selectedPos */
            aload 2 /* selectedView */
            invokevirtual android.widget.ListView.positionSelectorLikeFocus:(ILandroid/view/View;)V
        48: .line 2768
            aload 0 /* this */
            aload 2 /* selectedView */
            invokevirtual android.view.View.getTop:()I
            putfield android.widget.ListView.mSelectedTop:I
        49: .line 2770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.awakenScrollBars:()Z
            ifne 51
        50: .line 2771
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
        51: .line 2773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.invokeOnItemScrollListener:()V
        52: .line 2774
            iconst_1
            ireturn
        53: .line 2777
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // boolean needToRedraw
        end local 6 // android.widget.ListView$ArrowScrollFocusResult focusResult
        end local 5 // int amountToScroll
        end local 4 // int nextSelectedPosition
        end local 3 // int selectedPos
        end local 2 // android.view.View selectedView
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   54     0                  this  Landroid/widget/ListView;
            0   54     1             direction  I
            3   54     2          selectedView  Landroid/view/View;
            4   54     3           selectedPos  I
            5   54     4  nextSelectedPosition  I
            6   54     5        amountToScroll  I
            9   54     6           focusResult  Landroid/widget/ListView$ArrowScrollFocusResult;
           15   54     7          needToRedraw  Z
           25   27     8               focused  Landroid/view/View;
           37   40     8               focused  Landroid/view/View;
    MethodParameters:
           Name  Flags
      direction  

  private void handleNewSelectionChange(android.view.View, int, int, boolean);
    descriptor: (Landroid/view/View;IIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=5
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View selectedView
        start local 2 // int direction
        start local 3 // int newSelectedPosition
        start local 4 // boolean newFocusAssigned
         0: .line 2795
            iload 3 /* newSelectedPosition */
            iconst_m1
            if_icmpne 2
         1: .line 2796
            new java.lang.IllegalArgumentException
            dup
            ldc "newSelectedPosition needs to be valid"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2806
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* topSelected */
        start local 9 // boolean topSelected
         3: .line 2807
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 10 /* selectedIndex */
        start local 10 // int selectedIndex
         4: .line 2808
            iload 3 /* newSelectedPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 11 /* nextSelectedIndex */
        start local 11 // int nextSelectedIndex
         5: .line 2809
            iload 2 /* direction */
            bipush 33
            if_icmpne 12
         6: .line 2810
            iload 11 /* nextSelectedIndex */
            istore 7 /* topViewIndex */
        start local 7 // int topViewIndex
         7: .line 2811
            iload 10 /* selectedIndex */
            istore 8 /* bottomViewIndex */
        start local 8 // int bottomViewIndex
         8: .line 2812
            aload 0 /* this */
            iload 7 /* topViewIndex */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 5 /* topView */
        start local 5 // android.view.View topView
         9: .line 2813
            aload 1 /* selectedView */
            astore 6 /* bottomView */
        start local 6 // android.view.View bottomView
        10: .line 2814
            iconst_1
            istore 9 /* topSelected */
        11: .line 2815
            goto 16
        end local 8 // int bottomViewIndex
        end local 7 // int topViewIndex
        end local 6 // android.view.View bottomView
        end local 5 // android.view.View topView
        12: .line 2816
      StackMap locals: android.widget.ListView android.view.View int int int top top top top int int int
      StackMap stack:
            iload 10 /* selectedIndex */
            istore 7 /* topViewIndex */
        start local 7 // int topViewIndex
        13: .line 2817
            iload 11 /* nextSelectedIndex */
            istore 8 /* bottomViewIndex */
        start local 8 // int bottomViewIndex
        14: .line 2818
            aload 1 /* selectedView */
            astore 5 /* topView */
        start local 5 // android.view.View topView
        15: .line 2819
            aload 0 /* this */
            iload 8 /* bottomViewIndex */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 6 /* bottomView */
        start local 6 // android.view.View bottomView
        16: .line 2822
      StackMap locals: android.widget.ListView android.view.View int int int android.view.View android.view.View int int int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 12 /* numChildren */
        start local 12 // int numChildren
        17: .line 2825
            aload 5 /* topView */
            ifnull 22
        18: .line 2826
            aload 5 /* topView */
            iload 4 /* newFocusAssigned */
            ifne 19
            iload 9 /* topSelected */
            ifeq 19
            iconst_1
            goto 20
      StackMap locals: android.widget.ListView android.view.View int int int android.view.View android.view.View int int int int int int
      StackMap stack: android.view.View
        19: iconst_0
      StackMap locals: android.widget.ListView android.view.View int int int android.view.View android.view.View int int int int int int
      StackMap stack: android.view.View int
        20: invokevirtual android.view.View.setSelected:(Z)V
        21: .line 2827
            aload 0 /* this */
            aload 5 /* topView */
            iload 7 /* topViewIndex */
            iload 12 /* numChildren */
            invokevirtual android.widget.ListView.measureAndAdjustDown:(Landroid/view/View;II)V
        22: .line 2831
      StackMap locals:
      StackMap stack:
            aload 6 /* bottomView */
            ifnull 27
        23: .line 2832
            aload 6 /* bottomView */
            iload 4 /* newFocusAssigned */
            ifne 24
            iload 9 /* topSelected */
            ifne 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack: android.view.View
        24: iconst_0
      StackMap locals: android.widget.ListView android.view.View int int int android.view.View android.view.View int int int int int int
      StackMap stack: android.view.View int
        25: invokevirtual android.view.View.setSelected:(Z)V
        26: .line 2833
            aload 0 /* this */
            aload 6 /* bottomView */
            iload 8 /* bottomViewIndex */
            iload 12 /* numChildren */
            invokevirtual android.widget.ListView.measureAndAdjustDown:(Landroid/view/View;II)V
        27: .line 2835
      StackMap locals:
      StackMap stack:
            return
        end local 12 // int numChildren
        end local 11 // int nextSelectedIndex
        end local 10 // int selectedIndex
        end local 9 // boolean topSelected
        end local 8 // int bottomViewIndex
        end local 7 // int topViewIndex
        end local 6 // android.view.View bottomView
        end local 5 // android.view.View topView
        end local 4 // boolean newFocusAssigned
        end local 3 // int newSelectedPosition
        end local 2 // int direction
        end local 1 // android.view.View selectedView
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   28     0                 this  Landroid/widget/ListView;
            0   28     1         selectedView  Landroid/view/View;
            0   28     2            direction  I
            0   28     3  newSelectedPosition  I
            0   28     4     newFocusAssigned  Z
            9   12     5              topView  Landroid/view/View;
           15   28     5              topView  Landroid/view/View;
           10   12     6           bottomView  Landroid/view/View;
           16   28     6           bottomView  Landroid/view/View;
            7   12     7         topViewIndex  I
           13   28     7         topViewIndex  I
            8   12     8      bottomViewIndex  I
           14   28     8      bottomViewIndex  I
            3   28     9          topSelected  Z
            4   28    10        selectedIndex  I
            5   28    11    nextSelectedIndex  I
           17   28    12          numChildren  I
    MethodParameters:
                     Name  Flags
      selectedView         
      direction            
      newSelectedPosition  
      newFocusAssigned     

  private void measureAndAdjustDown(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.ListView this
        start local 1 // android.view.View child
        start local 2 // int childIndex
        start local 3 // int numChildren
         0: .line 2845
            aload 1 /* child */
            invokevirtual android.view.View.getHeight:()I
            istore 4 /* oldHeight */
        start local 4 // int oldHeight
         1: .line 2846
            aload 0 /* this */
            aload 1 /* child */
            invokevirtual android.widget.ListView.measureItem:(Landroid/view/View;)V
         2: .line 2847
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            iload 4 /* oldHeight */
            if_icmpeq 10
         3: .line 2849
            aload 0 /* this */
            aload 1 /* child */
            invokevirtual android.widget.ListView.relayoutMeasuredItem:(Landroid/view/View;)V
         4: .line 2852
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            iload 4 /* oldHeight */
            isub
            istore 5 /* heightDelta */
        start local 5 // int heightDelta
         5: .line 2853
            iload 2 /* childIndex */
            iconst_1
            iadd
            istore 6 /* i */
        start local 6 // int i
         6: goto 9
         7: .line 2854
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            iload 5 /* heightDelta */
            invokevirtual android.view.View.offsetTopAndBottom:(I)V
         8: .line 2853
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 3 /* numChildren */
            if_icmplt 7
        end local 6 // int i
        end local 5 // int heightDelta
        10: .line 2857
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int oldHeight
        end local 3 // int numChildren
        end local 2 // int childIndex
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/widget/ListView;
            0   11     1        child  Landroid/view/View;
            0   11     2   childIndex  I
            0   11     3  numChildren  I
            1   11     4    oldHeight  I
            5   10     5  heightDelta  I
            6   10     6            i  I
    MethodParameters:
             Name  Flags
      child        
      childIndex   
      numChildren  

  private void measureItem(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View child
         0: .line 2865
            aload 1 /* child */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            astore 2 /* p */
        start local 2 // android.view.ViewGroup$LayoutParams p
         1: .line 2866
            aload 2 /* p */
            ifnonnull 6
         2: .line 2867
            new android.view.ViewGroup$LayoutParams
            dup
         3: .line 2868
            iconst_m1
         4: .line 2869
            bipush -2
         5: .line 2867
            invokespecial android.view.ViewGroup$LayoutParams.<init>:(II)V
            astore 2 /* p */
         6: .line 2872
      StackMap locals: android.view.ViewGroup$LayoutParams
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mWidthMeasureSpec:I
         7: .line 2873
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.right:I
            iadd
            aload 2 /* p */
            getfield android.view.ViewGroup$LayoutParams.width:I
         8: .line 2872
            invokestatic android.view.ViewGroup.getChildMeasureSpec:(III)I
            istore 3 /* childWidthSpec */
        start local 3 // int childWidthSpec
         9: .line 2874
            aload 2 /* p */
            getfield android.view.ViewGroup$LayoutParams.height:I
            istore 4 /* lpHeight */
        start local 4 // int lpHeight
        10: .line 2876
            iload 4 /* lpHeight */
            ifle 13
        11: .line 2877
            iload 4 /* lpHeight */
            ldc 1073741824
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 5 /* childHeightSpec */
        start local 5 // int childHeightSpec
        12: .line 2878
            goto 16
        end local 5 // int childHeightSpec
        13: .line 2879
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMeasuredHeight:()I
        14: .line 2880
            iconst_0
        15: .line 2879
            invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
            istore 5 /* childHeightSpec */
        start local 5 // int childHeightSpec
        16: .line 2882
      StackMap locals: int
      StackMap stack:
            aload 1 /* child */
            iload 3 /* childWidthSpec */
            iload 5 /* childHeightSpec */
            invokevirtual android.view.View.measure:(II)V
        17: .line 2883
            return
        end local 5 // int childHeightSpec
        end local 4 // int lpHeight
        end local 3 // int childWidthSpec
        end local 2 // android.view.ViewGroup$LayoutParams p
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Landroid/widget/ListView;
            0   18     1            child  Landroid/view/View;
            1   18     2                p  Landroid/view/ViewGroup$LayoutParams;
            9   18     3   childWidthSpec  I
           10   18     4         lpHeight  I
           12   13     5  childHeightSpec  I
           16   18     5  childHeightSpec  I
    MethodParameters:
       Name  Flags
      child  

  private void relayoutMeasuredItem(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View child
         0: .line 2891
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredWidth:()I
            istore 2 /* w */
        start local 2 // int w
         1: .line 2892
            aload 1 /* child */
            invokevirtual android.view.View.getMeasuredHeight:()I
            istore 3 /* h */
        start local 3 // int h
         2: .line 2893
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
            istore 4 /* childLeft */
        start local 4 // int childLeft
         3: .line 2894
            iload 4 /* childLeft */
            iload 2 /* w */
            iadd
            istore 5 /* childRight */
        start local 5 // int childRight
         4: .line 2895
            aload 1 /* child */
            invokevirtual android.view.View.getTop:()I
            istore 6 /* childTop */
        start local 6 // int childTop
         5: .line 2896
            iload 6 /* childTop */
            iload 3 /* h */
            iadd
            istore 7 /* childBottom */
        start local 7 // int childBottom
         6: .line 2897
            aload 1 /* child */
            iload 4 /* childLeft */
            iload 6 /* childTop */
            iload 5 /* childRight */
            iload 7 /* childBottom */
            invokevirtual android.view.View.layout:(IIII)V
         7: .line 2898
            return
        end local 7 // int childBottom
        end local 6 // int childTop
        end local 5 // int childRight
        end local 4 // int childLeft
        end local 3 // int h
        end local 2 // int w
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Landroid/widget/ListView;
            0    8     1        child  Landroid/view/View;
            1    8     2            w  I
            2    8     3            h  I
            3    8     4    childLeft  I
            4    8     5   childRight  I
            5    8     6     childTop  I
            6    8     7  childBottom  I
    MethodParameters:
       Name  Flags
      child  

  private int getArrowScrollPreviewLength();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 2904
            iconst_2
            aload 0 /* this */
            invokevirtual android.widget.ListView.getVerticalFadingEdgeLength:()I
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  private int amountToScroll(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // int direction
        start local 2 // int nextSelectedPosition
         0: .line 2920
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 3 /* listBottom */
        start local 3 // int listBottom
         1: .line 2921
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 4 /* listTop */
        start local 4 // int listTop
         2: .line 2923
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 5 /* numChildren */
        start local 5 // int numChildren
         3: .line 2925
            iload 1 /* direction */
            sipush 130
            if_icmpne 26
         4: .line 2926
            iload 5 /* numChildren */
            iconst_1
            isub
            istore 6 /* indexToMakeVisible */
        start local 6 // int indexToMakeVisible
         5: .line 2927
            iload 2 /* nextSelectedPosition */
            iconst_m1
            if_icmpeq 10
         6: .line 2928
            iload 2 /* nextSelectedPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 6 /* indexToMakeVisible */
         7: .line 2930
            goto 10
         8: .line 2932
      StackMap locals: android.widget.ListView int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 5 /* numChildren */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 5 /* numChildren */
            iadd
            iconst_1
            isub
            invokevirtual android.widget.ListView.addViewBelow:(Landroid/view/View;I)Landroid/view/View;
            pop
         9: .line 2933
            iinc 5 /* numChildren */ 1
        10: .line 2930
      StackMap locals:
      StackMap stack:
            iload 5 /* numChildren */
            iload 6 /* indexToMakeVisible */
            if_icmple 8
        11: .line 2935
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 6 /* indexToMakeVisible */
            iadd
            istore 7 /* positionToMakeVisible */
        start local 7 // int positionToMakeVisible
        12: .line 2936
            aload 0 /* this */
            iload 6 /* indexToMakeVisible */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 8 /* viewToMakeVisible */
        start local 8 // android.view.View viewToMakeVisible
        13: .line 2938
            iload 3 /* listBottom */
            istore 9 /* goalBottom */
        start local 9 // int goalBottom
        14: .line 2939
            iload 7 /* positionToMakeVisible */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpge 16
        15: .line 2940
            iload 9 /* goalBottom */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getArrowScrollPreviewLength:()I
            isub
            istore 9 /* goalBottom */
        16: .line 2943
      StackMap locals: int android.view.View int
      StackMap stack:
            aload 8 /* viewToMakeVisible */
            invokevirtual android.view.View.getBottom:()I
            iload 9 /* goalBottom */
            if_icmpgt 18
        17: .line 2945
            iconst_0
            ireturn
        18: .line 2948
      StackMap locals:
      StackMap stack:
            iload 2 /* nextSelectedPosition */
            iconst_m1
            if_icmpeq 21
        19: .line 2949
            iload 9 /* goalBottom */
            aload 8 /* viewToMakeVisible */
            invokevirtual android.view.View.getTop:()I
            isub
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMaxScrollAmount:()I
            if_icmplt 21
        20: .line 2951
            iconst_0
            ireturn
        21: .line 2954
      StackMap locals:
      StackMap stack:
            aload 8 /* viewToMakeVisible */
            invokevirtual android.view.View.getBottom:()I
            iload 9 /* goalBottom */
            isub
            istore 10 /* amountToScroll */
        start local 10 // int amountToScroll
        22: .line 2956
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 5 /* numChildren */
            iadd
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            if_icmpne 25
        23: .line 2958
            aload 0 /* this */
            iload 5 /* numChildren */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* listBottom */
            isub
            istore 11 /* max */
        start local 11 // int max
        24: .line 2959
            iload 10 /* amountToScroll */
            iload 11 /* max */
            invokestatic java.lang.Math.min:(II)I
            istore 10 /* amountToScroll */
        end local 11 // int max
        25: .line 2962
      StackMap locals: int
      StackMap stack:
            iload 10 /* amountToScroll */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMaxScrollAmount:()I
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 10 // int amountToScroll
        end local 9 // int goalBottom
        end local 8 // android.view.View viewToMakeVisible
        end local 7 // int positionToMakeVisible
        end local 6 // int indexToMakeVisible
        26: .line 2964
      StackMap locals: android.widget.ListView int int int int int
      StackMap stack:
            iconst_0
            istore 6 /* indexToMakeVisible */
        start local 6 // int indexToMakeVisible
        27: .line 2965
            iload 2 /* nextSelectedPosition */
            iconst_m1
            if_icmpeq 33
        28: .line 2966
            iload 2 /* nextSelectedPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 6 /* indexToMakeVisible */
        29: .line 2968
            goto 33
        30: .line 2970
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            invokevirtual android.widget.ListView.addViewAbove:(Landroid/view/View;I)Landroid/view/View;
            pop
        31: .line 2971
            aload 0 /* this */
            dup
            getfield android.widget.ListView.mFirstPosition:I
            iconst_1
            isub
            putfield android.widget.ListView.mFirstPosition:I
        32: .line 2972
            iload 2 /* nextSelectedPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            isub
            istore 6 /* indexToMakeVisible */
        33: .line 2968
      StackMap locals:
      StackMap stack:
            iload 6 /* indexToMakeVisible */
            iflt 30
        34: .line 2974
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 6 /* indexToMakeVisible */
            iadd
            istore 7 /* positionToMakeVisible */
        start local 7 // int positionToMakeVisible
        35: .line 2975
            aload 0 /* this */
            iload 6 /* indexToMakeVisible */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 8 /* viewToMakeVisible */
        start local 8 // android.view.View viewToMakeVisible
        36: .line 2976
            iload 4 /* listTop */
            istore 9 /* goalTop */
        start local 9 // int goalTop
        37: .line 2977
            iload 7 /* positionToMakeVisible */
            ifle 39
        38: .line 2978
            iload 9 /* goalTop */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getArrowScrollPreviewLength:()I
            iadd
            istore 9 /* goalTop */
        39: .line 2980
      StackMap locals: int android.view.View int
      StackMap stack:
            aload 8 /* viewToMakeVisible */
            invokevirtual android.view.View.getTop:()I
            iload 9 /* goalTop */
            if_icmplt 41
        40: .line 2982
            iconst_0
            ireturn
        41: .line 2985
      StackMap locals:
      StackMap stack:
            iload 2 /* nextSelectedPosition */
            iconst_m1
            if_icmpeq 44
        42: .line 2986
            aload 8 /* viewToMakeVisible */
            invokevirtual android.view.View.getBottom:()I
            iload 9 /* goalTop */
            isub
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMaxScrollAmount:()I
            if_icmplt 44
        43: .line 2988
            iconst_0
            ireturn
        44: .line 2991
      StackMap locals:
      StackMap stack:
            iload 9 /* goalTop */
            aload 8 /* viewToMakeVisible */
            invokevirtual android.view.View.getTop:()I
            isub
            istore 10 /* amountToScroll */
        start local 10 // int amountToScroll
        45: .line 2992
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifne 48
        46: .line 2994
            iload 4 /* listTop */
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            isub
            istore 11 /* max */
        start local 11 // int max
        47: .line 2995
            iload 10 /* amountToScroll */
            iload 11 /* max */
            invokestatic java.lang.Math.min:(II)I
            istore 10 /* amountToScroll */
        end local 11 // int max
        48: .line 2997
      StackMap locals: int
      StackMap stack:
            iload 10 /* amountToScroll */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMaxScrollAmount:()I
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 10 // int amountToScroll
        end local 9 // int goalTop
        end local 8 // android.view.View viewToMakeVisible
        end local 7 // int positionToMakeVisible
        end local 6 // int indexToMakeVisible
        end local 5 // int numChildren
        end local 4 // int listTop
        end local 3 // int listBottom
        end local 2 // int nextSelectedPosition
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   49     0                   this  Landroid/widget/ListView;
            0   49     1              direction  I
            0   49     2   nextSelectedPosition  I
            1   49     3             listBottom  I
            2   49     4                listTop  I
            3   49     5            numChildren  I
            5   26     6     indexToMakeVisible  I
           12   26     7  positionToMakeVisible  I
           13   26     8      viewToMakeVisible  Landroid/view/View;
           14   26     9             goalBottom  I
           22   26    10         amountToScroll  I
           24   25    11                    max  I
           27   49     6     indexToMakeVisible  I
           35   49     7  positionToMakeVisible  I
           36   49     8      viewToMakeVisible  Landroid/view/View;
           37   49     9                goalTop  I
           45   49    10         amountToScroll  I
           47   48    11                    max  I
    MethodParameters:
                      Name  Flags
      direction             
      nextSelectedPosition  

  private int lookForSelectablePositionOnScreen(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 3034
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            istore 2 /* firstPosition */
        start local 2 // int firstPosition
         1: .line 3035
            iload 1 /* direction */
            sipush 130
            if_icmpne 20
         2: .line 3036
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_m1
            if_icmpeq 4
         3: .line 3037
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_1
            iadd
            goto 5
         4: .line 3038
      StackMap locals: int
      StackMap stack:
            iload 2 /* firstPosition */
         5: .line 3036
      StackMap locals:
      StackMap stack: int
            istore 3 /* startPos */
        start local 3 // int startPos
         6: .line 3039
            iload 3 /* startPos */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
            if_icmplt 8
         7: .line 3040
            iconst_m1
            ireturn
         8: .line 3042
      StackMap locals: int
      StackMap stack:
            iload 3 /* startPos */
            iload 2 /* firstPosition */
            if_icmpge 10
         9: .line 3043
            iload 2 /* firstPosition */
            istore 3 /* startPos */
        10: .line 3046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getLastVisiblePosition:()I
            istore 4 /* lastVisiblePos */
        start local 4 // int lastVisiblePos
        11: .line 3047
            aload 0 /* this */
            invokevirtual android.widget.ListView.getAdapter:()Landroid/widget/ListAdapter;
            astore 5 /* adapter */
        start local 5 // android.widget.ListAdapter adapter
        12: .line 3048
            iload 3 /* startPos */
            istore 6 /* pos */
        start local 6 // int pos
        13: goto 18
        14: .line 3049
      StackMap locals: int android.widget.ListAdapter int
      StackMap stack:
            aload 5 /* adapter */
            iload 6 /* pos */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 17
        15: .line 3050
            aload 0 /* this */
            iload 6 /* pos */
            iload 2 /* firstPosition */
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getVisibility:()I
            ifne 17
        16: .line 3051
            iload 6 /* pos */
            ireturn
        17: .line 3048
      StackMap locals:
      StackMap stack:
            iinc 6 /* pos */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* pos */
            iload 4 /* lastVisiblePos */
            if_icmple 14
        end local 6 // int pos
        end local 5 // android.widget.ListAdapter adapter
        end local 4 // int lastVisiblePos
        end local 3 // int startPos
        19: .line 3054
            goto 37
        20: .line 3055
      StackMap locals: android.widget.ListView int int
      StackMap stack:
            iload 2 /* firstPosition */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
            istore 3 /* last */
        start local 3 // int last
        21: .line 3056
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_m1
            if_icmpeq 23
        22: .line 3057
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_1
            isub
            goto 24
        23: .line 3058
      StackMap locals: int
      StackMap stack:
            iload 2 /* firstPosition */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
        24: .line 3056
      StackMap locals:
      StackMap stack: int
            istore 4 /* startPos */
        start local 4 // int startPos
        25: .line 3059
            iload 4 /* startPos */
            iflt 26
            iload 4 /* startPos */
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.getCount:()I
            if_icmplt 27
        26: .line 3060
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
        27: .line 3062
      StackMap locals:
      StackMap stack:
            iload 4 /* startPos */
            iload 3 /* last */
            if_icmple 29
        28: .line 3063
            iload 3 /* last */
            istore 4 /* startPos */
        29: .line 3066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getAdapter:()Landroid/widget/ListAdapter;
            astore 5 /* adapter */
        start local 5 // android.widget.ListAdapter adapter
        30: .line 3067
            iload 4 /* startPos */
            istore 6 /* pos */
        start local 6 // int pos
        31: goto 36
        32: .line 3068
      StackMap locals: android.widget.ListAdapter int
      StackMap stack:
            aload 5 /* adapter */
            iload 6 /* pos */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 35
        33: .line 3069
            aload 0 /* this */
            iload 6 /* pos */
            iload 2 /* firstPosition */
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getVisibility:()I
            ifne 35
        34: .line 3070
            iload 6 /* pos */
            ireturn
        35: .line 3067
      StackMap locals:
      StackMap stack:
            iinc 6 /* pos */ -1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* pos */
            iload 2 /* firstPosition */
            if_icmpge 32
        end local 6 // int pos
        end local 5 // android.widget.ListAdapter adapter
        end local 4 // int startPos
        end local 3 // int last
        37: .line 3074
      StackMap locals: android.widget.ListView int int
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int firstPosition
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Landroid/widget/ListView;
            0   38     1       direction  I
            1   38     2   firstPosition  I
            6   19     3        startPos  I
           11   19     4  lastVisiblePos  I
           12   19     5         adapter  Landroid/widget/ListAdapter;
           13   19     6             pos  I
           21   37     3            last  I
           25   37     4        startPos  I
           30   37     5         adapter  Landroid/widget/ListAdapter;
           31   37     6             pos  I
    MethodParameters:
           Name  Flags
      direction  

  private android.widget.ListView$ArrowScrollFocusResult arrowScrollFocused(int);
    descriptor: (I)Landroid/widget/ListView$ArrowScrollFocusResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int direction
         0: .line 3087
            aload 0 /* this */
            invokevirtual android.widget.ListView.getSelectedView:()Landroid/view/View;
            astore 2 /* selectedView */
        start local 2 // android.view.View selectedView
         1: .line 3089
            aload 2 /* selectedView */
            ifnull 5
            aload 2 /* selectedView */
            invokevirtual android.view.View.hasFocus:()Z
            ifeq 5
         2: .line 3090
            aload 2 /* selectedView */
            invokevirtual android.view.View.findFocus:()Landroid/view/View;
            astore 4 /* oldFocus */
        start local 4 // android.view.View oldFocus
         3: .line 3091
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
            aload 4 /* oldFocus */
            iload 1 /* direction */
            invokevirtual android.view.FocusFinder.findNextFocus:(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
            astore 3 /* newFocus */
        end local 4 // android.view.View oldFocus
        start local 3 // android.view.View newFocus
         4: .line 3092
            goto 32
        end local 3 // android.view.View newFocus
         5: .line 3093
      StackMap locals: android.view.View
      StackMap stack:
            iload 1 /* direction */
            sipush 130
            if_icmpne 19
         6: .line 3094
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifle 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* topFadingEdgeShowing */
        start local 4 // boolean topFadingEdgeShowing
         9: .line 3095
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
        10: .line 3096
            iload 4 /* topFadingEdgeShowing */
            ifeq 11
            aload 0 /* this */
            invokevirtual android.widget.ListView.getArrowScrollPreviewLength:()I
            goto 12
      StackMap locals: android.widget.ListView int android.view.View top int
      StackMap stack: int
        11: iconst_0
        12: .line 3095
      StackMap locals: android.widget.ListView int android.view.View top int
      StackMap stack: int int
            iadd
            istore 5 /* listTop */
        start local 5 // int listTop
        13: .line 3098
            aload 2 /* selectedView */
            ifnull 15
            aload 2 /* selectedView */
            invokevirtual android.view.View.getTop:()I
            iload 5 /* listTop */
            if_icmple 15
        14: .line 3099
            aload 2 /* selectedView */
            invokevirtual android.view.View.getTop:()I
            goto 16
        15: .line 3100
      StackMap locals: int
      StackMap stack:
            iload 5 /* listTop */
        16: .line 3097
      StackMap locals:
      StackMap stack: int
            istore 6 /* ySearchPoint */
        start local 6 // int ySearchPoint
        17: .line 3101
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            iconst_0
            iload 6 /* ySearchPoint */
            iconst_0
            iload 6 /* ySearchPoint */
            invokevirtual android.graphics.Rect.set:(IIII)V
        end local 6 // int ySearchPoint
        end local 5 // int listTop
        end local 4 // boolean topFadingEdgeShowing
        18: .line 3102
            goto 31
        19: .line 3104
      StackMap locals: android.widget.ListView int android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            if_icmpge 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
        21: .line 3103
      StackMap locals:
      StackMap stack: int
            istore 4 /* bottomFadingEdgeShowing */
        start local 4 // boolean bottomFadingEdgeShowing
        22: .line 3105
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
        23: .line 3106
            iload 4 /* bottomFadingEdgeShowing */
            ifeq 24
            aload 0 /* this */
            invokevirtual android.widget.ListView.getArrowScrollPreviewLength:()I
            goto 25
      StackMap locals: android.widget.ListView int android.view.View top int
      StackMap stack: int
        24: iconst_0
        25: .line 3105
      StackMap locals: android.widget.ListView int android.view.View top int
      StackMap stack: int int
            isub
            istore 5 /* listBottom */
        start local 5 // int listBottom
        26: .line 3108
            aload 2 /* selectedView */
            ifnull 28
            aload 2 /* selectedView */
            invokevirtual android.view.View.getBottom:()I
            iload 5 /* listBottom */
            if_icmpge 28
        27: .line 3109
            aload 2 /* selectedView */
            invokevirtual android.view.View.getBottom:()I
            goto 29
        28: .line 3110
      StackMap locals: int
      StackMap stack:
            iload 5 /* listBottom */
        29: .line 3107
      StackMap locals:
      StackMap stack: int
            istore 6 /* ySearchPoint */
        start local 6 // int ySearchPoint
        30: .line 3111
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            iconst_0
            iload 6 /* ySearchPoint */
            iconst_0
            iload 6 /* ySearchPoint */
            invokevirtual android.graphics.Rect.set:(IIII)V
        end local 6 // int ySearchPoint
        end local 5 // int listBottom
        end local 4 // boolean bottomFadingEdgeShowing
        31: .line 3113
      StackMap locals: android.widget.ListView int android.view.View
      StackMap stack:
            invokestatic android.view.FocusFinder.getInstance:()Landroid/view/FocusFinder;
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            iload 1 /* direction */
            invokevirtual android.view.FocusFinder.findNextFocusFromRect:(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View;
            astore 3 /* newFocus */
        start local 3 // android.view.View newFocus
        32: .line 3116
      StackMap locals: android.view.View
      StackMap stack:
            aload 3 /* newFocus */
            ifnull 50
        33: .line 3117
            aload 0 /* this */
            aload 3 /* newFocus */
            invokevirtual android.widget.ListView.positionOfNewFocus:(Landroid/view/View;)I
            istore 4 /* positionOfNewFocus */
        start local 4 // int positionOfNewFocus
        34: .line 3121
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            iconst_m1
            if_icmpeq 40
            iload 4 /* positionOfNewFocus */
            aload 0 /* this */
            getfield android.widget.ListView.mSelectedPosition:I
            if_icmpeq 40
        35: .line 3122
            aload 0 /* this */
            iload 1 /* direction */
            invokevirtual android.widget.ListView.lookForSelectablePositionOnScreen:(I)I
            istore 5 /* selectablePosition */
        start local 5 // int selectablePosition
        36: .line 3123
            iload 5 /* selectablePosition */
            iconst_m1
            if_icmpeq 40
        37: .line 3124
            iload 1 /* direction */
            sipush 130
            if_icmpne 38
            iload 5 /* selectablePosition */
            iload 4 /* positionOfNewFocus */
            if_icmplt 39
        38: .line 3125
      StackMap locals: int int
      StackMap stack:
            iload 1 /* direction */
            bipush 33
            if_icmpne 40
            iload 5 /* selectablePosition */
            iload 4 /* positionOfNewFocus */
            if_icmple 40
        39: .line 3126
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int selectablePosition
        40: .line 3130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* direction */
            aload 3 /* newFocus */
            iload 4 /* positionOfNewFocus */
            invokevirtual android.widget.ListView.amountToScrollToNewFocus:(ILandroid/view/View;I)I
            istore 5 /* focusScroll */
        start local 5 // int focusScroll
        41: .line 3132
            aload 0 /* this */
            invokevirtual android.widget.ListView.getMaxScrollAmount:()I
            istore 6 /* maxScrollAmount */
        start local 6 // int maxScrollAmount
        42: .line 3133
            iload 5 /* focusScroll */
            iload 6 /* maxScrollAmount */
            if_icmpge 46
        43: .line 3135
            aload 3 /* newFocus */
            iload 1 /* direction */
            invokevirtual android.view.View.requestFocus:(I)Z
            pop
        44: .line 3136
            aload 0 /* this */
            getfield android.widget.ListView.mArrowScrollFocusResult:Landroid/widget/ListView$ArrowScrollFocusResult;
            iload 4 /* positionOfNewFocus */
            iload 5 /* focusScroll */
            invokevirtual android.widget.ListView$ArrowScrollFocusResult.populate:(II)V
        45: .line 3137
            aload 0 /* this */
            getfield android.widget.ListView.mArrowScrollFocusResult:Landroid/widget/ListView$ArrowScrollFocusResult;
            areturn
        46: .line 3138
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newFocus */
            invokevirtual android.widget.ListView.distanceToView:(Landroid/view/View;)I
            iload 6 /* maxScrollAmount */
            if_icmpge 50
        47: .line 3143
            aload 3 /* newFocus */
            iload 1 /* direction */
            invokevirtual android.view.View.requestFocus:(I)Z
            pop
        48: .line 3144
            aload 0 /* this */
            getfield android.widget.ListView.mArrowScrollFocusResult:Landroid/widget/ListView$ArrowScrollFocusResult;
            iload 4 /* positionOfNewFocus */
            iload 6 /* maxScrollAmount */
            invokevirtual android.widget.ListView$ArrowScrollFocusResult.populate:(II)V
        49: .line 3145
            aload 0 /* this */
            getfield android.widget.ListView.mArrowScrollFocusResult:Landroid/widget/ListView$ArrowScrollFocusResult;
            areturn
        end local 6 // int maxScrollAmount
        end local 5 // int focusScroll
        end local 4 // int positionOfNewFocus
        50: .line 3148
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // android.view.View newFocus
        end local 2 // android.view.View selectedView
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   51     0                     this  Landroid/widget/ListView;
            0   51     1                direction  I
            1   51     2             selectedView  Landroid/view/View;
            4    5     3                 newFocus  Landroid/view/View;
           32   51     3                 newFocus  Landroid/view/View;
            3    4     4                 oldFocus  Landroid/view/View;
            9   18     4     topFadingEdgeShowing  Z
           13   18     5                  listTop  I
           17   18     6             ySearchPoint  I
           22   31     4  bottomFadingEdgeShowing  Z
           26   31     5               listBottom  I
           30   31     6             ySearchPoint  I
           34   50     4       positionOfNewFocus  I
           36   40     5       selectablePosition  I
           41   50     5              focusScroll  I
           42   50     6          maxScrollAmount  I
    MethodParameters:
           Name  Flags
      direction  final

  private int positionOfNewFocus(android.view.View);
    descriptor: (Landroid/view/View;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View newFocus
         0: .line 3156
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 2 /* numChildren */
        start local 2 // int numChildren
         1: .line 3157
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 3158
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 4 /* child */
        start local 4 // android.view.View child
         4: .line 3159
            aload 0 /* this */
            aload 1 /* newFocus */
            aload 4 /* child */
            invokevirtual android.widget.ListView.isViewAncestorOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 6
         5: .line 3160
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 3 /* i */
            iadd
            ireturn
        end local 4 // android.view.View child
         6: .line 3157
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* numChildren */
            if_icmplt 3
        end local 3 // int i
         8: .line 3163
            new java.lang.IllegalArgumentException
            dup
            ldc "newFocus is not a child of any of the children of the list!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int numChildren
        end local 1 // android.view.View newFocus
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/widget/ListView;
            0    9     1     newFocus  Landroid/view/View;
            1    9     2  numChildren  I
            2    8     3            i  I
            4    6     4        child  Landroid/view/View;
    MethodParameters:
          Name  Flags
      newFocus  

  private boolean isViewAncestorOf(android.view.View, android.view.View);
    descriptor: (Landroid/view/View;Landroid/view/View;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View child
        start local 2 // android.view.View parent
         0: .line 3171
            aload 1 /* child */
            aload 2 /* parent */
            if_acmpne 2
         1: .line 3172
            iconst_1
            ireturn
         2: .line 3175
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            invokevirtual android.view.View.getParent:()Landroid/view/ViewParent;
            astore 3 /* theParent */
        start local 3 // android.view.ViewParent theParent
         3: .line 3176
            aload 3 /* theParent */
            instanceof android.view.ViewGroup
            ifeq 4
            aload 0 /* this */
            aload 3 /* theParent */
            checkcast android.view.View
            aload 2 /* parent */
            invokevirtual android.widget.ListView.isViewAncestorOf:(Landroid/view/View;Landroid/view/View;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: android.view.ViewParent
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // android.view.ViewParent theParent
        end local 2 // android.view.View parent
        end local 1 // android.view.View child
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/widget/ListView;
            0    5     1      child  Landroid/view/View;
            0    5     2     parent  Landroid/view/View;
            3    5     3  theParent  Landroid/view/ViewParent;
    MethodParameters:
        Name  Flags
      child   
      parent  

  private int amountToScrollToNewFocus(int, android.view.View, int);
    descriptor: (ILandroid/view/View;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // int direction
        start local 2 // android.view.View newFocus
        start local 3 // int positionOfNewFocus
         0: .line 3189
            iconst_0
            istore 4 /* amountToScroll */
        start local 4 // int amountToScroll
         1: .line 3190
            aload 2 /* newFocus */
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
         2: .line 3191
            aload 0 /* this */
            aload 2 /* newFocus */
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ListView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
         3: .line 3192
            iload 1 /* direction */
            bipush 33
            if_icmpne 9
         4: .line 3193
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            if_icmpge 14
         5: .line 3194
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            isub
            istore 4 /* amountToScroll */
         6: .line 3195
            iload 3 /* positionOfNewFocus */
            ifle 14
         7: .line 3196
            iload 4 /* amountToScroll */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getArrowScrollPreviewLength:()I
            iadd
            istore 4 /* amountToScroll */
         8: .line 3199
            goto 14
         9: .line 3200
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 5 /* listBottom */
        start local 5 // int listBottom
        10: .line 3201
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iload 5 /* listBottom */
            if_icmple 14
        11: .line 3202
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            iload 5 /* listBottom */
            isub
            istore 4 /* amountToScroll */
        12: .line 3203
            iload 3 /* positionOfNewFocus */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpge 14
        13: .line 3204
            iload 4 /* amountToScroll */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getArrowScrollPreviewLength:()I
            iadd
            istore 4 /* amountToScroll */
        end local 5 // int listBottom
        14: .line 3208
      StackMap locals:
      StackMap stack:
            iload 4 /* amountToScroll */
            ireturn
        end local 4 // int amountToScroll
        end local 3 // int positionOfNewFocus
        end local 2 // android.view.View newFocus
        end local 1 // int direction
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Landroid/widget/ListView;
            0   15     1           direction  I
            0   15     2            newFocus  Landroid/view/View;
            0   15     3  positionOfNewFocus  I
            1   15     4      amountToScroll  I
           10   14     5          listBottom  I
    MethodParameters:
                    Name  Flags
      direction           
      newFocus            
      positionOfNewFocus  

  private int distanceToView(android.view.View);
    descriptor: (Landroid/view/View;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View descendant
         0: .line 3219
            iconst_0
            istore 2 /* distance */
        start local 2 // int distance
         1: .line 3220
            aload 1 /* descendant */
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
         2: .line 3221
            aload 0 /* this */
            aload 1 /* descendant */
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.widget.ListView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
         3: .line 3222
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 3 /* listBottom */
        start local 3 // int listBottom
         4: .line 3223
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            if_icmpge 7
         5: .line 3224
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 2 /* distance */
         6: .line 3225
            goto 9
      StackMap locals: int int
      StackMap stack:
         7: aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 3 /* listBottom */
            if_icmple 9
         8: .line 3226
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            iload 3 /* listBottom */
            isub
            istore 2 /* distance */
         9: .line 3228
      StackMap locals:
      StackMap stack:
            iload 2 /* distance */
            ireturn
        end local 3 // int listBottom
        end local 2 // int distance
        end local 1 // android.view.View descendant
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Landroid/widget/ListView;
            0   10     1  descendant  Landroid/view/View;
            1   10     2    distance  I
            4   10     3  listBottom  I
    MethodParameters:
            Name  Flags
      descendant  

  private void scrollListItemsBy(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int amount
         0: .line 3239
            aload 0 /* this */
            iload 1 /* amount */
            invokevirtual android.widget.ListView.offsetChildrenTopAndBottom:(I)V
         1: .line 3241
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            isub
            istore 2 /* listBottom */
        start local 2 // int listBottom
         2: .line 3242
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 3 /* listTop */
        start local 3 // int listTop
         3: .line 3243
            aload 0 /* this */
            getfield android.widget.ListView.mRecycler:Landroid/widget/AbsListView$RecycleBin;
            astore 4 /* recycleBin */
        start local 4 // android.widget.AbsListView$RecycleBin recycleBin
         4: .line 3245
            iload 1 /* amount */
            ifge 25
         5: .line 3249
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 5 /* numChildren */
        start local 5 // int numChildren
         6: .line 3250
            aload 0 /* this */
            iload 5 /* numChildren */
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 6 /* last */
        start local 6 // android.view.View last
         7: .line 3251
            goto 12
         8: .line 3252
      StackMap locals: android.widget.ListView int int int android.widget.AbsListView$RecycleBin int android.view.View
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 5 /* numChildren */
            iadd
            iconst_1
            isub
            istore 7 /* lastVisiblePosition */
        start local 7 // int lastVisiblePosition
         9: .line 3253
            iload 7 /* lastVisiblePosition */
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            iconst_1
            isub
            if_icmpge 13
        10: .line 3254
            aload 0 /* this */
            aload 6 /* last */
            iload 7 /* lastVisiblePosition */
            invokevirtual android.widget.ListView.addViewBelow:(Landroid/view/View;I)Landroid/view/View;
            astore 6 /* last */
        11: .line 3255
            iinc 5 /* numChildren */ 1
        end local 7 // int lastVisiblePosition
        12: .line 3251
      StackMap locals:
      StackMap stack:
            aload 6 /* last */
            invokevirtual android.view.View.getBottom:()I
            iload 2 /* listBottom */
            if_icmplt 8
        13: .line 3264
      StackMap locals:
      StackMap stack:
            aload 6 /* last */
            invokevirtual android.view.View.getBottom:()I
            iload 2 /* listBottom */
            if_icmpge 15
        14: .line 3265
            aload 0 /* this */
            iload 2 /* listBottom */
            aload 6 /* last */
            invokevirtual android.view.View.getBottom:()I
            isub
            invokevirtual android.widget.ListView.offsetChildrenTopAndBottom:(I)V
        15: .line 3269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 7 /* first */
        start local 7 // android.view.View first
        16: .line 3270
            goto 23
        17: .line 3271
      StackMap locals: android.view.View
      StackMap stack:
            aload 7 /* first */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 8 /* layoutParams */
        start local 8 // android.widget.AbsListView$LayoutParams layoutParams
        18: .line 3272
            aload 4 /* recycleBin */
            aload 8 /* layoutParams */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
            ifeq 20
        19: .line 3273
            aload 4 /* recycleBin */
            aload 7 /* first */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        20: .line 3275
      StackMap locals: android.widget.AbsListView$LayoutParams
      StackMap stack:
            aload 0 /* this */
            aload 7 /* first */
            invokevirtual android.widget.ListView.detachViewFromParent:(Landroid/view/View;)V
        21: .line 3276
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 7 /* first */
        22: .line 3277
            aload 0 /* this */
            dup
            getfield android.widget.ListView.mFirstPosition:I
            iconst_1
            iadd
            putfield android.widget.ListView.mFirstPosition:I
        end local 8 // android.widget.AbsListView$LayoutParams layoutParams
        23: .line 3270
      StackMap locals:
      StackMap stack:
            aload 7 /* first */
            invokevirtual android.view.View.getBottom:()I
            iload 3 /* listTop */
            if_icmplt 17
        end local 7 // android.view.View first
        end local 6 // android.view.View last
        end local 5 // int numChildren
        24: .line 3279
            goto 41
        25: .line 3281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 5 /* first */
        start local 5 // android.view.View first
        26: .line 3284
            goto 29
        27: .line 3285
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            aload 5 /* first */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            invokevirtual android.widget.ListView.addViewAbove:(Landroid/view/View;I)Landroid/view/View;
            astore 5 /* first */
        28: .line 3286
            aload 0 /* this */
            dup
            getfield android.widget.ListView.mFirstPosition:I
            iconst_1
            isub
            putfield android.widget.ListView.mFirstPosition:I
        29: .line 3284
      StackMap locals:
      StackMap stack:
            aload 5 /* first */
            invokevirtual android.view.View.getTop:()I
            iload 3 /* listTop */
            if_icmple 30
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            ifgt 27
        30: .line 3291
      StackMap locals:
      StackMap stack:
            aload 5 /* first */
            invokevirtual android.view.View.getTop:()I
            iload 3 /* listTop */
            if_icmple 32
        31: .line 3292
            aload 0 /* this */
            iload 3 /* listTop */
            aload 5 /* first */
            invokevirtual android.view.View.getTop:()I
            isub
            invokevirtual android.widget.ListView.offsetChildrenTopAndBottom:(I)V
        32: .line 3295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iconst_1
            isub
            istore 6 /* lastIndex */
        start local 6 // int lastIndex
        33: .line 3296
            aload 0 /* this */
            iload 6 /* lastIndex */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 7 /* last */
        start local 7 // android.view.View last
        34: .line 3299
            goto 40
        35: .line 3300
      StackMap locals: int android.view.View
      StackMap stack:
            aload 7 /* last */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 8 /* layoutParams */
        start local 8 // android.widget.AbsListView$LayoutParams layoutParams
        36: .line 3301
            aload 4 /* recycleBin */
            aload 8 /* layoutParams */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
            ifeq 38
        37: .line 3302
            aload 4 /* recycleBin */
            aload 7 /* last */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iload 6 /* lastIndex */
            iadd
            invokevirtual android.widget.AbsListView$RecycleBin.addScrapView:(Landroid/view/View;I)V
        38: .line 3304
      StackMap locals: android.widget.AbsListView$LayoutParams
      StackMap stack:
            aload 0 /* this */
            aload 7 /* last */
            invokevirtual android.widget.ListView.detachViewFromParent:(Landroid/view/View;)V
        39: .line 3305
            aload 0 /* this */
            iinc 6 /* lastIndex */ -1
            iload 6 /* lastIndex */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 7 /* last */
        end local 8 // android.widget.AbsListView$LayoutParams layoutParams
        40: .line 3299
      StackMap locals:
      StackMap stack:
            aload 7 /* last */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* listBottom */
            if_icmpgt 35
        end local 7 // android.view.View last
        end local 6 // int lastIndex
        end local 5 // android.view.View first
        41: .line 3308
      StackMap locals:
      StackMap stack:
            aload 4 /* recycleBin */
            invokevirtual android.widget.AbsListView$RecycleBin.fullyDetachScrapViews:()V
        42: .line 3309
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeUnusedFixedViews:(Ljava/util/List;)V
        43: .line 3310
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual android.widget.ListView.removeUnusedFixedViews:(Ljava/util/List;)V
        44: .line 3311
            return
        end local 4 // android.widget.AbsListView$RecycleBin recycleBin
        end local 3 // int listTop
        end local 2 // int listBottom
        end local 1 // int amount
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   45     0                 this  Landroid/widget/ListView;
            0   45     1               amount  I
            2   45     2           listBottom  I
            3   45     3              listTop  I
            4   45     4           recycleBin  Landroid/widget/AbsListView$RecycleBin;
            6   24     5          numChildren  I
            7   24     6                 last  Landroid/view/View;
            9   12     7  lastVisiblePosition  I
           16   24     7                first  Landroid/view/View;
           18   23     8         layoutParams  Landroid/widget/AbsListView$LayoutParams;
           26   41     5                first  Landroid/view/View;
           33   41     6            lastIndex  I
           34   41     7                 last  Landroid/view/View;
           36   40     8         layoutParams  Landroid/widget/AbsListView$LayoutParams;
    MethodParameters:
        Name  Flags
      amount  

  private android.view.View addViewAbove(android.view.View, int);
    descriptor: (Landroid/view/View;I)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View theView
        start local 2 // int position
         0: .line 3314
            iload 2 /* position */
            iconst_1
            isub
            istore 3 /* abovePosition */
        start local 3 // int abovePosition
         1: .line 3315
            aload 0 /* this */
            iload 3 /* abovePosition */
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            invokevirtual android.widget.ListView.obtainView:(I[Z)Landroid/view/View;
            astore 4 /* view */
        start local 4 // android.view.View view
         2: .line 3316
            aload 1 /* theView */
            invokevirtual android.view.View.getTop:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            isub
            istore 5 /* edgeOfNewChild */
        start local 5 // int edgeOfNewChild
         3: .line 3317
            aload 0 /* this */
            aload 4 /* view */
            iload 3 /* abovePosition */
            iload 5 /* edgeOfNewChild */
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
         4: .line 3318
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            iconst_0
            baload
         5: .line 3317
            invokevirtual android.widget.ListView.setupChild:(Landroid/view/View;IIZIZZ)V
         6: .line 3319
            aload 4 /* view */
            areturn
        end local 5 // int edgeOfNewChild
        end local 4 // android.view.View view
        end local 3 // int abovePosition
        end local 2 // int position
        end local 1 // android.view.View theView
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Landroid/widget/ListView;
            0    7     1         theView  Landroid/view/View;
            0    7     2        position  I
            1    7     3   abovePosition  I
            2    7     4            view  Landroid/view/View;
            3    7     5  edgeOfNewChild  I
    MethodParameters:
          Name  Flags
      theView   
      position  

  private android.view.View addViewBelow(android.view.View, int);
    descriptor: (Landroid/view/View;I)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View theView
        start local 2 // int position
         0: .line 3323
            iload 2 /* position */
            iconst_1
            iadd
            istore 3 /* belowPosition */
        start local 3 // int belowPosition
         1: .line 3324
            aload 0 /* this */
            iload 3 /* belowPosition */
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            invokevirtual android.widget.ListView.obtainView:(I[Z)Landroid/view/View;
            astore 4 /* view */
        start local 4 // android.view.View view
         2: .line 3325
            aload 1 /* theView */
            invokevirtual android.view.View.getBottom:()I
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            iadd
            istore 5 /* edgeOfNewChild */
        start local 5 // int edgeOfNewChild
         3: .line 3326
            aload 0 /* this */
            aload 4 /* view */
            iload 3 /* belowPosition */
            iload 5 /* edgeOfNewChild */
            iconst_1
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.left:I
         4: .line 3327
            iconst_0
            aload 0 /* this */
            getfield android.widget.ListView.mIsScrap:[Z
            iconst_0
            baload
         5: .line 3326
            invokevirtual android.widget.ListView.setupChild:(Landroid/view/View;IIZIZZ)V
         6: .line 3328
            aload 4 /* view */
            areturn
        end local 5 // int edgeOfNewChild
        end local 4 // android.view.View view
        end local 3 // int belowPosition
        end local 2 // int position
        end local 1 // android.view.View theView
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Landroid/widget/ListView;
            0    7     1         theView  Landroid/view/View;
            0    7     2        position  I
            1    7     3   belowPosition  I
            2    7     4            view  Landroid/view/View;
            3    7     5  edgeOfNewChild  I
    MethodParameters:
          Name  Flags
      theView   
      position  

  public void setItemsCanFocus(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // boolean itemsCanFocus
         0: .line 3338
            aload 0 /* this */
            iload 1 /* itemsCanFocus */
            putfield android.widget.ListView.mItemsCanFocus:Z
         1: .line 3339
            iload 1 /* itemsCanFocus */
            ifne 3
         2: .line 3340
            aload 0 /* this */
            ldc 393216
            invokevirtual android.widget.ListView.setDescendantFocusability:(I)V
         3: .line 3342
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean itemsCanFocus
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Landroid/widget/ListView;
            0    4     1  itemsCanFocus  Z
    MethodParameters:
               Name  Flags
      itemsCanFocus  

  public boolean getItemsCanFocus();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3349
            aload 0 /* this */
            getfield android.widget.ListView.mItemsCanFocus:Z
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public boolean isOpaque();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3354
            aload 0 /* this */
            getfield android.widget.ListView.mCachingActive:Z
            ifeq 2
            aload 0 /* this */
            getfield android.widget.ListView.mIsCacheColorOpaque:Z
            ifeq 2
            aload 0 /* this */
            getfield android.widget.ListView.mDividerIsOpaque:Z
            ifeq 2
         1: .line 3355
            aload 0 /* this */
            invokevirtual android.widget.ListView.hasOpaqueScrollbars:()Z
            ifne 4
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            invokespecial android.widget.AbsListView.isOpaque:()Z
            ifne 4
         3: .line 3354
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 1 /* retValue */
        start local 1 // boolean retValue
         6: .line 3356
            iload 1 /* retValue */
            ifeq 20
         7: .line 3358
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            ifnull 8
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 0 /* this */
            getfield android.widget.ListView.mPaddingTop:I
      StackMap locals:
      StackMap stack: int
         9: istore 2 /* listTop */
        start local 2 // int listTop
        10: .line 3359
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 3 /* first */
        start local 3 // android.view.View first
        11: .line 3360
            aload 3 /* first */
            ifnull 12
            aload 3 /* first */
            invokevirtual android.view.View.getTop:()I
            iload 2 /* listTop */
            if_icmple 13
        12: .line 3361
      StackMap locals: int android.view.View
      StackMap stack:
            iconst_0
            ireturn
        13: .line 3363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeight:()I
        14: .line 3364
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            ifnull 15
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            goto 16
      StackMap locals:
      StackMap stack: int
        15: aload 0 /* this */
            getfield android.widget.ListView.mPaddingBottom:I
        16: .line 3363
      StackMap locals: android.widget.ListView int int android.view.View
      StackMap stack: int int
            isub
            istore 4 /* listBottom */
        start local 4 // int listBottom
        17: .line 3365
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            iconst_1
            isub
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 5 /* last */
        start local 5 // android.view.View last
        18: .line 3366
            aload 5 /* last */
            ifnull 19
            aload 5 /* last */
            invokevirtual android.view.View.getBottom:()I
            iload 4 /* listBottom */
            if_icmpge 20
        19: .line 3367
      StackMap locals: int android.view.View
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // android.view.View last
        end local 4 // int listBottom
        end local 3 // android.view.View first
        end local 2 // int listTop
        20: .line 3370
      StackMap locals: android.widget.ListView int
      StackMap stack:
            iload 1 /* retValue */
            ireturn
        end local 1 // boolean retValue
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Landroid/widget/ListView;
            6   21     1    retValue  Z
           10   20     2     listTop  I
           11   20     3       first  Landroid/view/View;
           17   20     4  listBottom  I
           18   20     5        last  Landroid/view/View;

  public void setCacheColorHint(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int color
         0: .line 3375
            iload 1 /* color */
            bipush 24
            iushr
            sipush 255
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* opaque */
        start local 2 // boolean opaque
         3: .line 3376
            aload 0 /* this */
            iload 2 /* opaque */
            putfield android.widget.ListView.mIsCacheColorOpaque:Z
         4: .line 3377
            iload 2 /* opaque */
            ifeq 8
         5: .line 3378
            aload 0 /* this */
            getfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
            ifnonnull 7
         6: .line 3379
            aload 0 /* this */
            new android.graphics.Paint
            dup
            invokespecial android.graphics.Paint.<init>:()V
            putfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
         7: .line 3381
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
            iload 1 /* color */
            invokevirtual android.graphics.Paint.setColor:(I)V
         8: .line 3383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* color */
            invokespecial android.widget.AbsListView.setCacheColorHint:(I)V
         9: .line 3384
            return
        end local 2 // boolean opaque
        end local 1 // int color
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Landroid/widget/ListView;
            0   10     1   color  I
            3   10     2  opaque  Z
    MethodParameters:
       Name  Flags
      color  

  void drawOverscrollHeader(android.graphics.Canvas, android.graphics.drawable.Drawable, android.graphics.Rect);
    descriptor: (Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.Canvas canvas
        start local 2 // android.graphics.drawable.Drawable drawable
        start local 3 // android.graphics.Rect bounds
         0: .line 3387
            aload 2 /* drawable */
            invokevirtual android.graphics.drawable.Drawable.getMinimumHeight:()I
            istore 4 /* height */
        start local 4 // int height
         1: .line 3389
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.save:()I
            pop
         2: .line 3390
            aload 1 /* canvas */
            aload 3 /* bounds */
            invokevirtual android.graphics.Canvas.clipRect:(Landroid/graphics/Rect;)Z
            pop
         3: .line 3392
            aload 3 /* bounds */
            getfield android.graphics.Rect.bottom:I
            aload 3 /* bounds */
            getfield android.graphics.Rect.top:I
            isub
            istore 5 /* span */
        start local 5 // int span
         4: .line 3393
            iload 5 /* span */
            iload 4 /* height */
            if_icmpge 6
         5: .line 3394
            aload 3 /* bounds */
            aload 3 /* bounds */
            getfield android.graphics.Rect.bottom:I
            iload 4 /* height */
            isub
            putfield android.graphics.Rect.top:I
         6: .line 3397
      StackMap locals: int int
      StackMap stack:
            aload 2 /* drawable */
            aload 3 /* bounds */
            invokevirtual android.graphics.drawable.Drawable.setBounds:(Landroid/graphics/Rect;)V
         7: .line 3398
            aload 2 /* drawable */
            aload 1 /* canvas */
            invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
         8: .line 3400
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.restore:()V
         9: .line 3401
            return
        end local 5 // int span
        end local 4 // int height
        end local 3 // android.graphics.Rect bounds
        end local 2 // android.graphics.drawable.Drawable drawable
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/widget/ListView;
            0   10     1    canvas  Landroid/graphics/Canvas;
            0   10     2  drawable  Landroid/graphics/drawable/Drawable;
            0   10     3    bounds  Landroid/graphics/Rect;
            1   10     4    height  I
            4   10     5      span  I
    MethodParameters:
          Name  Flags
      canvas    
      drawable  
      bounds    

  void drawOverscrollFooter(android.graphics.Canvas, android.graphics.drawable.Drawable, android.graphics.Rect);
    descriptor: (Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.Canvas canvas
        start local 2 // android.graphics.drawable.Drawable drawable
        start local 3 // android.graphics.Rect bounds
         0: .line 3404
            aload 2 /* drawable */
            invokevirtual android.graphics.drawable.Drawable.getMinimumHeight:()I
            istore 4 /* height */
        start local 4 // int height
         1: .line 3406
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.save:()I
            pop
         2: .line 3407
            aload 1 /* canvas */
            aload 3 /* bounds */
            invokevirtual android.graphics.Canvas.clipRect:(Landroid/graphics/Rect;)Z
            pop
         3: .line 3409
            aload 3 /* bounds */
            getfield android.graphics.Rect.bottom:I
            aload 3 /* bounds */
            getfield android.graphics.Rect.top:I
            isub
            istore 5 /* span */
        start local 5 // int span
         4: .line 3410
            iload 5 /* span */
            iload 4 /* height */
            if_icmpge 6
         5: .line 3411
            aload 3 /* bounds */
            aload 3 /* bounds */
            getfield android.graphics.Rect.top:I
            iload 4 /* height */
            iadd
            putfield android.graphics.Rect.bottom:I
         6: .line 3414
      StackMap locals: int int
      StackMap stack:
            aload 2 /* drawable */
            aload 3 /* bounds */
            invokevirtual android.graphics.drawable.Drawable.setBounds:(Landroid/graphics/Rect;)V
         7: .line 3415
            aload 2 /* drawable */
            aload 1 /* canvas */
            invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
         8: .line 3417
            aload 1 /* canvas */
            invokevirtual android.graphics.Canvas.restore:()V
         9: .line 3418
            return
        end local 5 // int span
        end local 4 // int height
        end local 3 // android.graphics.Rect bounds
        end local 2 // android.graphics.drawable.Drawable drawable
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/widget/ListView;
            0   10     1    canvas  Landroid/graphics/Canvas;
            0   10     2  drawable  Landroid/graphics/drawable/Drawable;
            0   10     3    bounds  Landroid/graphics/Rect;
            1   10     4    height  I
            4   10     5      span  I
    MethodParameters:
          Name  Flags
      canvas    
      drawable  
      bounds    

  protected void dispatchDraw(android.graphics.Canvas);
    descriptor: (Landroid/graphics/Canvas;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=32, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.Canvas canvas
         0: .line 3422
            aload 0 /* this */
            getfield android.widget.ListView.mCachingStarted:Z
            ifeq 2
         1: .line 3423
            aload 0 /* this */
            iconst_1
            putfield android.widget.ListView.mCachingActive:Z
         2: .line 3427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            istore 2 /* dividerHeight */
        start local 2 // int dividerHeight
         3: .line 3428
            aload 0 /* this */
            getfield android.widget.ListView.mOverScrollHeader:Landroid/graphics/drawable/Drawable;
            astore 3 /* overscrollHeader */
        start local 3 // android.graphics.drawable.Drawable overscrollHeader
         4: .line 3429
            aload 0 /* this */
            getfield android.widget.ListView.mOverScrollFooter:Landroid/graphics/drawable/Drawable;
            astore 4 /* overscrollFooter */
        start local 4 // android.graphics.drawable.Drawable overscrollFooter
         5: .line 3430
            aload 3 /* overscrollHeader */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals: int android.graphics.drawable.Drawable android.graphics.drawable.Drawable
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* drawOverscrollHeader */
        start local 5 // boolean drawOverscrollHeader
         8: .line 3431
            aload 4 /* overscrollFooter */
            ifnull 9
            iconst_1
            goto 10
      StackMap locals: int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* drawOverscrollFooter */
        start local 6 // boolean drawOverscrollFooter
        11: .line 3432
            iload 2 /* dividerHeight */
            ifle 12
            aload 0 /* this */
            getfield android.widget.ListView.mDivider:Landroid/graphics/drawable/Drawable;
            ifnull 12
            iconst_1
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* drawDividers */
        start local 7 // boolean drawDividers
        14: .line 3434
            iload 7 /* drawDividers */
            ifne 15
            iload 5 /* drawOverscrollHeader */
            ifne 15
            iload 6 /* drawOverscrollFooter */
            ifeq 145
        15: .line 3436
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            astore 8 /* bounds */
        start local 8 // android.graphics.Rect bounds
        16: .line 3437
            aload 8 /* bounds */
            aload 0 /* this */
            getfield android.widget.ListView.mPaddingLeft:I
            putfield android.graphics.Rect.left:I
        17: .line 3438
            aload 8 /* bounds */
            aload 0 /* this */
            getfield android.widget.ListView.mRight:I
            aload 0 /* this */
            getfield android.widget.ListView.mLeft:I
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mPaddingRight:I
            isub
            putfield android.graphics.Rect.right:I
        18: .line 3440
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 9 /* count */
        start local 9 // int count
        19: .line 3441
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeaderViewsCount:()I
            istore 10 /* headerCount */
        start local 10 // int headerCount
        20: .line 3442
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            istore 11 /* itemCount */
        start local 11 // int itemCount
        21: .line 3443
            iload 11 /* itemCount */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            isub
            istore 12 /* footerLimit */
        start local 12 // int footerLimit
        22: .line 3444
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderDividersEnabled:Z
            istore 13 /* headerDividers */
        start local 13 // boolean headerDividers
        23: .line 3445
            aload 0 /* this */
            getfield android.widget.ListView.mFooterDividersEnabled:Z
            istore 14 /* footerDividers */
        start local 14 // boolean footerDividers
        24: .line 3446
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            istore 15 /* first */
        start local 15 // int first
        25: .line 3448
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 16 /* adapter */
        start local 16 // android.widget.ListAdapter adapter
        26: .line 3453
            aload 0 /* this */
            invokevirtual android.widget.ListView.isOpaque:()Z
            ifeq 27
            aload 0 /* this */
            invokespecial android.widget.AbsListView.isOpaque:()Z
            ifne 27
            iconst_1
            goto 28
      StackMap locals: android.widget.ListView android.graphics.Canvas int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int android.graphics.Rect int int int int int int int android.widget.ListAdapter
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 17 /* fillForMissingDividers */
        start local 17 // boolean fillForMissingDividers
        29: .line 3455
            iload 17 /* fillForMissingDividers */
            ifeq 32
            aload 0 /* this */
            getfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
            ifnonnull 32
            aload 0 /* this */
            getfield android.widget.ListView.mIsCacheColorOpaque:Z
            ifeq 32
        30: .line 3456
            aload 0 /* this */
            new android.graphics.Paint
            dup
            invokespecial android.graphics.Paint.<init>:()V
            putfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
        31: .line 3457
            aload 0 /* this */
            getfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
            aload 0 /* this */
            invokevirtual android.widget.ListView.getCacheColorHint:()I
            invokevirtual android.graphics.Paint.setColor:(I)V
        32: .line 3459
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mDividerPaint:Landroid/graphics/Paint;
            astore 18 /* paint */
        start local 18 // android.graphics.Paint paint
        33: .line 3461
            iconst_0
            istore 19 /* effectivePaddingTop */
        start local 19 // int effectivePaddingTop
        34: .line 3462
            iconst_0
            istore 20 /* effectivePaddingBottom */
        start local 20 // int effectivePaddingBottom
        35: .line 3463
            aload 0 /* this */
            getfield android.widget.ListView.mGroupFlags:I
            bipush 34
            iand
            bipush 34
            if_icmpne 38
        36: .line 3464
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            istore 19 /* effectivePaddingTop */
        37: .line 3465
            aload 0 /* this */
            getfield android.widget.ListView.mListPadding:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            istore 20 /* effectivePaddingBottom */
        38: .line 3468
      StackMap locals: android.graphics.Paint int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mTop:I
            isub
            iload 20 /* effectivePaddingBottom */
            isub
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            iadd
            istore 21 /* listBottom */
        start local 21 // int listBottom
        39: .line 3469
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 93
        40: .line 3470
            iconst_0
            istore 22 /* bottom */
        start local 22 // int bottom
        41: .line 3473
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            istore 23 /* scrollY */
        start local 23 // int scrollY
        42: .line 3474
            iload 9 /* count */
            ifle 52
            iload 23 /* scrollY */
            ifge 52
        43: .line 3475
            iload 5 /* drawOverscrollHeader */
            ifeq 48
        44: .line 3476
            aload 8 /* bounds */
            iconst_0
            putfield android.graphics.Rect.bottom:I
        45: .line 3477
            aload 8 /* bounds */
            iload 23 /* scrollY */
            putfield android.graphics.Rect.top:I
        46: .line 3478
            aload 0 /* this */
            aload 1 /* canvas */
            aload 3 /* overscrollHeader */
            aload 8 /* bounds */
            invokevirtual android.widget.ListView.drawOverscrollHeader:(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
        47: .line 3479
            goto 52
      StackMap locals: int int int
      StackMap stack:
        48: iload 7 /* drawDividers */
            ifeq 52
        49: .line 3480
            aload 8 /* bounds */
            iconst_0
            putfield android.graphics.Rect.bottom:I
        50: .line 3481
            aload 8 /* bounds */
            iload 2 /* dividerHeight */
            ineg
            putfield android.graphics.Rect.top:I
        51: .line 3482
            aload 0 /* this */
            aload 1 /* canvas */
            aload 8 /* bounds */
            iconst_m1
            invokevirtual android.widget.ListView.drawDivider:(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
        52: .line 3486
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 24 /* i */
        start local 24 // int i
        53: goto 85
        54: .line 3487
      StackMap locals: int
      StackMap stack:
            iload 15 /* first */
            iload 24 /* i */
            iadd
            istore 25 /* itemIndex */
        start local 25 // int itemIndex
        55: .line 3488
            iload 25 /* itemIndex */
            iload 10 /* headerCount */
            if_icmpge 56
            iconst_1
            goto 57
      StackMap locals: int
      StackMap stack:
        56: iconst_0
      StackMap locals:
      StackMap stack: int
        57: istore 26 /* isHeader */
        start local 26 // boolean isHeader
        58: .line 3489
            iload 25 /* itemIndex */
            iload 12 /* footerLimit */
            if_icmplt 59
            iconst_1
            goto 60
      StackMap locals: int
      StackMap stack:
        59: iconst_0
      StackMap locals:
      StackMap stack: int
        60: istore 27 /* isFooter */
        start local 27 // boolean isFooter
        61: .line 3490
            iload 13 /* headerDividers */
            ifne 62
            iload 26 /* isHeader */
            ifne 84
      StackMap locals: int
      StackMap stack:
        62: iload 14 /* footerDividers */
            ifne 63
            iload 27 /* isFooter */
            ifne 84
        63: .line 3491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 24 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 28 /* child */
        start local 28 // android.view.View child
        64: .line 3492
            aload 28 /* child */
            invokevirtual android.view.View.getBottom:()I
            istore 22 /* bottom */
        65: .line 3493
            iload 24 /* i */
            iload 9 /* count */
            iconst_1
            isub
            if_icmpne 66
            iconst_1
            goto 67
      StackMap locals: android.view.View
      StackMap stack:
        66: iconst_0
      StackMap locals:
      StackMap stack: int
        67: istore 29 /* isLastItem */
        start local 29 // boolean isLastItem
        68: .line 3495
            iload 7 /* drawDividers */
            ifeq 84
            iload 22 /* bottom */
            iload 21 /* listBottom */
            if_icmpge 84
        69: .line 3496
            iload 6 /* drawOverscrollFooter */
            ifeq 70
            iload 29 /* isLastItem */
            ifne 84
        70: .line 3497
      StackMap locals: int
      StackMap stack:
            iload 25 /* itemIndex */
            iconst_1
            iadd
            istore 30 /* nextIndex */
        start local 30 // int nextIndex
        71: .line 3501
            aload 16 /* adapter */
            iload 25 /* itemIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 80
            iload 13 /* headerDividers */
            ifne 73
            iload 26 /* isHeader */
            ifne 80
        72: .line 3502
            iload 30 /* nextIndex */
            iload 10 /* headerCount */
            if_icmplt 80
      StackMap locals: int
      StackMap stack:
        73: iload 29 /* isLastItem */
            ifne 76
        74: .line 3503
            aload 16 /* adapter */
            iload 30 /* nextIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 80
            iload 14 /* footerDividers */
            ifne 76
            iload 27 /* isFooter */
            ifne 80
        75: .line 3504
            iload 30 /* nextIndex */
            iload 12 /* footerLimit */
            if_icmpge 80
        76: .line 3505
      StackMap locals:
      StackMap stack:
            aload 8 /* bounds */
            iload 22 /* bottom */
            putfield android.graphics.Rect.top:I
        77: .line 3506
            aload 8 /* bounds */
            iload 22 /* bottom */
            iload 2 /* dividerHeight */
            iadd
            putfield android.graphics.Rect.bottom:I
        78: .line 3507
            aload 0 /* this */
            aload 1 /* canvas */
            aload 8 /* bounds */
            iload 24 /* i */
            invokevirtual android.widget.ListView.drawDivider:(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
        79: .line 3508
            goto 84
      StackMap locals:
      StackMap stack:
        80: iload 17 /* fillForMissingDividers */
            ifeq 84
        81: .line 3509
            aload 8 /* bounds */
            iload 22 /* bottom */
            putfield android.graphics.Rect.top:I
        82: .line 3510
            aload 8 /* bounds */
            iload 22 /* bottom */
            iload 2 /* dividerHeight */
            iadd
            putfield android.graphics.Rect.bottom:I
        83: .line 3511
            aload 1 /* canvas */
            aload 8 /* bounds */
            aload 18 /* paint */
            invokevirtual android.graphics.Canvas.drawRect:(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
        end local 30 // int nextIndex
        end local 29 // boolean isLastItem
        end local 28 // android.view.View child
        end local 27 // boolean isFooter
        end local 26 // boolean isHeader
        end local 25 // int itemIndex
        84: .line 3486
      StackMap locals: android.widget.ListView android.graphics.Canvas int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int android.graphics.Rect int int int int int int int android.widget.ListAdapter int android.graphics.Paint int int int int int int
      StackMap stack:
            iinc 24 /* i */ 1
      StackMap locals:
      StackMap stack:
        85: iload 24 /* i */
            iload 9 /* count */
            if_icmplt 54
        end local 24 // int i
        86: .line 3517
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            iadd
            istore 24 /* overFooterBottom */
        start local 24 // int overFooterBottom
        87: .line 3518
            iload 6 /* drawOverscrollFooter */
            ifeq 145
            iload 15 /* first */
            iload 9 /* count */
            iadd
            iload 11 /* itemCount */
            if_icmpne 145
        88: .line 3519
            iload 24 /* overFooterBottom */
            iload 22 /* bottom */
            if_icmple 145
        89: .line 3520
            aload 8 /* bounds */
            iload 22 /* bottom */
            putfield android.graphics.Rect.top:I
        90: .line 3521
            aload 8 /* bounds */
            iload 24 /* overFooterBottom */
            putfield android.graphics.Rect.bottom:I
        91: .line 3522
            aload 0 /* this */
            aload 1 /* canvas */
            aload 4 /* overscrollFooter */
            aload 8 /* bounds */
            invokevirtual android.widget.ListView.drawOverscrollFooter:(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
        end local 24 // int overFooterBottom
        end local 23 // int scrollY
        end local 22 // int bottom
        92: .line 3524
            goto 145
        93: .line 3527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            istore 23 /* scrollY */
        start local 23 // int scrollY
        94: .line 3529
            iload 9 /* count */
            ifle 98
            iload 5 /* drawOverscrollHeader */
            ifeq 98
        95: .line 3530
            aload 8 /* bounds */
            iload 23 /* scrollY */
            putfield android.graphics.Rect.top:I
        96: .line 3531
            aload 8 /* bounds */
            aload 0 /* this */
            iconst_0
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.getTop:()I
            putfield android.graphics.Rect.bottom:I
        97: .line 3532
            aload 0 /* this */
            aload 1 /* canvas */
            aload 3 /* overscrollHeader */
            aload 8 /* bounds */
            invokevirtual android.widget.ListView.drawOverscrollHeader:(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
        98: .line 3535
      StackMap locals: android.widget.ListView android.graphics.Canvas int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int android.graphics.Rect int int int int int int int android.widget.ListAdapter int android.graphics.Paint int int int top int
      StackMap stack:
            iload 5 /* drawOverscrollHeader */
            ifeq 99
            iconst_1
            goto 100
      StackMap locals:
      StackMap stack:
        99: iconst_0
      StackMap locals:
      StackMap stack: int
       100: istore 24 /* start */
        start local 24 // int start
       101: .line 3536
            iload 24 /* start */
            istore 25 /* i */
        start local 25 // int i
       102: goto 133
       103: .line 3537
      StackMap locals: int int
      StackMap stack:
            iload 15 /* first */
            iload 25 /* i */
            iadd
            istore 26 /* itemIndex */
        start local 26 // int itemIndex
       104: .line 3538
            iload 26 /* itemIndex */
            iload 10 /* headerCount */
            if_icmpge 105
            iconst_1
            goto 106
      StackMap locals: int
      StackMap stack:
       105: iconst_0
      StackMap locals:
      StackMap stack: int
       106: istore 27 /* isHeader */
        start local 27 // boolean isHeader
       107: .line 3539
            iload 26 /* itemIndex */
            iload 12 /* footerLimit */
            if_icmplt 108
            iconst_1
            goto 109
      StackMap locals: int
      StackMap stack:
       108: iconst_0
      StackMap locals:
      StackMap stack: int
       109: istore 28 /* isFooter */
        start local 28 // boolean isFooter
       110: .line 3540
            iload 13 /* headerDividers */
            ifne 111
            iload 27 /* isHeader */
            ifne 132
      StackMap locals: int
      StackMap stack:
       111: iload 14 /* footerDividers */
            ifne 112
            iload 28 /* isFooter */
            ifne 132
       112: .line 3541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 25 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 29 /* child */
        start local 29 // android.view.View child
       113: .line 3542
            aload 29 /* child */
            invokevirtual android.view.View.getTop:()I
            istore 22 /* top */
        start local 22 // int top
       114: .line 3543
            iload 7 /* drawDividers */
            ifeq 132
            iload 22 /* top */
            iload 19 /* effectivePaddingTop */
            if_icmple 132
       115: .line 3544
            iload 25 /* i */
            iload 24 /* start */
            if_icmpne 116
            iconst_1
            goto 117
      StackMap locals: android.widget.ListView android.graphics.Canvas int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int android.graphics.Rect int int int int int int int android.widget.ListAdapter int android.graphics.Paint int int int int int int int int int int android.view.View
      StackMap stack:
       116: iconst_0
      StackMap locals:
      StackMap stack: int
       117: istore 30 /* isFirstItem */
        start local 30 // boolean isFirstItem
       118: .line 3545
            iload 26 /* itemIndex */
            iconst_1
            isub
            istore 31 /* previousIndex */
        start local 31 // int previousIndex
       119: .line 3549
            aload 16 /* adapter */
            iload 26 /* itemIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 128
            iload 13 /* headerDividers */
            ifne 121
            iload 27 /* isHeader */
            ifne 128
       120: .line 3550
            iload 31 /* previousIndex */
            iload 10 /* headerCount */
            if_icmplt 128
      StackMap locals: int int
      StackMap stack:
       121: iload 30 /* isFirstItem */
            ifne 124
       122: .line 3551
            aload 16 /* adapter */
            iload 31 /* previousIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 128
            iload 14 /* footerDividers */
            ifne 124
            iload 28 /* isFooter */
            ifne 128
       123: .line 3552
            iload 31 /* previousIndex */
            iload 12 /* footerLimit */
            if_icmpge 128
       124: .line 3553
      StackMap locals:
      StackMap stack:
            aload 8 /* bounds */
            iload 22 /* top */
            iload 2 /* dividerHeight */
            isub
            putfield android.graphics.Rect.top:I
       125: .line 3554
            aload 8 /* bounds */
            iload 22 /* top */
            putfield android.graphics.Rect.bottom:I
       126: .line 3559
            aload 0 /* this */
            aload 1 /* canvas */
            aload 8 /* bounds */
            iload 25 /* i */
            iconst_1
            isub
            invokevirtual android.widget.ListView.drawDivider:(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
       127: .line 3560
            goto 132
      StackMap locals:
      StackMap stack:
       128: iload 17 /* fillForMissingDividers */
            ifeq 132
       129: .line 3561
            aload 8 /* bounds */
            iload 22 /* top */
            iload 2 /* dividerHeight */
            isub
            putfield android.graphics.Rect.top:I
       130: .line 3562
            aload 8 /* bounds */
            iload 22 /* top */
            putfield android.graphics.Rect.bottom:I
       131: .line 3563
            aload 1 /* canvas */
            aload 8 /* bounds */
            aload 18 /* paint */
            invokevirtual android.graphics.Canvas.drawRect:(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
        end local 31 // int previousIndex
        end local 30 // boolean isFirstItem
        end local 29 // android.view.View child
        end local 28 // boolean isFooter
        end local 27 // boolean isHeader
        end local 26 // int itemIndex
        end local 22 // int top
       132: .line 3536
      StackMap locals: android.widget.ListView android.graphics.Canvas int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int android.graphics.Rect int int int int int int int android.widget.ListAdapter int android.graphics.Paint int int int top int int int
      StackMap stack:
            iinc 25 /* i */ 1
      StackMap locals:
      StackMap stack:
       133: iload 25 /* i */
            iload 9 /* count */
            if_icmplt 103
        end local 25 // int i
       134: .line 3569
            iload 9 /* count */
            ifle 145
            iload 23 /* scrollY */
            ifle 145
       135: .line 3570
            iload 6 /* drawOverscrollFooter */
            ifeq 141
       136: .line 3571
            aload 0 /* this */
            getfield android.widget.ListView.mBottom:I
            istore 25 /* absListBottom */
        start local 25 // int absListBottom
       137: .line 3572
            aload 8 /* bounds */
            iload 25 /* absListBottom */
            putfield android.graphics.Rect.top:I
       138: .line 3573
            aload 8 /* bounds */
            iload 25 /* absListBottom */
            iload 23 /* scrollY */
            iadd
            putfield android.graphics.Rect.bottom:I
       139: .line 3574
            aload 0 /* this */
            aload 1 /* canvas */
            aload 4 /* overscrollFooter */
            aload 8 /* bounds */
            invokevirtual android.widget.ListView.drawOverscrollFooter:(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
        end local 25 // int absListBottom
       140: .line 3575
            goto 145
      StackMap locals:
      StackMap stack:
       141: iload 7 /* drawDividers */
            ifeq 145
       142: .line 3576
            aload 8 /* bounds */
            iload 21 /* listBottom */
            putfield android.graphics.Rect.top:I
       143: .line 3577
            aload 8 /* bounds */
            iload 21 /* listBottom */
            iload 2 /* dividerHeight */
            iadd
            putfield android.graphics.Rect.bottom:I
       144: .line 3578
            aload 0 /* this */
            aload 1 /* canvas */
            aload 8 /* bounds */
            iconst_m1
            invokevirtual android.widget.ListView.drawDivider:(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
        end local 24 // int start
        end local 23 // int scrollY
        end local 21 // int listBottom
        end local 20 // int effectivePaddingBottom
        end local 19 // int effectivePaddingTop
        end local 18 // android.graphics.Paint paint
        end local 17 // boolean fillForMissingDividers
        end local 16 // android.widget.ListAdapter adapter
        end local 15 // int first
        end local 14 // boolean footerDividers
        end local 13 // boolean headerDividers
        end local 12 // int footerLimit
        end local 11 // int itemCount
        end local 10 // int headerCount
        end local 9 // int count
        end local 8 // android.graphics.Rect bounds
       145: .line 3585
      StackMap locals: android.widget.ListView android.graphics.Canvas int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* canvas */
            invokespecial android.widget.AbsListView.dispatchDraw:(Landroid/graphics/Canvas;)V
       146: .line 3586
            return
        end local 7 // boolean drawDividers
        end local 6 // boolean drawOverscrollFooter
        end local 5 // boolean drawOverscrollHeader
        end local 4 // android.graphics.drawable.Drawable overscrollFooter
        end local 3 // android.graphics.drawable.Drawable overscrollHeader
        end local 2 // int dividerHeight
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  147     0                    this  Landroid/widget/ListView;
            0  147     1                  canvas  Landroid/graphics/Canvas;
            3  147     2           dividerHeight  I
            4  147     3        overscrollHeader  Landroid/graphics/drawable/Drawable;
            5  147     4        overscrollFooter  Landroid/graphics/drawable/Drawable;
            8  147     5    drawOverscrollHeader  Z
           11  147     6    drawOverscrollFooter  Z
           14  147     7            drawDividers  Z
           16  145     8                  bounds  Landroid/graphics/Rect;
           19  145     9                   count  I
           20  145    10             headerCount  I
           21  145    11               itemCount  I
           22  145    12             footerLimit  I
           23  145    13          headerDividers  Z
           24  145    14          footerDividers  Z
           25  145    15                   first  I
           26  145    16                 adapter  Landroid/widget/ListAdapter;
           29  145    17  fillForMissingDividers  Z
           33  145    18                   paint  Landroid/graphics/Paint;
           34  145    19     effectivePaddingTop  I
           35  145    20  effectivePaddingBottom  I
           39  145    21              listBottom  I
           41   92    22                  bottom  I
           42   92    23                 scrollY  I
           53   86    24                       i  I
           55   84    25               itemIndex  I
           58   84    26                isHeader  Z
           61   84    27                isFooter  Z
           64   84    28                   child  Landroid/view/View;
           68   84    29              isLastItem  Z
           71   84    30               nextIndex  I
           87   92    24        overFooterBottom  I
          114  132    22                     top  I
           94  145    23                 scrollY  I
          101  145    24                   start  I
          102  134    25                       i  I
          104  132    26               itemIndex  I
          107  132    27                isHeader  Z
          110  132    28                isFooter  Z
          113  132    29                   child  Landroid/view/View;
          118  132    30             isFirstItem  Z
          119  132    31           previousIndex  I
          137  140    25           absListBottom  I
    MethodParameters:
        Name  Flags
      canvas  

  protected boolean drawChild(android.graphics.Canvas, android.view.View, long);
    descriptor: (Landroid/graphics/Canvas;Landroid/view/View;J)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.Canvas canvas
        start local 2 // android.view.View child
        start local 3 // long drawingTime
         0: .line 3590
            aload 0 /* this */
            aload 1 /* canvas */
            aload 2 /* child */
            lload 3 /* drawingTime */
            invokespecial android.widget.AbsListView.drawChild:(Landroid/graphics/Canvas;Landroid/view/View;J)Z
            istore 5 /* more */
        start local 5 // boolean more
         1: .line 3591
            aload 0 /* this */
            getfield android.widget.ListView.mCachingActive:Z
            ifeq 3
            aload 2 /* child */
            getfield android.view.View.mCachingFailed:Z
            ifeq 3
         2: .line 3592
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mCachingActive:Z
         3: .line 3594
      StackMap locals: int
      StackMap stack:
            iload 5 /* more */
            ireturn
        end local 5 // boolean more
        end local 3 // long drawingTime
        end local 2 // android.view.View child
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/widget/ListView;
            0    4     1       canvas  Landroid/graphics/Canvas;
            0    4     2        child  Landroid/view/View;
            0    4     3  drawingTime  J
            1    4     5         more  Z
    MethodParameters:
             Name  Flags
      canvas       
      child        
      drawingTime  

  void drawDivider(android.graphics.Canvas, android.graphics.Rect, int);
    descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.Canvas canvas
        start local 2 // android.graphics.Rect bounds
        start local 3 // int childIndex
         0: .line 3608
            aload 0 /* this */
            getfield android.widget.ListView.mDivider:Landroid/graphics/drawable/Drawable;
            astore 4 /* divider */
        start local 4 // android.graphics.drawable.Drawable divider
         1: .line 3610
            aload 4 /* divider */
            aload 2 /* bounds */
            invokevirtual android.graphics.drawable.Drawable.setBounds:(Landroid/graphics/Rect;)V
         2: .line 3611
            aload 4 /* divider */
            aload 1 /* canvas */
            invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
         3: .line 3612
            return
        end local 4 // android.graphics.drawable.Drawable divider
        end local 3 // int childIndex
        end local 2 // android.graphics.Rect bounds
        end local 1 // android.graphics.Canvas canvas
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/widget/ListView;
            0    4     1      canvas  Landroid/graphics/Canvas;
            0    4     2      bounds  Landroid/graphics/Rect;
            0    4     3  childIndex  I
            1    4     4     divider  Landroid/graphics/drawable/Drawable;
    MethodParameters:
            Name  Flags
      canvas      
      bounds      
      childIndex  

  public android.graphics.drawable.Drawable getDivider();
    descriptor: ()Landroid/graphics/drawable/Drawable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3622
            aload 0 /* this */
            getfield android.widget.ListView.mDivider:Landroid/graphics/drawable/Drawable;
            areturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public void setDivider(android.graphics.drawable.Drawable);
    descriptor: (Landroid/graphics/drawable/Drawable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.drawable.Drawable divider
         0: .line 3635
            aload 1 /* divider */
            ifnull 3
         1: .line 3636
            aload 0 /* this */
            aload 1 /* divider */
            invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
            putfield android.widget.ListView.mDividerHeight:I
         2: .line 3637
            goto 4
         3: .line 3638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mDividerHeight:I
         4: .line 3640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* divider */
            putfield android.widget.ListView.mDivider:Landroid/graphics/drawable/Drawable;
         5: .line 3641
            aload 0 /* this */
            aload 1 /* divider */
            ifnull 6
            aload 1 /* divider */
            invokevirtual android.graphics.drawable.Drawable.getOpacity:()I
            iconst_m1
            if_icmpeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack: android.widget.ListView
         6: iconst_1
      StackMap locals: android.widget.ListView android.graphics.drawable.Drawable
      StackMap stack: android.widget.ListView int
         7: putfield android.widget.ListView.mDividerIsOpaque:Z
         8: .line 3642
            aload 0 /* this */
            invokevirtual android.widget.ListView.requestLayout:()V
         9: .line 3643
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
        10: .line 3644
            return
        end local 1 // android.graphics.drawable.Drawable divider
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Landroid/widget/ListView;
            0   11     1  divider  Landroid/graphics/drawable/Drawable;
    MethodParameters:
         Name  Flags
      divider  

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

  public void setDividerHeight(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int height
         0: .line 3660
            aload 0 /* this */
            iload 1 /* height */
            putfield android.widget.ListView.mDividerHeight:I
         1: .line 3661
            aload 0 /* this */
            invokevirtual android.widget.ListView.requestLayout:()V
         2: .line 3662
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
         3: .line 3663
            return
        end local 1 // int height
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/widget/ListView;
            0    4     1  height  I
    MethodParameters:
        Name  Flags
      height  

  public void setHeaderDividersEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // boolean headerDividersEnabled
         0: .line 3675
            aload 0 /* this */
            iload 1 /* headerDividersEnabled */
            putfield android.widget.ListView.mHeaderDividersEnabled:Z
         1: .line 3676
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
         2: .line 3677
            return
        end local 1 // boolean headerDividersEnabled
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Landroid/widget/ListView;
            0    3     1  headerDividersEnabled  Z
    MethodParameters:
                       Name  Flags
      headerDividersEnabled  

  public boolean areHeaderDividersEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3685
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderDividersEnabled:Z
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public void setFooterDividersEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // boolean footerDividersEnabled
         0: .line 3698
            aload 0 /* this */
            iload 1 /* footerDividersEnabled */
            putfield android.widget.ListView.mFooterDividersEnabled:Z
         1: .line 3699
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
         2: .line 3700
            return
        end local 1 // boolean footerDividersEnabled
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Landroid/widget/ListView;
            0    3     1  footerDividersEnabled  Z
    MethodParameters:
                       Name  Flags
      footerDividersEnabled  

  public boolean areFooterDividersEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3708
            aload 0 /* this */
            getfield android.widget.ListView.mFooterDividersEnabled:Z
            ireturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public void setOverscrollHeader(android.graphics.drawable.Drawable);
    descriptor: (Landroid/graphics/drawable/Drawable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.drawable.Drawable header
         0: .line 3718
            aload 0 /* this */
            aload 1 /* header */
            putfield android.widget.ListView.mOverScrollHeader:Landroid/graphics/drawable/Drawable;
         1: .line 3719
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            ifge 3
         2: .line 3720
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
         3: .line 3722
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.graphics.drawable.Drawable header
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/widget/ListView;
            0    4     1  header  Landroid/graphics/drawable/Drawable;
    MethodParameters:
        Name  Flags
      header  

  public android.graphics.drawable.Drawable getOverscrollHeader();
    descriptor: ()Landroid/graphics/drawable/Drawable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3728
            aload 0 /* this */
            getfield android.widget.ListView.mOverScrollHeader:Landroid/graphics/drawable/Drawable;
            areturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public void setOverscrollFooter(android.graphics.drawable.Drawable);
    descriptor: (Landroid/graphics/drawable/Drawable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.graphics.drawable.Drawable footer
         0: .line 3739
            aload 0 /* this */
            aload 1 /* footer */
            putfield android.widget.ListView.mOverScrollFooter:Landroid/graphics/drawable/Drawable;
         1: .line 3740
            aload 0 /* this */
            invokevirtual android.widget.ListView.invalidate:()V
         2: .line 3741
            return
        end local 1 // android.graphics.drawable.Drawable footer
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/ListView;
            0    3     1  footer  Landroid/graphics/drawable/Drawable;
    MethodParameters:
        Name  Flags
      footer  

  public android.graphics.drawable.Drawable getOverscrollFooter();
    descriptor: ()Landroid/graphics/drawable/Drawable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3747
            aload 0 /* this */
            getfield android.widget.ListView.mOverScrollFooter:Landroid/graphics/drawable/Drawable;
            areturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  protected void onFocusChanged(boolean, int, android.graphics.Rect);
    descriptor: (ZILandroid/graphics/Rect;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=14, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // boolean gainFocus
        start local 2 // int direction
        start local 3 // android.graphics.Rect previouslyFocusedRect
         0: .line 3752
            aload 0 /* this */
            iload 1 /* gainFocus */
            iload 2 /* direction */
            aload 3 /* previouslyFocusedRect */
            invokespecial android.widget.AbsListView.onFocusChanged:(ZILandroid/graphics/Rect;)V
         1: .line 3754
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 4 /* adapter */
        start local 4 // android.widget.ListAdapter adapter
         2: .line 3755
            iconst_m1
            istore 5 /* closetChildIndex */
        start local 5 // int closetChildIndex
         3: .line 3756
            iconst_0
            istore 6 /* closestChildTop */
        start local 6 // int closestChildTop
         4: .line 3757
            aload 4 /* adapter */
            ifnull 27
            iload 1 /* gainFocus */
            ifeq 27
            aload 3 /* previouslyFocusedRect */
            ifnull 27
         5: .line 3758
            aload 3 /* previouslyFocusedRect */
            aload 0 /* this */
            getfield android.widget.ListView.mScrollX:I
            aload 0 /* this */
            getfield android.widget.ListView.mScrollY:I
            invokevirtual android.graphics.Rect.offset:(II)V
         6: .line 3762
            aload 4 /* adapter */
            invokeinterface android.widget.ListAdapter.getCount:()I
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iadd
            if_icmpge 9
         7: .line 3763
            aload 0 /* this */
            iconst_0
            putfield android.widget.ListView.mLayoutMode:I
         8: .line 3764
            aload 0 /* this */
            invokevirtual android.widget.ListView.layoutChildren:()V
         9: .line 3769
      StackMap locals: android.widget.ListAdapter int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mTempRect:Landroid/graphics/Rect;
            astore 7 /* otherRect */
        start local 7 // android.graphics.Rect otherRect
        10: .line 3770
            ldc 2147483647
            istore 8 /* minDistance */
        start local 8 // int minDistance
        11: .line 3771
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 9 /* childCount */
        start local 9 // int childCount
        12: .line 3772
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            istore 10 /* firstPosition */
        start local 10 // int firstPosition
        13: .line 3774
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        14: goto 26
        15: .line 3776
      StackMap locals: android.widget.ListView int int android.graphics.Rect android.widget.ListAdapter int int android.graphics.Rect int int int int
      StackMap stack:
            aload 4 /* adapter */
            iload 10 /* firstPosition */
            iload 11 /* i */
            iadd
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifne 17
        16: .line 3777
            goto 25
        17: .line 3780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            astore 12 /* other */
        start local 12 // android.view.View other
        18: .line 3781
            aload 12 /* other */
            aload 7 /* otherRect */
            invokevirtual android.view.View.getDrawingRect:(Landroid/graphics/Rect;)V
        19: .line 3782
            aload 0 /* this */
            aload 12 /* other */
            aload 7 /* otherRect */
            invokevirtual android.widget.ListView.offsetDescendantRectToMyCoords:(Landroid/view/View;Landroid/graphics/Rect;)V
        20: .line 3783
            aload 3 /* previouslyFocusedRect */
            aload 7 /* otherRect */
            iload 2 /* direction */
            invokestatic android.widget.ListView.getDistance:(Landroid/graphics/Rect;Landroid/graphics/Rect;I)I
            istore 13 /* distance */
        start local 13 // int distance
        21: .line 3785
            iload 13 /* distance */
            iload 8 /* minDistance */
            if_icmpge 25
        22: .line 3786
            iload 13 /* distance */
            istore 8 /* minDistance */
        23: .line 3787
            iload 11 /* i */
            istore 5 /* closetChildIndex */
        24: .line 3788
            aload 12 /* other */
            invokevirtual android.view.View.getTop:()I
            istore 6 /* closestChildTop */
        end local 13 // int distance
        end local 12 // android.view.View other
        25: .line 3774
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 11 /* i */
            iload 9 /* childCount */
            if_icmplt 15
        end local 11 // int i
        end local 10 // int firstPosition
        end local 9 // int childCount
        end local 8 // int minDistance
        end local 7 // android.graphics.Rect otherRect
        27: .line 3793
      StackMap locals: android.widget.ListView int int android.graphics.Rect android.widget.ListAdapter int int
      StackMap stack:
            iload 5 /* closetChildIndex */
            iflt 30
        28: .line 3794
            aload 0 /* this */
            iload 5 /* closetChildIndex */
            aload 0 /* this */
            getfield android.widget.ListView.mFirstPosition:I
            iadd
            iload 6 /* closestChildTop */
            invokevirtual android.widget.ListView.setSelectionFromTop:(II)V
        29: .line 3795
            goto 31
        30: .line 3796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.ListView.requestLayout:()V
        31: .line 3798
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int closestChildTop
        end local 5 // int closetChildIndex
        end local 4 // android.widget.ListAdapter adapter
        end local 3 // android.graphics.Rect previouslyFocusedRect
        end local 2 // int direction
        end local 1 // boolean gainFocus
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   32     0                   this  Landroid/widget/ListView;
            0   32     1              gainFocus  Z
            0   32     2              direction  I
            0   32     3  previouslyFocusedRect  Landroid/graphics/Rect;
            2   32     4                adapter  Landroid/widget/ListAdapter;
            3   32     5       closetChildIndex  I
            4   32     6        closestChildTop  I
           10   27     7              otherRect  Landroid/graphics/Rect;
           11   27     8            minDistance  I
           12   27     9             childCount  I
           13   27    10          firstPosition  I
           14   27    11                      i  I
           18   25    12                  other  Landroid/view/View;
           21   25    13               distance  I
    MethodParameters:
                       Name  Flags
      gainFocus              
      direction              
      previouslyFocusedRect  

  protected void onFinishInflate();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3809
            aload 0 /* this */
            invokespecial android.widget.AbsListView.onFinishInflate:()V
         1: .line 3811
            aload 0 /* this */
            invokevirtual android.widget.ListView.getChildCount:()I
            istore 1 /* count */
        start local 1 // int count
         2: .line 3812
            iload 1 /* count */
            ifle 9
         3: .line 3813
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 3814
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual android.widget.ListView.getChildAt:(I)Landroid/view/View;
            invokevirtual android.widget.ListView.addHeaderView:(Landroid/view/View;)V
         6: .line 3813
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 1 /* count */
            if_icmplt 5
        end local 2 // int i
         8: .line 3816
            aload 0 /* this */
            invokevirtual android.widget.ListView.removeAllViews:()V
         9: .line 3818
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int count
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Landroid/widget/ListView;
            2   10     1  count  I
            4    8     2      i  I

  protected <T extends android.view.View> T findViewTraversal();
    descriptor: (I)Landroid/view/View;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int id
         0: .line 3828
            aload 0 /* this */
            iload 1 /* id */
            invokespecial android.widget.AbsListView.findViewTraversal:(I)Landroid/view/View;
            astore 2 /* v */
        start local 2 // android.view.View v
         1: .line 3829
            aload 2 /* v */
            ifnonnull 8
         2: .line 3830
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            iload 1 /* id */
            invokevirtual android.widget.ListView.findViewInHeadersOrFooters:(Ljava/util/ArrayList;I)Landroid/view/View;
            astore 2 /* v */
         3: .line 3831
            aload 2 /* v */
            ifnull 5
         4: .line 3832
            aload 2 /* v */
            areturn
         5: .line 3834
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            iload 1 /* id */
            invokevirtual android.widget.ListView.findViewInHeadersOrFooters:(Ljava/util/ArrayList;I)Landroid/view/View;
            astore 2 /* v */
         6: .line 3835
            aload 2 /* v */
            ifnull 8
         7: .line 3836
            aload 2 /* v */
            areturn
         8: .line 3839
      StackMap locals:
      StackMap stack:
            aload 2 /* v */
            areturn
        end local 2 // android.view.View v
        end local 1 // int id
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/widget/ListView;
            0    9     1    id  I
            1    9     2     v  Landroid/view/View;
    Signature: <T:Landroid/view/View;>(I)TT;
    MethodParameters:
      Name  Flags
      id    

  android.view.View findViewInHeadersOrFooters(java.util.ArrayList<android.widget.ListView$FixedViewInfo>, int);
    descriptor: (Ljava/util/ArrayList;I)Landroid/view/View;
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // java.util.ArrayList where
        start local 2 // int id
         0: .line 3844
            aload 1 /* where */
            ifnull 11
         1: .line 3845
            aload 1 /* where */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 3848
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 10
         4: .line 3849
      StackMap locals: android.widget.ListView java.util.ArrayList int int top int
      StackMap stack:
            aload 1 /* where */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            astore 4 /* v */
        start local 4 // android.view.View v
         5: .line 3851
            aload 4 /* v */
            invokevirtual android.view.View.isRootNamespace:()Z
            ifne 9
         6: .line 3852
            aload 4 /* v */
            iload 2 /* id */
            invokevirtual android.view.View.findViewById:(I)Landroid/view/View;
            astore 4 /* v */
         7: .line 3854
            aload 4 /* v */
            ifnull 9
         8: .line 3855
            aload 4 /* v */
            areturn
         9: .line 3848
      StackMap locals: android.widget.ListView java.util.ArrayList int int android.view.View int
      StackMap stack:
            iinc 5 /* i */ 1
        end local 4 // android.view.View v
      StackMap locals: android.widget.ListView java.util.ArrayList int int top int
      StackMap stack:
        10: iload 5 /* i */
            iload 3 /* len */
            if_icmplt 4
        end local 5 // int i
        end local 3 // int len
        11: .line 3860
      StackMap locals: android.widget.ListView java.util.ArrayList int
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int id
        end local 1 // java.util.ArrayList where
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Landroid/widget/ListView;
            0   12     1  where  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            0   12     2     id  I
            2   11     3    len  I
            5   10     4      v  Landroid/view/View;
            3   11     5      i  I
    Signature: (Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;I)Landroid/view/View;
    MethodParameters:
       Name  Flags
      where  
      id     

  protected <T extends android.view.View> T findViewWithTagTraversal();
    descriptor: (Ljava/lang/Object;)Landroid/view/View;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // java.lang.Object tag
         0: .line 3871
            aload 0 /* this */
            aload 1 /* tag */
            invokespecial android.widget.AbsListView.findViewWithTagTraversal:(Ljava/lang/Object;)Landroid/view/View;
            astore 2 /* v */
        start local 2 // android.view.View v
         1: .line 3872
            aload 2 /* v */
            ifnonnull 8
         2: .line 3873
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            aload 1 /* tag */
            invokevirtual android.widget.ListView.findViewWithTagInHeadersOrFooters:(Ljava/util/ArrayList;Ljava/lang/Object;)Landroid/view/View;
            astore 2 /* v */
         3: .line 3874
            aload 2 /* v */
            ifnull 5
         4: .line 3875
            aload 2 /* v */
            areturn
         5: .line 3878
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            aload 1 /* tag */
            invokevirtual android.widget.ListView.findViewWithTagInHeadersOrFooters:(Ljava/util/ArrayList;Ljava/lang/Object;)Landroid/view/View;
            astore 2 /* v */
         6: .line 3879
            aload 2 /* v */
            ifnull 8
         7: .line 3880
            aload 2 /* v */
            areturn
         8: .line 3883
      StackMap locals:
      StackMap stack:
            aload 2 /* v */
            areturn
        end local 2 // android.view.View v
        end local 1 // java.lang.Object tag
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/widget/ListView;
            0    9     1   tag  Ljava/lang/Object;
            1    9     2     v  Landroid/view/View;
    Signature: <T:Landroid/view/View;>(Ljava/lang/Object;)TT;
    MethodParameters:
      Name  Flags
      tag   

  android.view.View findViewWithTagInHeadersOrFooters(java.util.ArrayList<android.widget.ListView$FixedViewInfo>, );
    descriptor: (Ljava/util/ArrayList;Ljava/lang/Object;)Landroid/view/View;
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // java.util.ArrayList where
        start local 2 // java.lang.Object tag
         0: .line 3889
            aload 1 /* where */
            ifnull 11
         1: .line 3890
            aload 1 /* where */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 3893
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 10
         4: .line 3894
      StackMap locals: android.widget.ListView java.util.ArrayList java.lang.Object int top int
      StackMap stack:
            aload 1 /* where */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            astore 4 /* v */
        start local 4 // android.view.View v
         5: .line 3896
            aload 4 /* v */
            invokevirtual android.view.View.isRootNamespace:()Z
            ifne 9
         6: .line 3897
            aload 4 /* v */
            aload 2 /* tag */
            invokevirtual android.view.View.findViewWithTag:(Ljava/lang/Object;)Landroid/view/View;
            astore 4 /* v */
         7: .line 3899
            aload 4 /* v */
            ifnull 9
         8: .line 3900
            aload 4 /* v */
            areturn
         9: .line 3893
      StackMap locals: android.widget.ListView java.util.ArrayList java.lang.Object int android.view.View int
      StackMap stack:
            iinc 5 /* i */ 1
        end local 4 // android.view.View v
      StackMap locals: android.widget.ListView java.util.ArrayList java.lang.Object int top int
      StackMap stack:
        10: iload 5 /* i */
            iload 3 /* len */
            if_icmplt 4
        end local 5 // int i
        end local 3 // int len
        11: .line 3905
      StackMap locals: android.widget.ListView java.util.ArrayList java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object tag
        end local 1 // java.util.ArrayList where
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Landroid/widget/ListView;
            0   12     1  where  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            0   12     2    tag  Ljava/lang/Object;
            2   11     3    len  I
            5   10     4      v  Landroid/view/View;
            3   11     5      i  I
    Signature: (Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;Ljava/lang/Object;)Landroid/view/View;
    MethodParameters:
       Name  Flags
      where  
      tag    

  protected <T extends android.view.View> T findViewByPredicateTraversal(java.util.function.Predicate<android.view.View>, android.view.View);
    descriptor: (Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.widget.ListView this
        start local 1 // java.util.function.Predicate predicate
        start local 2 // android.view.View childToSkip
         0: .line 3918
            aload 0 /* this */
            aload 1 /* predicate */
            aload 2 /* childToSkip */
            invokespecial android.widget.AbsListView.findViewByPredicateTraversal:(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
            astore 3 /* v */
        start local 3 // android.view.View v
         1: .line 3919
            aload 3 /* v */
            ifnonnull 8
         2: .line 3920
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            aload 1 /* predicate */
            aload 2 /* childToSkip */
            invokevirtual android.widget.ListView.findViewByPredicateInHeadersOrFooters:(Ljava/util/ArrayList;Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
            astore 3 /* v */
         3: .line 3921
            aload 3 /* v */
            ifnull 5
         4: .line 3922
            aload 3 /* v */
            areturn
         5: .line 3925
      StackMap locals: android.view.View
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            aload 1 /* predicate */
            aload 2 /* childToSkip */
            invokevirtual android.widget.ListView.findViewByPredicateInHeadersOrFooters:(Ljava/util/ArrayList;Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
            astore 3 /* v */
         6: .line 3926
            aload 3 /* v */
            ifnull 8
         7: .line 3927
            aload 3 /* v */
            areturn
         8: .line 3930
      StackMap locals:
      StackMap stack:
            aload 3 /* v */
            areturn
        end local 3 // android.view.View v
        end local 2 // android.view.View childToSkip
        end local 1 // java.util.function.Predicate predicate
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/widget/ListView;
            0    9     1    predicate  Ljava/util/function/Predicate<Landroid/view/View;>;
            0    9     2  childToSkip  Landroid/view/View;
            1    9     3            v  Landroid/view/View;
    Signature: <T:Landroid/view/View;>(Ljava/util/function/Predicate<Landroid/view/View;>;Landroid/view/View;)TT;
    MethodParameters:
             Name  Flags
      predicate    
      childToSkip  

  android.view.View findViewByPredicateInHeadersOrFooters(java.util.ArrayList<android.widget.ListView$FixedViewInfo>, java.util.function.Predicate<android.view.View>, android.view.View);
    descriptor: (Ljava/util/ArrayList;Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // java.util.ArrayList where
        start local 2 // java.util.function.Predicate predicate
        start local 3 // android.view.View childToSkip
         0: .line 3939
            aload 1 /* where */
            ifnull 11
         1: .line 3940
            aload 1 /* where */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* len */
        start local 4 // int len
         2: .line 3943
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 10
         4: .line 3944
      StackMap locals: android.widget.ListView java.util.ArrayList java.util.function.Predicate android.view.View int top int
      StackMap stack:
            aload 1 /* where */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.widget.ListView$FixedViewInfo
            getfield android.widget.ListView$FixedViewInfo.view:Landroid/view/View;
            astore 5 /* v */
        start local 5 // android.view.View v
         5: .line 3946
            aload 5 /* v */
            aload 3 /* childToSkip */
            if_acmpeq 9
            aload 5 /* v */
            invokevirtual android.view.View.isRootNamespace:()Z
            ifne 9
         6: .line 3947
            aload 5 /* v */
            aload 2 /* predicate */
            invokevirtual android.view.View.findViewByPredicate:(Ljava/util/function/Predicate;)Landroid/view/View;
            astore 5 /* v */
         7: .line 3949
            aload 5 /* v */
            ifnull 9
         8: .line 3950
            aload 5 /* v */
            areturn
         9: .line 3943
      StackMap locals: android.widget.ListView java.util.ArrayList java.util.function.Predicate android.view.View int android.view.View int
      StackMap stack:
            iinc 6 /* i */ 1
        end local 5 // android.view.View v
      StackMap locals: android.widget.ListView java.util.ArrayList java.util.function.Predicate android.view.View int top int
      StackMap stack:
        10: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 4
        end local 6 // int i
        end local 4 // int len
        11: .line 3955
      StackMap locals: android.widget.ListView java.util.ArrayList java.util.function.Predicate android.view.View
      StackMap stack:
            aconst_null
            areturn
        end local 3 // android.view.View childToSkip
        end local 2 // java.util.function.Predicate predicate
        end local 1 // java.util.ArrayList where
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Landroid/widget/ListView;
            0   12     1        where  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            0   12     2    predicate  Ljava/util/function/Predicate<Landroid/view/View;>;
            0   12     3  childToSkip  Landroid/view/View;
            2   11     4          len  I
            5   10     5            v  Landroid/view/View;
            3   11     6            i  I
    Signature: (Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;Ljava/util/function/Predicate<Landroid/view/View;>;Landroid/view/View;)Landroid/view/View;
    MethodParameters:
             Name  Flags
      where        
      predicate    
      childToSkip  

  public long[] getCheckItemIds();
    descriptor: ()[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 3970
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 2
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokeinterface android.widget.ListAdapter.hasStableIds:()Z
            ifeq 2
         1: .line 3971
            aload 0 /* this */
            invokevirtual android.widget.ListView.getCheckedItemIds:()[J
            areturn
         2: .line 3976
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mChoiceMode:I
            ifeq 19
            aload 0 /* this */
            getfield android.widget.ListView.mCheckStates:Landroid/util/SparseBooleanArray;
            ifnull 19
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            ifnull 19
         3: .line 3977
            aload 0 /* this */
            getfield android.widget.ListView.mCheckStates:Landroid/util/SparseBooleanArray;
            astore 1 /* states */
        start local 1 // android.util.SparseBooleanArray states
         4: .line 3978
            aload 1 /* states */
            invokevirtual android.util.SparseBooleanArray.size:()I
            istore 2 /* count */
        start local 2 // int count
         5: .line 3979
            iload 2 /* count */
            newarray 11
            astore 3 /* ids */
        start local 3 // long[] ids
         6: .line 3980
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 4 /* adapter */
        start local 4 // android.widget.ListAdapter adapter
         7: .line 3982
            iconst_0
            istore 5 /* checkedCount */
        start local 5 // int checkedCount
         8: .line 3983
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 13
        10: .line 3984
      StackMap locals: android.widget.ListView android.util.SparseBooleanArray int long[] android.widget.ListAdapter int int
      StackMap stack:
            aload 1 /* states */
            iload 6 /* i */
            invokevirtual android.util.SparseBooleanArray.valueAt:(I)Z
            ifeq 12
        11: .line 3985
            aload 3 /* ids */
            iload 5 /* checkedCount */
            iinc 5 /* checkedCount */ 1
            aload 4 /* adapter */
            aload 1 /* states */
            iload 6 /* i */
            invokevirtual android.util.SparseBooleanArray.keyAt:(I)I
            invokeinterface android.widget.ListAdapter.getItemId:(I)J
            lastore
        12: .line 3983
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 2 /* count */
            if_icmplt 10
        end local 6 // int i
        14: .line 3991
            iload 5 /* checkedCount */
            iload 2 /* count */
            if_icmpne 16
        15: .line 3992
            aload 3 /* ids */
            areturn
        16: .line 3994
      StackMap locals:
      StackMap stack:
            iload 5 /* checkedCount */
            newarray 11
            astore 6 /* result */
        start local 6 // long[] result
        17: .line 3995
            aload 3 /* ids */
            iconst_0
            aload 6 /* result */
            iconst_0
            iload 5 /* checkedCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 3997
            aload 6 /* result */
            areturn
        end local 6 // long[] result
        end local 5 // int checkedCount
        end local 4 // android.widget.ListAdapter adapter
        end local 3 // long[] ids
        end local 2 // int count
        end local 1 // android.util.SparseBooleanArray states
        19: .line 4000
      StackMap locals: android.widget.ListView
      StackMap stack:
            iconst_0
            newarray 11
            areturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Landroid/widget/ListView;
            4   19     1        states  Landroid/util/SparseBooleanArray;
            5   19     2         count  I
            6   19     3           ids  [J
            7   19     4       adapter  Landroid/widget/ListAdapter;
            8   19     5  checkedCount  I
            9   14     6             i  I
           17   19     6        result  [J
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  int getHeightForPosition(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int position
         0: .line 4005
            aload 0 /* this */
            iload 1 /* position */
            invokespecial android.widget.AbsListView.getHeightForPosition:(I)I
            istore 2 /* height */
        start local 2 // int height
         1: .line 4006
            aload 0 /* this */
            iload 1 /* position */
            invokevirtual android.widget.ListView.shouldAdjustHeightForDivider:(I)Z
            ifeq 3
         2: .line 4007
            iload 2 /* height */
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            iadd
            ireturn
         3: .line 4009
      StackMap locals: int
      StackMap stack:
            iload 2 /* height */
            ireturn
        end local 2 // int height
        end local 1 // int position
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/widget/ListView;
            0    4     1  position  I
            1    4     2    height  I
    MethodParameters:
          Name  Flags
      position  

  private boolean shouldAdjustHeightForDivider(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=20, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // int itemIndex
         0: .line 4013
            aload 0 /* this */
            getfield android.widget.ListView.mDividerHeight:I
            istore 2 /* dividerHeight */
        start local 2 // int dividerHeight
         1: .line 4014
            aload 0 /* this */
            getfield android.widget.ListView.mOverScrollHeader:Landroid/graphics/drawable/Drawable;
            astore 3 /* overscrollHeader */
        start local 3 // android.graphics.drawable.Drawable overscrollHeader
         2: .line 4015
            aload 0 /* this */
            getfield android.widget.ListView.mOverScrollFooter:Landroid/graphics/drawable/Drawable;
            astore 4 /* overscrollFooter */
        start local 4 // android.graphics.drawable.Drawable overscrollFooter
         3: .line 4016
            aload 3 /* overscrollHeader */
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: int android.graphics.drawable.Drawable android.graphics.drawable.Drawable
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* drawOverscrollHeader */
        start local 5 // boolean drawOverscrollHeader
         6: .line 4017
            aload 4 /* overscrollFooter */
            ifnull 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 6 /* drawOverscrollFooter */
        start local 6 // boolean drawOverscrollFooter
         9: .line 4018
            iload 2 /* dividerHeight */
            ifle 10
            aload 0 /* this */
            getfield android.widget.ListView.mDivider:Landroid/graphics/drawable/Drawable;
            ifnull 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 7 /* drawDividers */
        start local 7 // boolean drawDividers
        12: .line 4020
            iload 7 /* drawDividers */
            ifeq 60
        13: .line 4021
            aload 0 /* this */
            invokevirtual android.widget.ListView.isOpaque:()Z
            ifeq 14
            aload 0 /* this */
            invokespecial android.widget.AbsListView.isOpaque:()Z
            ifne 14
            iconst_1
            goto 15
      StackMap locals: int
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 8 /* fillForMissingDividers */
        start local 8 // boolean fillForMissingDividers
        16: .line 4022
            aload 0 /* this */
            getfield android.widget.ListView.mItemCount:I
            istore 9 /* itemCount */
        start local 9 // int itemCount
        17: .line 4023
            aload 0 /* this */
            invokevirtual android.widget.ListView.getHeaderViewsCount:()I
            istore 10 /* headerCount */
        start local 10 // int headerCount
        18: .line 4024
            iload 9 /* itemCount */
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            isub
            istore 11 /* footerLimit */
        start local 11 // int footerLimit
        19: .line 4025
            iload 1 /* itemIndex */
            iload 10 /* headerCount */
            if_icmpge 20
            iconst_1
            goto 21
      StackMap locals: android.widget.ListView int int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int int int int int
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 12 /* isHeader */
        start local 12 // boolean isHeader
        22: .line 4026
            iload 1 /* itemIndex */
            iload 11 /* footerLimit */
            if_icmplt 23
            iconst_1
            goto 24
      StackMap locals: int
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 13 /* isFooter */
        start local 13 // boolean isFooter
        25: .line 4027
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderDividersEnabled:Z
            istore 14 /* headerDividers */
        start local 14 // boolean headerDividers
        26: .line 4028
            aload 0 /* this */
            getfield android.widget.ListView.mFooterDividersEnabled:Z
            istore 15 /* footerDividers */
        start local 15 // boolean footerDividers
        27: .line 4029
            iload 14 /* headerDividers */
            ifne 28
            iload 12 /* isHeader */
            ifne 60
      StackMap locals: int int int
      StackMap stack:
        28: iload 15 /* footerDividers */
            ifne 29
            iload 13 /* isFooter */
            ifne 60
        29: .line 4030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            astore 16 /* adapter */
        start local 16 // android.widget.ListAdapter adapter
        30: .line 4031
            aload 0 /* this */
            getfield android.widget.ListView.mStackFromBottom:Z
            ifne 44
        31: .line 4032
            iload 1 /* itemIndex */
            iload 9 /* itemCount */
            iconst_1
            isub
            if_icmpne 32
            iconst_1
            goto 33
      StackMap locals: android.widget.ListAdapter
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: istore 17 /* isLastItem */
        start local 17 // boolean isLastItem
        34: .line 4033
            iload 6 /* drawOverscrollFooter */
            ifeq 35
            iload 17 /* isLastItem */
            ifne 60
        35: .line 4034
      StackMap locals: int
      StackMap stack:
            iload 1 /* itemIndex */
            iconst_1
            iadd
            istore 18 /* nextIndex */
        start local 18 // int nextIndex
        36: .line 4038
            aload 16 /* adapter */
            iload 1 /* itemIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 42
            iload 14 /* headerDividers */
            ifne 38
            iload 12 /* isHeader */
            ifne 42
        37: .line 4039
            iload 18 /* nextIndex */
            iload 10 /* headerCount */
            if_icmplt 42
      StackMap locals: int
      StackMap stack:
        38: iload 17 /* isLastItem */
            ifne 41
        39: .line 4040
            aload 16 /* adapter */
            iload 18 /* nextIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 42
            iload 15 /* footerDividers */
            ifne 41
            iload 13 /* isFooter */
            ifne 42
        40: .line 4041
            iload 18 /* nextIndex */
            iload 11 /* footerLimit */
            if_icmpge 42
        41: .line 4042
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        42: .line 4043
      StackMap locals:
      StackMap stack:
            iload 8 /* fillForMissingDividers */
            ifeq 60
        43: .line 4044
            iconst_1
            ireturn
        end local 18 // int nextIndex
        end local 17 // boolean isLastItem
        44: .line 4048
      StackMap locals:
      StackMap stack:
            iload 5 /* drawOverscrollHeader */
            ifeq 45
            iconst_1
            goto 46
      StackMap locals:
      StackMap stack:
        45: iconst_0
      StackMap locals:
      StackMap stack: int
        46: istore 17 /* start */
        start local 17 // int start
        47: .line 4049
            iload 1 /* itemIndex */
            iload 17 /* start */
            if_icmpne 48
            iconst_1
            goto 49
      StackMap locals: int
      StackMap stack:
        48: iconst_0
      StackMap locals:
      StackMap stack: int
        49: istore 18 /* isFirstItem */
        start local 18 // boolean isFirstItem
        50: .line 4050
            iload 18 /* isFirstItem */
            ifne 60
        51: .line 4051
            iload 1 /* itemIndex */
            iconst_1
            isub
            istore 19 /* previousIndex */
        start local 19 // int previousIndex
        52: .line 4055
            aload 16 /* adapter */
            iload 1 /* itemIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 58
            iload 14 /* headerDividers */
            ifne 54
            iload 12 /* isHeader */
            ifne 58
        53: .line 4056
            iload 19 /* previousIndex */
            iload 10 /* headerCount */
            if_icmplt 58
      StackMap locals: int int
      StackMap stack:
        54: iload 18 /* isFirstItem */
            ifne 57
        55: .line 4057
            aload 16 /* adapter */
            iload 19 /* previousIndex */
            invokeinterface android.widget.ListAdapter.isEnabled:(I)Z
            ifeq 58
            iload 15 /* footerDividers */
            ifne 57
            iload 13 /* isFooter */
            ifne 58
        56: .line 4058
            iload 19 /* previousIndex */
            iload 11 /* footerLimit */
            if_icmpge 58
        57: .line 4059
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        58: .line 4060
      StackMap locals:
      StackMap stack:
            iload 8 /* fillForMissingDividers */
            ifeq 60
        59: .line 4061
            iconst_1
            ireturn
        end local 19 // int previousIndex
        end local 18 // boolean isFirstItem
        end local 17 // int start
        end local 16 // android.widget.ListAdapter adapter
        end local 15 // boolean footerDividers
        end local 14 // boolean headerDividers
        end local 13 // boolean isFooter
        end local 12 // boolean isHeader
        end local 11 // int footerLimit
        end local 10 // int headerCount
        end local 9 // int itemCount
        end local 8 // boolean fillForMissingDividers
        60: .line 4068
      StackMap locals: android.widget.ListView int int android.graphics.drawable.Drawable android.graphics.drawable.Drawable int int int
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // boolean drawDividers
        end local 6 // boolean drawOverscrollFooter
        end local 5 // boolean drawOverscrollHeader
        end local 4 // android.graphics.drawable.Drawable overscrollFooter
        end local 3 // android.graphics.drawable.Drawable overscrollHeader
        end local 2 // int dividerHeight
        end local 1 // int itemIndex
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   61     0                    this  Landroid/widget/ListView;
            0   61     1               itemIndex  I
            1   61     2           dividerHeight  I
            2   61     3        overscrollHeader  Landroid/graphics/drawable/Drawable;
            3   61     4        overscrollFooter  Landroid/graphics/drawable/Drawable;
            6   61     5    drawOverscrollHeader  Z
            9   61     6    drawOverscrollFooter  Z
           12   61     7            drawDividers  Z
           16   60     8  fillForMissingDividers  Z
           17   60     9               itemCount  I
           18   60    10             headerCount  I
           19   60    11             footerLimit  I
           22   60    12                isHeader  Z
           25   60    13                isFooter  Z
           26   60    14          headerDividers  Z
           27   60    15          footerDividers  Z
           30   60    16                 adapter  Landroid/widget/ListAdapter;
           34   44    17              isLastItem  Z
           36   44    18               nextIndex  I
           47   60    17                   start  I
           50   60    18             isFirstItem  Z
           52   60    19           previousIndex  I
    MethodParameters:
           Name  Flags
      itemIndex  

  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.ListView this
         0: .line 4073
            ldc Landroid/widget/ListView;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;

  public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
    descriptor: (Landroid/view/accessibility/AccessibilityNodeInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.widget.ListView this
        start local 1 // android.view.accessibility.AccessibilityNodeInfo info
         0: .line 4079
            aload 0 /* this */
            aload 1 /* info */
            invokespecial android.widget.AbsListView.onInitializeAccessibilityNodeInfoInternal:(Landroid/view/accessibility/AccessibilityNodeInfo;)V
         1: .line 4081
            aload 0 /* this */
            invokevirtual android.widget.ListView.getCount:()I
            istore 2 /* rowsCount */
        start local 2 // int rowsCount
         2: .line 4082
            aload 0 /* this */
            invokevirtual android.widget.ListView.getSelectionModeForAccessibility:()I
            istore 3 /* selectionMode */
        start local 3 // int selectionMode
         3: .line 4084
            iload 2 /* rowsCount */
            iconst_1
            iconst_0
            iload 3 /* selectionMode */
         4: .line 4083
            invokestatic android.view.accessibility.AccessibilityNodeInfo$CollectionInfo.obtain:(IIZI)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
            astore 4 /* collectionInfo */
        start local 4 // android.view.accessibility.AccessibilityNodeInfo$CollectionInfo collectionInfo
         5: .line 4085
            aload 1 /* info */
            aload 4 /* collectionInfo */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setCollectionInfo:(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;)V
         6: .line 4087
            iload 2 /* rowsCount */
            ifle 8
         7: .line 4088
            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
         8: .line 4090
      StackMap locals: int int android.view.accessibility.AccessibilityNodeInfo$CollectionInfo
      StackMap stack:
            return
        end local 4 // android.view.accessibility.AccessibilityNodeInfo$CollectionInfo collectionInfo
        end local 3 // int selectionMode
        end local 2 // int rowsCount
        end local 1 // android.view.accessibility.AccessibilityNodeInfo info
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Landroid/widget/ListView;
            0    9     1            info  Landroid/view/accessibility/AccessibilityNodeInfo;
            2    9     2       rowsCount  I
            3    9     3   selectionMode  I
            5    9     4  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.ListView this
         0: .line 4100
            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.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/ListView;
    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=8, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // android.view.View view
        start local 2 // int position
        start local 3 // android.view.accessibility.AccessibilityNodeInfo info
         0: .line 4118
            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 4120
            aload 1 /* view */
            invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            checkcast android.widget.AbsListView$LayoutParams
            astore 4 /* lp */
        start local 4 // android.widget.AbsListView$LayoutParams lp
         2: .line 4121
            aload 4 /* lp */
            ifnull 3
            aload 4 /* lp */
            getfield android.widget.AbsListView$LayoutParams.viewType:I
            bipush -2
            if_icmpne 3
            iconst_1
            goto 4
      StackMap locals: android.widget.AbsListView$LayoutParams
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* isHeading */
        start local 5 // boolean isHeading
         5: .line 4122
            aload 0 /* this */
            iload 2 /* position */
            invokevirtual android.widget.ListView.isItemChecked:(I)Z
            istore 6 /* isSelected */
        start local 6 // boolean isSelected
         6: .line 4124
            iload 2 /* position */
            iconst_1
            iconst_0
            iconst_1
            iload 5 /* isHeading */
            iload 6 /* isSelected */
         7: .line 4123
            invokestatic android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo.obtain:(IIIIZZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;
            astore 7 /* itemInfo */
        start local 7 // android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo itemInfo
         8: .line 4125
            aload 3 /* info */
            aload 7 /* itemInfo */
            invokevirtual android.view.accessibility.AccessibilityNodeInfo.setCollectionItemInfo:(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;)V
         9: .line 4126
            return
        end local 7 // android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo itemInfo
        end local 6 // boolean isSelected
        end local 5 // boolean isHeading
        end local 4 // android.widget.AbsListView$LayoutParams lp
        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.ListView this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Landroid/widget/ListView;
            0   10     1        view  Landroid/view/View;
            0   10     2    position  I
            0   10     3        info  Landroid/view/accessibility/AccessibilityNodeInfo;
            2   10     4          lp  Landroid/widget/AbsListView$LayoutParams;
            5   10     5   isHeading  Z
            6   10     6  isSelected  Z
            8   10     7    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.ListView this
        start local 1 // android.view.ViewHierarchyEncoder encoder
         0: .line 4131
            aload 0 /* this */
            aload 1 /* encoder */
            invokespecial android.widget.AbsListView.encodeProperties:(Landroid/view/ViewHierarchyEncoder;)V
         1: .line 4133
            aload 1 /* encoder */
            ldc "recycleOnMeasure"
            aload 0 /* this */
            invokevirtual android.widget.ListView.recycleOnMeasure:()Z
            invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;Z)V
         2: .line 4134
            return
        end local 1 // android.view.ViewHierarchyEncoder encoder
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/widget/ListView;
            0    3     1  encoder  Landroid/view/ViewHierarchyEncoder;
    MethodParameters:
         Name  Flags
      encoder  

  protected android.widget.HeaderViewListAdapter wrapHeaderListAdapterInternal(java.util.ArrayList<android.widget.ListView$FixedViewInfo>, java.util.ArrayList<android.widget.ListView$FixedViewInfo>, android.widget.ListAdapter);
    descriptor: (Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.widget.ListView this
        start local 1 // java.util.ArrayList headerViewInfos
        start local 2 // java.util.ArrayList footerViewInfos
        start local 3 // android.widget.ListAdapter adapter
         0: .line 4141
            new android.widget.HeaderViewListAdapter
            dup
            aload 1 /* headerViewInfos */
            aload 2 /* footerViewInfos */
            aload 3 /* adapter */
            invokespecial android.widget.HeaderViewListAdapter.<init>:(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)V
            areturn
        end local 3 // android.widget.ListAdapter adapter
        end local 2 // java.util.ArrayList footerViewInfos
        end local 1 // java.util.ArrayList headerViewInfos
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Landroid/widget/ListView;
            0    1     1  headerViewInfos  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            0    1     2  footerViewInfos  Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;
            0    1     3          adapter  Landroid/widget/ListAdapter;
    Signature: (Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;Ljava/util/ArrayList<Landroid/widget/ListView$FixedViewInfo;>;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
    MethodParameters:
                 Name  Flags
      headerViewInfos  
      footerViewInfos  
      adapter          

  protected void wrapHeaderListAdapterInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 4146
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.ListView.mHeaderViewInfos:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield android.widget.ListView.mFooterViewInfos:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
            invokevirtual android.widget.ListView.wrapHeaderListAdapterInternal:(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
            putfield android.widget.ListView.mAdapter:Landroid/widget/ListAdapter;
         1: .line 4147
            return
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/ListView;

  protected void dispatchDataSetObserverOnChangedInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.ListView this
         0: .line 4151
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            ifnull 2
         1: .line 4152
            aload 0 /* this */
            getfield android.widget.ListView.mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
            invokevirtual android.widget.AbsListView$AdapterDataSetObserver.onChanged:()V
         2: .line 4154
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.ListView this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/ListView;

  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.ListView.getAdapter:()Landroid/widget/ListAdapter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ListView.java"
NestMembers:
  android.widget.ListView$ArrowScrollFocusResult  android.widget.ListView$FixedViewInfo  android.widget.ListView$FocusSelector
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
  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
  private ArrowScrollFocusResult = android.widget.ListView$ArrowScrollFocusResult of android.widget.ListView
  public FixedViewInfo = android.widget.ListView$FixedViewInfo of android.widget.ListView
  private FocusSelector = android.widget.ListView$FocusSelector of android.widget.ListView
  public abstract RemoteView = android.widget.RemoteViews$RemoteView of android.widget.RemoteViews
    RuntimeVisibleAnnotations: 
      android.widget.RemoteViews$RemoteView()