class android.widget.AbsListView$RecycleBin
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.widget.AbsListView$RecycleBin
super_class: java.lang.Object
{
private android.widget.AbsListView$RecyclerListener mRecyclerListener;
descriptor: Landroid/widget/AbsListView$RecyclerListener;
flags: (0x0002) ACC_PRIVATE
private int mFirstActivePosition;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.view.View[] mActiveViews;
descriptor: [Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<android.view.View>[] mScrapViews;
descriptor: [Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: [Ljava/util/ArrayList<Landroid/view/View;>;
private int mViewTypeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<android.view.View> mCurrentScrap;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Landroid/view/View;>;
private java.util.ArrayList<android.view.View> mSkippedScrap;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Landroid/view/View;>;
private android.util.SparseArray<android.view.View> mTransientStateViews;
descriptor: Landroid/util/SparseArray;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/SparseArray<Landroid/view/View;>;
private android.util.LongSparseArray<android.view.View> mTransientStateViewsById;
descriptor: Landroid/util/LongSparseArray;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/LongSparseArray<Landroid/view/View;>;
final android.widget.AbsListView this$0;
descriptor: Landroid/widget/AbsListView;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.widget.AbsListView);
descriptor: (Landroid/widget/AbsListView;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
anewarray android.view.View
putfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/AbsListView$RecycleBin;
MethodParameters:
Name Flags
this$0 final
public void setViewTypeCount(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpge 2
1: new java.lang.IllegalArgumentException
dup
ldc "Can't have a viewTypeCount < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
anewarray java.util.ArrayList
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: java.util.ArrayList[] int
StackMap stack:
aload 2
iload 3
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 1
if_icmplt 5
end local 3 8: aload 0
iload 1
putfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
9: aload 0
aload 2
iconst_0
aaload
putfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
10: aload 0
aload 2
putfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/widget/AbsListView$RecycleBin;
0 12 1 viewTypeCount I
3 12 2 scrapViews [Ljava/util/ArrayList;
4 8 3 i I
MethodParameters:
Name Flags
viewTypeCount
public void markChildrenDirty();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmpne 9
1: aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
astore 1
start local 1 2: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 1
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
invokevirtual android.view.View.forceLayout:()V
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 5
end local 3 end local 2 end local 1 8: goto 21
9: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
istore 1
start local 1 10: iconst_0
istore 2
start local 2 11: goto 20
12: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
iload 2
aaload
astore 3
start local 3 13: aload 3
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 14: iconst_0
istore 5
start local 5 15: goto 18
16: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 3
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
invokevirtual android.view.View.forceLayout:()V
17: iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 4
if_icmplt 16
end local 5 end local 4 end local 3 19: iinc 2 1
StackMap locals:
StackMap stack:
20: iload 2
iload 1
if_icmplt 12
end local 2 end local 1 21: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
ifnull 28
22: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
istore 1
start local 1 23: iconst_0
istore 2
start local 2 24: goto 27
25: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
iload 2
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
invokevirtual android.view.View.forceLayout:()V
26: iinc 2 1
StackMap locals:
StackMap stack:
27: iload 2
iload 1
if_icmplt 25
end local 2 end local 1 28: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
ifnull 35
29: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
invokevirtual android.util.LongSparseArray.size:()I
istore 1
start local 1 30: iconst_0
istore 2
start local 2 31: goto 34
32: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
iload 2
invokevirtual android.util.LongSparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
invokevirtual android.view.View.forceLayout:()V
33: iinc 2 1
StackMap locals:
StackMap stack:
34: iload 2
iload 1
if_icmplt 32
end local 2 end local 1 35: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Landroid/widget/AbsListView$RecycleBin;
2 8 1 scrap Ljava/util/ArrayList<Landroid/view/View;>;
3 8 2 scrapCount I
4 8 3 i I
10 21 1 typeCount I
11 21 2 i I
13 19 3 scrap Ljava/util/ArrayList<Landroid/view/View;>;
14 19 4 scrapCount I
15 19 5 j I
23 28 1 count I
24 28 2 i I
30 35 1 count I
31 35 2 i I
public boolean shouldRecycleViewType(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/AbsListView$RecycleBin;
0 2 1 viewType I
MethodParameters:
Name Flags
viewType
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmpne 4
1: aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
astore 1
start local 1 2: aload 0
aload 1
invokevirtual android.widget.AbsListView$RecycleBin.clearScrap:(Ljava/util/ArrayList;)V
end local 1 3: goto 11
4: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
istore 1
start local 1 5: iconst_0
istore 2
start local 2 6: goto 10
7: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
iload 2
aaload
astore 3
start local 3 8: aload 0
aload 3
invokevirtual android.widget.AbsListView$RecycleBin.clearScrap:(Ljava/util/ArrayList;)V
end local 3 9: iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 1
if_icmplt 7
end local 2 end local 1 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.AbsListView$RecycleBin.clearTransientStateViews:()V
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/widget/AbsListView$RecycleBin;
2 3 1 scrap Ljava/util/ArrayList<Landroid/view/View;>;
5 11 1 typeCount I
6 11 2 i I
8 9 3 scrap Ljava/util/ArrayList<Landroid/view/View;>;
void fillActiveViews(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
arraylength
iload 1
if_icmpge 2
1: aload 0
iload 1
anewarray android.view.View
putfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
2: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield android.widget.AbsListView$RecycleBin.mFirstActivePosition:I
3: aload 0
getfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 12
6: StackMap locals: android.view.View[] int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
iload 4
invokevirtual android.widget.AbsListView.getChildAt:(I)Landroid/view/View;
astore 5
start local 5 7: aload 5
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.AbsListView$LayoutParams
astore 6
start local 6 8: aload 6
ifnull 11
aload 6
getfield android.widget.AbsListView$LayoutParams.viewType:I
bipush -2
if_icmpeq 11
9: aload 3
iload 4
aload 5
aastore
10: aload 6
iload 2
iload 4
iadd
putfield android.widget.AbsListView$LayoutParams.scrappedFromPosition:I
end local 6 end local 5 11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 1
if_icmplt 6
end local 4 13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/AbsListView$RecycleBin;
0 14 1 childCount I
0 14 2 firstActivePosition I
4 14 3 activeViews [Landroid/view/View;
5 13 4 i I
7 11 5 child Landroid/view/View;
8 11 6 lp Landroid/widget/AbsListView$LayoutParams;
MethodParameters:
Name Flags
childCount
firstActivePosition
android.view.View getActiveView(int);
descriptor: (I)Landroid/view/View;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield android.widget.AbsListView$RecycleBin.mFirstActivePosition:I
isub
istore 2
start local 2 1: aload 0
getfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
astore 3
start local 3 2: iload 2
iflt 6
iload 2
aload 3
arraylength
if_icmpge 6
3: aload 3
iload 2
aaload
astore 4
start local 4 4: aload 3
iload 2
aconst_null
aastore
5: aload 4
areturn
end local 4 6: StackMap locals: int android.view.View[]
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/AbsListView$RecycleBin;
0 7 1 position I
1 7 2 index I
2 7 3 activeViews [Landroid/view/View;
4 6 4 match Landroid/view/View;
MethodParameters:
Name Flags
position
android.view.View getTransientStateView(int);
descriptor: (I)Landroid/view/View;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
ifnull 5
aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapterHasStableIds:Z
ifeq 5
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
ifnull 5
1: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
iload 1
invokeinterface android.widget.ListAdapter.getItemId:(I)J
lstore 2
start local 2 2: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
lload 2
invokevirtual android.util.LongSparseArray.get:(J)Ljava/lang/Object;
checkcast android.view.View
astore 4
start local 4 3: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
lload 2
invokevirtual android.util.LongSparseArray.remove:(J)V
4: aload 4
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
ifnull 11
6: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.indexOfKey:(I)I
istore 2
start local 2 7: iload 2
iflt 11
8: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
iload 2
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
astore 3
start local 3 9: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
iload 2
invokevirtual android.util.SparseArray.removeAt:(I)V
10: aload 3
areturn
end local 3 end local 2 11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/widget/AbsListView$RecycleBin;
0 12 1 position I
2 5 2 id J
3 5 4 result Landroid/view/View;
7 11 2 index I
9 11 3 result Landroid/view/View;
MethodParameters:
Name Flags
position
void clearTransientStateViews();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
astore 1
start local 1 1: aload 1
ifnull 9
2: aload 1
invokevirtual android.util.SparseArray.size:()I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: android.util.SparseArray int int
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 5
end local 3 8: aload 1
invokevirtual android.util.SparseArray.clear:()V
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
astore 2
start local 2 10: aload 2
ifnull 18
11: aload 2
invokevirtual android.util.LongSparseArray.size:()I
istore 3
start local 3 12: iconst_0
istore 4
start local 4 13: goto 16
14: StackMap locals: android.util.LongSparseArray int int
StackMap stack:
aload 0
aload 2
iload 4
invokevirtual android.util.LongSparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 3
if_icmplt 14
end local 4 17: aload 2
invokevirtual android.util.LongSparseArray.clear:()V
end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/widget/AbsListView$RecycleBin;
1 19 1 viewsByPos Landroid/util/SparseArray<Landroid/view/View;>;
3 9 2 N I
4 8 3 i I
10 19 2 viewsById Landroid/util/LongSparseArray<Landroid/view/View;>;
12 18 3 N I
13 17 4 i I
android.view.View getScrapView(int);
descriptor: (I)Landroid/view/View;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
iload 1
invokeinterface android.widget.ListAdapter.getItemViewType:(I)I
istore 2
start local 2 1: iload 2
ifge 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmpne 5
4: aload 0
aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
iload 1
invokevirtual android.widget.AbsListView$RecycleBin.retrieveFromScrap:(Ljava/util/ArrayList;I)Landroid/view/View;
areturn
5: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
arraylength
if_icmpge 7
6: aload 0
aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
iload 2
aaload
iload 1
invokevirtual android.widget.AbsListView$RecycleBin.retrieveFromScrap:(Ljava/util/ArrayList;I)Landroid/view/View;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/AbsListView$RecycleBin;
0 8 1 position I
1 8 2 whichScrap I
MethodParameters:
Name Flags
position
void addScrapView(android.view.View, int);
descriptor: (Landroid/view/View;I)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.AbsListView$LayoutParams
astore 3
start local 3 1: aload 3
ifnonnull 3
2: return
3: StackMap locals: android.widget.AbsListView$LayoutParams
StackMap stack:
aload 3
iload 2
putfield android.widget.AbsListView$LayoutParams.scrappedFromPosition:I
4: aload 3
getfield android.widget.AbsListView$LayoutParams.viewType:I
istore 4
start local 4 5: aload 0
iload 4
invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
ifne 9
6: iload 4
bipush -2
if_icmpeq 8
7: aload 0
invokevirtual android.widget.AbsListView$RecycleBin.getSkippedScrap:()Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals: int
StackMap stack:
return
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.view.View.dispatchStartTemporaryDetach:()V
10: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
11: iconst_1
12: invokevirtual android.widget.AbsListView.notifyViewAccessibilityStateChangedIfNeeded:(I)V
13: aload 1
invokevirtual android.view.View.hasTransientState:()Z
istore 5
start local 5 14: iload 5
ifeq 28
15: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
ifnull 20
aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapterHasStableIds:Z
ifeq 20
16: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
ifnonnull 18
17: aload 0
new android.util.LongSparseArray
dup
invokespecial android.util.LongSparseArray.<init>:()V
putfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
18: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
aload 3
getfield android.widget.AbsListView$LayoutParams.itemId:J
aload 1
invokevirtual android.util.LongSparseArray.put:(JLjava/lang/Object;)V
19: goto 35
StackMap locals:
StackMap stack:
20: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mDataChanged:Z
ifne 25
21: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
ifnonnull 23
22: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
23: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
iload 2
aload 1
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
24: goto 35
25: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.widget.AbsListView$RecycleBin.clearScrapForRebind:(Landroid/view/View;)V
26: aload 0
invokevirtual android.widget.AbsListView$RecycleBin.getSkippedScrap:()Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
27: goto 35
28: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.widget.AbsListView$RecycleBin.clearScrapForRebind:(Landroid/view/View;)V
29: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmpne 32
30: aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
iload 4
aaload
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
33: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mRecyclerListener:Landroid/widget/AbsListView$RecyclerListener;
ifnull 35
34: aload 0
getfield android.widget.AbsListView$RecycleBin.mRecyclerListener:Landroid/widget/AbsListView$RecyclerListener;
aload 1
invokeinterface android.widget.AbsListView$RecyclerListener.onMovedToScrapHeap:(Landroid/view/View;)V
35: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Landroid/widget/AbsListView$RecycleBin;
0 36 1 scrap Landroid/view/View;
0 36 2 position I
1 36 3 lp Landroid/widget/AbsListView$LayoutParams;
5 36 4 viewType I
14 36 5 scrapHasTransientState Z
MethodParameters:
Name Flags
scrap
position
private java.util.ArrayList<android.view.View> getSkippedScrap();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
ifnonnull 2
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/AbsListView$RecycleBin;
Signature: ()Ljava/util/ArrayList<Landroid/view/View;>;
void removeSkippedScrap();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: int int
StackMap stack:
aload 0
aload 0
getfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 5
end local 2 8: aload 0
getfield android.widget.AbsListView$RecycleBin.mSkippedScrap:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/widget/AbsListView$RecycleBin;
3 10 1 count I
4 8 2 i I
void scrapActiveViews();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=12, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
astore 1
start local 1 1: aload 0
getfield android.widget.AbsListView$RecycleBin.mRecyclerListener:Landroid/widget/AbsListView$RecyclerListener;
ifnull 2
iconst_1
goto 3
StackMap locals: android.view.View[]
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmple 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
astore 4
start local 4 8: aload 1
arraylength
istore 5
start local 5 9: iload 5
iconst_1
isub
istore 6
start local 6 10: goto 45
11: StackMap locals: android.widget.AbsListView$RecycleBin android.view.View[] int int java.util.ArrayList int int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 12: aload 7
ifnull 44
13: aload 7
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.AbsListView$LayoutParams
14: astore 8
start local 8 15: aload 8
getfield android.widget.AbsListView$LayoutParams.viewType:I
istore 9
start local 9 16: aload 1
iload 6
aconst_null
aastore
17: aload 7
invokevirtual android.view.View.hasTransientState:()Z
ifeq 33
18: aload 7
invokevirtual android.view.View.dispatchStartTemporaryDetach:()V
19: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
ifnull 25
aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapterHasStableIds:Z
ifeq 25
20: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
ifnonnull 22
21: aload 0
new android.util.LongSparseArray
dup
invokespecial android.util.LongSparseArray.<init>:()V
putfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
22: StackMap locals: android.view.View android.widget.AbsListView$LayoutParams int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
aload 0
getfield android.widget.AbsListView$RecycleBin.mFirstActivePosition:I
iload 6
iadd
invokeinterface android.widget.ListAdapter.getItemId:(I)J
lstore 10
start local 10 23: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
lload 10
aload 7
invokevirtual android.util.LongSparseArray.put:(JLjava/lang/Object;)V
end local 10 24: goto 44
StackMap locals:
StackMap stack:
25: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mDataChanged:Z
ifne 30
26: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
ifnonnull 28
27: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
28: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
aload 0
getfield android.widget.AbsListView$RecycleBin.mFirstActivePosition:I
iload 6
iadd
aload 7
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
29: goto 44
StackMap locals:
StackMap stack:
30: iload 9
bipush -2
if_icmpeq 44
31: aload 0
aload 7
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
32: goto 44
StackMap locals:
StackMap stack:
33: aload 0
iload 9
invokevirtual android.widget.AbsListView$RecycleBin.shouldRecycleViewType:(I)Z
ifne 37
34: iload 9
bipush -2
if_icmpeq 44
35: aload 0
aload 7
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
36: goto 44
37: StackMap locals:
StackMap stack:
iload 3
ifeq 39
38: aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
iload 9
aaload
astore 4
39: StackMap locals:
StackMap stack:
aload 8
aload 0
getfield android.widget.AbsListView$RecycleBin.mFirstActivePosition:I
iload 6
iadd
putfield android.widget.AbsListView$LayoutParams.scrappedFromPosition:I
40: aload 0
aload 7
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
41: aload 4
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
42: iload 2
ifeq 44
43: aload 0
getfield android.widget.AbsListView$RecycleBin.mRecyclerListener:Landroid/widget/AbsListView$RecyclerListener;
aload 7
invokeinterface android.widget.AbsListView$RecyclerListener.onMovedToScrapHeap:(Landroid/view/View;)V
end local 9 end local 8 end local 7 44: StackMap locals:
StackMap stack:
iinc 6 -1
StackMap locals:
StackMap stack:
45: iload 6
ifge 11
end local 6 46: aload 0
invokevirtual android.widget.AbsListView$RecycleBin.pruneScrapViews:()V
47: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Landroid/widget/AbsListView$RecycleBin;
1 48 1 activeViews [Landroid/view/View;
4 48 2 hasListener Z
7 48 3 multipleScraps Z
8 48 4 scrapViews Ljava/util/ArrayList<Landroid/view/View;>;
9 48 5 count I
10 46 6 i I
12 44 7 victim Landroid/view/View;
15 44 8 lp Landroid/widget/AbsListView$LayoutParams;
16 44 9 whichScrap I
23 24 10 id J
void fullyDetachScrapViews();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
istore 1
start local 1 1: aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 13
4: StackMap locals: int java.util.ArrayList[] int
StackMap stack:
aload 2
iload 3
aaload
astore 4
start local 4 5: aload 4
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 5
start local 5 6: goto 11
7: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 4
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
astore 6
start local 6 8: aload 6
invokevirtual android.view.View.isTemporarilyDetached:()Z
ifeq 10
9: aload 0
aload 6
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 -1
StackMap locals:
StackMap stack:
11: iload 5
ifge 7
end local 5 end local 4 12: iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
iload 1
if_icmplt 4
end local 3 14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/widget/AbsListView$RecycleBin;
1 15 1 viewTypeCount I
2 15 2 scrapViews [Ljava/util/ArrayList;
3 14 3 i I
5 12 4 scrapPile Ljava/util/ArrayList<Landroid/view/View;>;
6 12 5 j I
8 10 6 view Landroid/view/View;
private void pruneScrapViews();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
arraylength
istore 1
start local 1 1: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
istore 2
start local 2 2: aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 11
5: StackMap locals: android.widget.AbsListView$RecycleBin int int java.util.ArrayList[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 6: aload 5
invokevirtual java.util.ArrayList.size:()I
istore 6
start local 6 7: goto 9
8: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 5
iinc 6 -1
iload 6
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
9: StackMap locals:
StackMap stack:
iload 6
iload 1
if_icmpgt 8
end local 6 end local 5 10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 2
if_icmplt 5
end local 4 12: aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViews:Landroid/util/SparseArray;
astore 4
start local 4 13: aload 4
ifnull 23
14: iconst_0
istore 5
start local 5 15: goto 22
16: StackMap locals: android.widget.AbsListView$RecycleBin int int java.util.ArrayList[] android.util.SparseArray int
StackMap stack:
aload 4
iload 5
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
astore 6
start local 6 17: aload 6
invokevirtual android.view.View.hasTransientState:()Z
ifne 21
18: aload 0
aload 6
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
19: aload 4
iload 5
invokevirtual android.util.SparseArray.removeAt:(I)V
20: iinc 5 -1
end local 6 21: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
aload 4
invokevirtual android.util.SparseArray.size:()I
if_icmplt 16
end local 5 23: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mTransientStateViewsById:Landroid/util/LongSparseArray;
astore 5
start local 5 24: aload 5
ifnull 34
25: iconst_0
istore 6
start local 6 26: goto 33
27: StackMap locals: android.util.LongSparseArray int
StackMap stack:
aload 5
iload 6
invokevirtual android.util.LongSparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.view.View
astore 7
start local 7 28: aload 7
invokevirtual android.view.View.hasTransientState:()Z
ifne 32
29: aload 0
aload 7
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
30: aload 5
iload 6
invokevirtual android.util.LongSparseArray.removeAt:(I)V
31: iinc 6 -1
end local 7 32: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
33: iload 6
aload 5
invokevirtual android.util.LongSparseArray.size:()I
if_icmplt 27
end local 6 34: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Landroid/widget/AbsListView$RecycleBin;
1 35 1 maxViews I
2 35 2 viewTypeCount I
3 35 3 scrapViews [Ljava/util/ArrayList;
4 12 4 i I
6 10 5 scrapPile Ljava/util/ArrayList<Landroid/view/View;>;
7 10 6 size I
13 35 4 transViewsByPos Landroid/util/SparseArray<Landroid/view/View;>;
15 23 5 i I
17 21 6 v Landroid/view/View;
24 35 5 transViewsById Landroid/util/LongSparseArray<Landroid/view/View;>;
26 34 6 i I
28 32 7 v Landroid/view/View;
void reclaimScrapViews(java.util.List<android.view.View>);
descriptor: (Ljava/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmpne 3
1: aload 1
aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
2: goto 11
3: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
istore 2
start local 2 4: aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 10
7: StackMap locals: int java.util.ArrayList[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 8: aload 1
aload 5
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 5 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 2
if_icmplt 7
end local 4 end local 3 end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/widget/AbsListView$RecycleBin;
0 12 1 views Ljava/util/List<Landroid/view/View;>;
4 11 2 viewTypeCount I
5 11 3 scrapViews [Ljava/util/ArrayList;
6 11 4 i I
8 9 5 scrapPile Ljava/util/ArrayList<Landroid/view/View;>;
Signature: (Ljava/util/List<Landroid/view/View;>;)V
MethodParameters:
Name Flags
views
void setCacheColorHint(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
iconst_1
if_icmpne 9
1: aload 0
getfield android.widget.AbsListView$RecycleBin.mCurrentScrap:Ljava/util/ArrayList;
astore 2
start local 2 2: aload 2
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 2
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
iload 1
invokevirtual android.view.View.setDrawingCacheBackgroundColor:(I)V
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 5
end local 4 end local 3 end local 2 8: goto 21
9: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mViewTypeCount:I
istore 2
start local 2 10: iconst_0
istore 3
start local 3 11: goto 20
12: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mScrapViews:[Ljava/util/ArrayList;
iload 3
aaload
astore 4
start local 4 13: aload 4
invokevirtual java.util.ArrayList.size:()I
istore 5
start local 5 14: iconst_0
istore 6
start local 6 15: goto 18
16: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 4
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
iload 1
invokevirtual android.view.View.setDrawingCacheBackgroundColor:(I)V
17: iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
iload 5
if_icmplt 16
end local 6 end local 5 end local 4 19: iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
iload 2
if_icmplt 12
end local 3 end local 2 21: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.AbsListView$RecycleBin.mActiveViews:[Landroid/view/View;
astore 2
start local 2 22: aload 2
arraylength
istore 3
start local 3 23: iconst_0
istore 4
start local 4 24: goto 29
25: StackMap locals: android.view.View[] int int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 26: aload 5
ifnull 28
27: aload 5
iload 1
invokevirtual android.view.View.setDrawingCacheBackgroundColor:(I)V
end local 5 28: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
29: iload 4
iload 3
if_icmplt 25
end local 4 30: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Landroid/widget/AbsListView$RecycleBin;
0 31 1 color I
2 8 2 scrap Ljava/util/ArrayList<Landroid/view/View;>;
3 8 3 scrapCount I
4 8 4 i I
10 21 2 typeCount I
11 21 3 i I
13 19 4 scrap Ljava/util/ArrayList<Landroid/view/View;>;
14 19 5 scrapCount I
15 19 6 j I
22 31 2 activeViews [Landroid/view/View;
23 31 3 count I
24 30 4 i I
26 28 5 victim Landroid/view/View;
MethodParameters:
Name Flags
color
private android.view.View retrieveFromScrap(java.util.ArrayList<android.view.View>, int);
descriptor: (Ljava/util/ArrayList;I)Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 1: iload 3
ifle 20
2: iload 3
iconst_1
isub
istore 4
start local 4 3: goto 16
4: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View
astore 5
start local 5 5: aload 5
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.AbsListView$LayoutParams
6: astore 6
start local 6 7: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapterHasStableIds:Z
ifeq 11
8: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
getfield android.widget.AbsListView.mAdapter:Landroid/widget/ListAdapter;
iload 2
invokeinterface android.widget.ListAdapter.getItemId:(I)J
lstore 7
start local 7 9: lload 7
aload 6
getfield android.widget.AbsListView$LayoutParams.itemId:J
lcmp
ifne 15
10: aload 1
iload 4
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast android.view.View
areturn
end local 7 11: StackMap locals: android.view.View android.widget.AbsListView$LayoutParams
StackMap stack:
aload 6
getfield android.widget.AbsListView$LayoutParams.scrappedFromPosition:I
iload 2
if_icmpne 15
12: aload 1
iload 4
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast android.view.View
astore 7
start local 7 13: aload 0
aload 7
invokevirtual android.widget.AbsListView$RecycleBin.clearScrapForRebind:(Landroid/view/View;)V
14: aload 7
areturn
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
16: iload 4
ifge 4
end local 4 17: aload 1
iload 3
iconst_1
isub
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast android.view.View
astore 4
start local 4 18: aload 0
aload 4
invokevirtual android.widget.AbsListView$RecycleBin.clearScrapForRebind:(Landroid/view/View;)V
19: aload 4
areturn
end local 4 20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Landroid/widget/AbsListView$RecycleBin;
0 21 1 scrapViews Ljava/util/ArrayList<Landroid/view/View;>;
0 21 2 position I
1 21 3 size I
3 17 4 i I
5 15 5 view Landroid/view/View;
7 15 6 params Landroid/widget/AbsListView$LayoutParams;
9 11 7 id J
13 15 7 scrap Landroid/view/View;
18 20 4 scrap Landroid/view/View;
Signature: (Ljava/util/ArrayList<Landroid/view/View;>;I)Landroid/view/View;
MethodParameters:
Name Flags
scrapViews
position
private void clearScrap(java.util.ArrayList<android.view.View>);
descriptor: (Ljava/util/ArrayList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 0
aload 1
iload 2
iconst_1
isub
iload 3
isub
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast android.view.View
iconst_0
invokevirtual android.widget.AbsListView$RecycleBin.removeDetachedView:(Landroid/view/View;Z)V
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 2
if_icmplt 3
end local 3 6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/AbsListView$RecycleBin;
0 7 1 scrap Ljava/util/ArrayList<Landroid/view/View;>;
1 7 2 scrapCount I
2 6 3 j I
Signature: (Ljava/util/ArrayList<Landroid/view/View;>;)V
MethodParameters:
Name Flags
scrap final
private void clearScrapForRebind(android.view.View);
descriptor: (Landroid/view/View;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.view.View.clearAccessibilityFocus:()V
1: aload 1
aconst_null
invokevirtual android.view.View.setAccessibilityDelegate:(Landroid/view/View$AccessibilityDelegate;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/AbsListView$RecycleBin;
0 3 1 view Landroid/view/View;
MethodParameters:
Name Flags
view
private void removeDetachedView(android.view.View, boolean);
descriptor: (Landroid/view/View;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aconst_null
invokevirtual android.view.View.setAccessibilityDelegate:(Landroid/view/View$AccessibilityDelegate;)V
1: aload 0
getfield android.widget.AbsListView$RecycleBin.this$0:Landroid/widget/AbsListView;
aload 1
iload 2
invokestatic android.widget.AbsListView.access$7:(Landroid/widget/AbsListView;Landroid/view/View;Z)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/AbsListView$RecycleBin;
0 3 1 child Landroid/view/View;
0 3 2 animate Z
MethodParameters:
Name Flags
child
animate
}
SourceFile: "AbsListView.java"
NestHost: android.widget.AbsListView
InnerClasses:
public AccessibilityDelegate = android.view.View$AccessibilityDelegate of android.view.View
public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
public LayoutParams = android.widget.AbsListView$LayoutParams of android.widget.AbsListView
RecycleBin = android.widget.AbsListView$RecycleBin of android.widget.AbsListView
public abstract RecyclerListener = android.widget.AbsListView$RecyclerListener of android.widget.AbsListView