public abstract class android.widget.Filter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: android.widget.Filter
super_class: java.lang.Object
{
private static final java.lang.String LOG_TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Filter"
private static final java.lang.String THREAD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Filter"
private static final int FILTER_TOKEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -791613427
private static final int FINISH_TOKEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -559038737
private android.os.Handler mThreadHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
private android.os.Handler mResultHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
private android.widget.Filter$Delayer mDelayer;
descriptor: Landroid/widget/Filter$Delayer;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.widget.Filter.mLock:Ljava/lang/Object;
2: aload 0
new android.widget.Filter$ResultsHandler
dup
aload 0
invokespecial android.widget.Filter$ResultsHandler.<init>:(Landroid/widget/Filter;)V
putfield android.widget.Filter.mResultHandler:Landroid/os/Handler;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Filter;
public void setDelayer(android.widget.Filter$Delayer);
descriptor: (Landroid/widget/Filter$Delayer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.Filter.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 1
putfield android.widget.Filter.mDelayer:Landroid/widget/Filter$Delayer;
2: aload 2
monitorexit
3: goto 6
StackMap locals: android.widget.Filter android.widget.Filter$Delayer java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/Filter;
0 7 1 delayer Landroid/widget/Filter$Delayer;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
delayer
public final void filter(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual android.widget.Filter.filter:(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/Filter;
0 2 1 constraint Ljava/lang/CharSequence;
MethodParameters:
Name Flags
constraint
public final void filter(java.lang.CharSequence, android.widget.Filter$FilterListener);
descriptor: (Ljava/lang/CharSequence;Landroid/widget/Filter$FilterListener;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.Filter.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield android.widget.Filter.mThreadHandler:Landroid/os/Handler;
ifnonnull 7
2: new android.os.HandlerThread
dup
3: ldc "Filter"
bipush 10
4: invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;I)V
astore 4
start local 4 5: aload 4
invokevirtual android.os.HandlerThread.start:()V
6: aload 0
new android.widget.Filter$RequestHandler
dup
aload 0
aload 4
invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
invokespecial android.widget.Filter$RequestHandler.<init>:(Landroid/widget/Filter;Landroid/os/Looper;)V
putfield android.widget.Filter.mThreadHandler:Landroid/os/Handler;
end local 4 7: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield android.widget.Filter.mDelayer:Landroid/widget/Filter$Delayer;
ifnonnull 8
lconst_0
goto 9
StackMap locals:
StackMap stack:
8: aload 0
getfield android.widget.Filter.mDelayer:Landroid/widget/Filter$Delayer;
aload 1
invokeinterface android.widget.Filter$Delayer.getPostingDelay:(Ljava/lang/CharSequence;)J
StackMap locals:
StackMap stack: long
9: lstore 4
start local 4 10: aload 0
getfield android.widget.Filter.mThreadHandler:Landroid/os/Handler;
ldc -791613427
invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
astore 6
start local 6 11: new android.widget.Filter$RequestArguments
dup
invokespecial android.widget.Filter$RequestArguments.<init>:()V
astore 7
start local 7 12: aload 7
aload 1
ifnull 13
aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
goto 14
StackMap locals: android.widget.Filter java.lang.CharSequence android.widget.Filter$FilterListener java.lang.Object long android.os.Message android.widget.Filter$RequestArguments
StackMap stack: android.widget.Filter$RequestArguments
13: aconst_null
StackMap locals: android.widget.Filter java.lang.CharSequence android.widget.Filter$FilterListener java.lang.Object long android.os.Message android.widget.Filter$RequestArguments
StackMap stack: android.widget.Filter$RequestArguments java.lang.String
14: putfield android.widget.Filter$RequestArguments.constraint:Ljava/lang/CharSequence;
15: aload 7
aload 2
putfield android.widget.Filter$RequestArguments.listener:Landroid/widget/Filter$FilterListener;
16: aload 6
aload 7
putfield android.os.Message.obj:Ljava/lang/Object;
17: aload 0
getfield android.widget.Filter.mThreadHandler:Landroid/os/Handler;
ldc -791613427
invokevirtual android.os.Handler.removeMessages:(I)V
18: aload 0
getfield android.widget.Filter.mThreadHandler:Landroid/os/Handler;
ldc -559038737
invokevirtual android.os.Handler.removeMessages:(I)V
19: aload 0
getfield android.widget.Filter.mThreadHandler:Landroid/os/Handler;
aload 6
lload 4
invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
pop
end local 7 end local 6 end local 4 20: aload 3
monitorexit
21: goto 24
StackMap locals: android.widget.Filter java.lang.CharSequence android.widget.Filter$FilterListener java.lang.Object
StackMap stack: java.lang.Throwable
22: aload 3
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/widget/Filter;
0 25 1 constraint Ljava/lang/CharSequence;
0 25 2 listener Landroid/widget/Filter$FilterListener;
5 7 4 thread Landroid/os/HandlerThread;
10 20 4 delay J
11 20 6 message Landroid/os/Message;
12 20 7 args Landroid/widget/Filter$RequestArguments;
Exception table:
from to target type
1 21 22 any
22 23 22 any
MethodParameters:
Name Flags
constraint
listener
protected abstract android.widget.Filter$FilterResults performFiltering(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Landroid/widget/Filter$FilterResults;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
constraint
protected abstract void publishResults(java.lang.CharSequence, android.widget.Filter$FilterResults);
descriptor: (Ljava/lang/CharSequence;Landroid/widget/Filter$FilterResults;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
constraint
results
public java.lang.CharSequence convertResultToString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
ldc ""
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Filter;
0 3 1 resultValue Ljava/lang/Object;
MethodParameters:
Name Flags
resultValue
}
SourceFile: "Filter.java"
NestMembers:
android.widget.Filter$Delayer android.widget.Filter$FilterListener android.widget.Filter$FilterResults android.widget.Filter$RequestArguments android.widget.Filter$RequestHandler android.widget.Filter$ResultsHandler
InnerClasses:
public abstract Delayer = android.widget.Filter$Delayer of android.widget.Filter
public abstract FilterListener = android.widget.Filter$FilterListener of android.widget.Filter
protected FilterResults = android.widget.Filter$FilterResults of android.widget.Filter
private RequestArguments = android.widget.Filter$RequestArguments of android.widget.Filter
private RequestHandler = android.widget.Filter$RequestHandler of android.widget.Filter
private ResultsHandler = android.widget.Filter$ResultsHandler of android.widget.Filter