class android.widget.ArrayAdapter$ArrayFilter extends android.widget.Filter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.widget.ArrayAdapter$ArrayFilter
super_class: android.widget.Filter
{
final android.widget.ArrayAdapter this$0;
descriptor: Landroid/widget/ArrayAdapter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(android.widget.ArrayAdapter);
descriptor: (Landroid/widget/ArrayAdapter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // android.widget.ArrayAdapter$ArrayFilter this
0: .line 558
aload 0 /* this */
aload 1
putfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
aload 0 /* this */
invokespecial android.widget.Filter.<init>:()V
return
end local 0 // android.widget.ArrayAdapter$ArrayFilter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/ArrayAdapter$ArrayFilter;
MethodParameters:
Name Flags
this$0 final
protected android.widget.Filter$FilterResults performFiltering(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Landroid/widget/Filter$FilterResults;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=15, args_size=2
start local 0 // android.widget.ArrayAdapter$ArrayFilter this
start local 1 // java.lang.CharSequence prefix
0: .line 561
new android.widget.Filter$FilterResults
dup
invokespecial android.widget.Filter$FilterResults.<init>:()V
astore 2 /* results */
start local 2 // android.widget.Filter$FilterResults results
1: .line 563
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mOriginalValues:Ljava/util/ArrayList;
ifnonnull 8
2: .line 564
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: .line 565
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
new java.util.ArrayList
dup
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mObjects:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield android.widget.ArrayAdapter.mOriginalValues:Ljava/util/ArrayList;
4: .line 564
aload 3
monitorexit
5: goto 8
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: .line 569
StackMap locals:
StackMap stack:
aload 1 /* prefix */
ifnull 9
aload 1 /* prefix */
invokeinterface java.lang.CharSequence.length:()I
ifne 18
9: .line 571
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mLock:Ljava/lang/Object;
dup
astore 4
monitorenter
10: .line 572
new java.util.ArrayList
dup
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mOriginalValues:Ljava/util/ArrayList;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3 /* list */
start local 3 // java.util.ArrayList list
11: .line 571
aload 4
monitorexit
12: goto 15
end local 3 // java.util.ArrayList list
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults top java.lang.Object
StackMap stack: java.lang.Throwable
13: aload 4
monitorexit
14: athrow
start local 3 // java.util.ArrayList list
15: .line 574
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults java.util.ArrayList
StackMap stack:
aload 2 /* results */
aload 3 /* list */
putfield android.widget.Filter$FilterResults.values:Ljava/lang/Object;
16: .line 575
aload 2 /* results */
aload 3 /* list */
invokevirtual java.util.ArrayList.size:()I
putfield android.widget.Filter$FilterResults.count:I
end local 3 // java.util.ArrayList list
17: .line 576
goto 46
18: .line 577
StackMap locals:
StackMap stack:
aload 1 /* prefix */
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 3 /* prefixString */
start local 3 // java.lang.String prefixString
19: .line 580
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mLock:Ljava/lang/Object;
dup
astore 5
monitorenter
20: .line 581
new java.util.ArrayList
dup
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
getfield android.widget.ArrayAdapter.mOriginalValues:Ljava/util/ArrayList;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 4 /* values */
start local 4 // java.util.ArrayList values
21: .line 580
aload 5
monitorexit
22: goto 25
end local 4 // java.util.ArrayList values
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults java.lang.String top java.lang.Object
StackMap stack: java.lang.Throwable
23: aload 5
monitorexit
24: athrow
start local 4 // java.util.ArrayList values
25: .line 584
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults java.lang.String java.util.ArrayList
StackMap stack:
aload 4 /* values */
invokevirtual java.util.ArrayList.size:()I
istore 5 /* count */
start local 5 // int count
26: .line 585
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6 /* newValues */
start local 6 // java.util.ArrayList newValues
27: .line 587
iconst_0
istore 7 /* i */
start local 7 // int i
28: goto 43
29: .line 588
StackMap locals: int java.util.ArrayList int
StackMap stack:
aload 4 /* values */
iload 7 /* i */
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
astore 8 /* value */
start local 8 // java.lang.Object value
30: .line 589
aload 8 /* value */
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 9 /* valueText */
start local 9 // java.lang.String valueText
31: .line 592
aload 9 /* valueText */
aload 3 /* prefixString */
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 34
32: .line 593
aload 6 /* newValues */
aload 8 /* value */
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
33: .line 594
goto 42
34: .line 595
StackMap locals: java.lang.Object java.lang.String
StackMap stack:
aload 9 /* valueText */
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 10 /* words */
start local 10 // java.lang.String[] words
35: .line 596
aload 10 /* words */
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 41
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults java.lang.String java.util.ArrayList int java.util.ArrayList int java.lang.Object java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
36: aload 14
iload 12
aaload
astore 11 /* word */
start local 11 // java.lang.String word
37: .line 597
aload 11 /* word */
aload 3 /* prefixString */
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 40
38: .line 598
aload 6 /* newValues */
aload 8 /* value */
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
39: .line 599
goto 42
end local 11 // java.lang.String word
40: .line 596
StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
41: iload 12
iload 13
if_icmplt 36
end local 10 // java.lang.String[] words
end local 9 // java.lang.String valueText
end local 8 // java.lang.Object value
42: .line 587
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults java.lang.String java.util.ArrayList int java.util.ArrayList int
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
43: iload 7 /* i */
iload 5 /* count */
if_icmplt 29
end local 7 // int i
44: .line 605
aload 2 /* results */
aload 6 /* newValues */
putfield android.widget.Filter$FilterResults.values:Ljava/lang/Object;
45: .line 606
aload 2 /* results */
aload 6 /* newValues */
invokevirtual java.util.ArrayList.size:()I
putfield android.widget.Filter$FilterResults.count:I
end local 6 // java.util.ArrayList newValues
end local 5 // int count
end local 4 // java.util.ArrayList values
end local 3 // java.lang.String prefixString
46: .line 609
StackMap locals: android.widget.ArrayAdapter$ArrayFilter java.lang.CharSequence android.widget.Filter$FilterResults
StackMap stack:
aload 2 /* results */
areturn
end local 2 // android.widget.Filter$FilterResults results
end local 1 // java.lang.CharSequence prefix
end local 0 // android.widget.ArrayAdapter$ArrayFilter this
LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Landroid/widget/ArrayAdapter$ArrayFilter;
0 47 1 prefix Ljava/lang/CharSequence;
1 47 2 results Landroid/widget/Filter$FilterResults;
11 13 3 list Ljava/util/ArrayList<TT;>;
15 17 3 list Ljava/util/ArrayList<TT;>;
19 46 3 prefixString Ljava/lang/String;
21 23 4 values Ljava/util/ArrayList<TT;>;
25 46 4 values Ljava/util/ArrayList<TT;>;
26 46 5 count I
27 46 6 newValues Ljava/util/ArrayList<TT;>;
28 44 7 i I
30 42 8 value TT;
31 42 9 valueText Ljava/lang/String;
35 42 10 words [Ljava/lang/String;
37 40 11 word Ljava/lang/String;
Exception table:
from to target type
3 5 6 any
6 7 6 any
10 12 13 any
13 14 13 any
20 22 23 any
23 24 23 any
MethodParameters:
Name Flags
prefix
protected void publishResults(java.lang.CharSequence, android.widget.Filter$FilterResults);
descriptor: (Ljava/lang/CharSequence;Landroid/widget/Filter$FilterResults;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 // android.widget.ArrayAdapter$ArrayFilter this
start local 1 // java.lang.CharSequence constraint
start local 2 // android.widget.Filter$FilterResults results
0: .line 615
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
aload 2 /* results */
getfield android.widget.Filter$FilterResults.values:Ljava/lang/Object;
checkcast java.util.List
putfield android.widget.ArrayAdapter.mObjects:Ljava/util/List;
1: .line 616
aload 2 /* results */
getfield android.widget.Filter$FilterResults.count:I
ifle 4
2: .line 617
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
invokevirtual android.widget.ArrayAdapter.notifyDataSetChanged:()V
3: .line 618
goto 5
4: .line 619
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.widget.ArrayAdapter$ArrayFilter.this$0:Landroid/widget/ArrayAdapter;
invokevirtual android.widget.ArrayAdapter.notifyDataSetInvalidated:()V
5: .line 621
StackMap locals:
StackMap stack:
return
end local 2 // android.widget.Filter$FilterResults results
end local 1 // java.lang.CharSequence constraint
end local 0 // android.widget.ArrayAdapter$ArrayFilter this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/ArrayAdapter$ArrayFilter;
0 6 1 constraint Ljava/lang/CharSequence;
0 6 2 results Landroid/widget/Filter$FilterResults;
MethodParameters:
Name Flags
constraint
results
}
SourceFile: "ArrayAdapter.java"
NestHost: android.widget.ArrayAdapter
InnerClasses:
private ArrayFilter = android.widget.ArrayAdapter$ArrayFilter of android.widget.ArrayAdapter
protected FilterResults = android.widget.Filter$FilterResults of android.widget.Filter