final class android.os.UEventObserver$UEventThread extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.os.UEventObserver$UEventThread
super_class: java.lang.Thread
{
private final java.util.ArrayList<java.lang.Object> mKeysAndObservers;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Ljava/lang/Object;>;
private final java.util.ArrayList<android.os.UEventObserver> mTempObserversToSignal;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/os/UEventObserver;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "UEventObserver"
invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
2: aload 0
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.os.UEventObserver$UEventThread.mTempObserversToSignal:Ljava/util/ArrayList;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/UEventObserver$UEventThread;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic android.os.UEventObserver.nativeSetup:()V
1: StackMap locals:
StackMap stack:
invokestatic android.os.UEventObserver.nativeWaitForNextEvent:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnull 1
3: aload 0
aload 1
invokevirtual android.os.UEventObserver$UEventThread.sendEvent:(Ljava/lang/String;)V
end local 1 4: goto 1
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/UEventObserver$UEventThread;
2 4 1 message Ljava/lang/String;
private void sendEvent(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
dup
astore 2
monitorenter
1: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 10
4: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 5: aload 1
aload 5
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 9
6: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
iload 4
iconst_1
iadd
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.os.UEventObserver
7: astore 6
start local 6 8: aload 0
getfield android.os.UEventObserver$UEventThread.mTempObserversToSignal:Ljava/util/ArrayList;
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 9: StackMap locals:
StackMap stack:
iinc 4 2
StackMap locals:
StackMap stack:
10: iload 4
iload 3
if_icmplt 4
end local 4 end local 3 11: aload 2
monitorexit
12: goto 15
StackMap locals: android.os.UEventObserver$UEventThread java.lang.String java.util.ArrayList
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield android.os.UEventObserver$UEventThread.mTempObserversToSignal:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 25
16: new android.os.UEventObserver$UEvent
dup
aload 1
invokespecial android.os.UEventObserver$UEvent.<init>:(Ljava/lang/String;)V
astore 2
start local 2 17: aload 0
getfield android.os.UEventObserver$UEventThread.mTempObserversToSignal:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 18: iconst_0
istore 4
start local 4 19: goto 23
20: StackMap locals: android.os.UEventObserver$UEvent int int
StackMap stack:
aload 0
getfield android.os.UEventObserver$UEventThread.mTempObserversToSignal:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.os.UEventObserver
astore 5
start local 5 21: aload 5
aload 2
invokevirtual android.os.UEventObserver.onUEvent:(Landroid/os/UEventObserver$UEvent;)V
end local 5 22: iinc 4 1
StackMap locals:
StackMap stack:
23: iload 4
iload 3
if_icmplt 20
end local 4 24: aload 0
getfield android.os.UEventObserver$UEventThread.mTempObserversToSignal:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
end local 3 end local 2 25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Landroid/os/UEventObserver$UEventThread;
0 26 1 message Ljava/lang/String;
2 11 3 N I
3 11 4 i I
5 9 5 key Ljava/lang/String;
8 9 6 observer Landroid/os/UEventObserver;
17 25 2 event Landroid/os/UEventObserver$UEvent;
18 25 3 N I
19 24 4 i I
21 22 5 observer Landroid/os/UEventObserver;
Exception table:
from to target type
1 12 13 any
13 14 13 any
MethodParameters:
Name Flags
message
public void addObserver(java.lang.String, android.os.UEventObserver);
descriptor: (Ljava/lang/String;Landroid/os/UEventObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
dup
astore 3
monitorenter
1: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 1
invokestatic android.os.UEventObserver.nativeAddMatch:(Ljava/lang/String;)V
4: aload 3
monitorexit
5: goto 8
StackMap locals: android.os.UEventObserver$UEventThread java.lang.String android.os.UEventObserver java.util.ArrayList
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/UEventObserver$UEventThread;
0 9 1 match Ljava/lang/String;
0 9 2 observer Landroid/os/UEventObserver;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
match
observer
public void removeObserver(android.os.UEventObserver);
descriptor: (Landroid/os/UEventObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
dup
astore 2
monitorenter
1: iconst_0
istore 3
start local 3 2: goto 9
3: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
iload 3
iconst_1
iadd
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
aload 1
if_acmpne 8
4: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
iload 3
iconst_1
iadd
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
5: aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 4
invokestatic android.os.UEventObserver.nativeRemoveMatch:(Ljava/lang/String;)V
end local 4 7: goto 9
8: StackMap locals:
StackMap stack:
iinc 3 2
9: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield android.os.UEventObserver$UEventThread.mKeysAndObservers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 3
end local 3 10: aload 2
monitorexit
11: goto 14
StackMap locals: android.os.UEventObserver$UEventThread android.os.UEventObserver java.util.ArrayList
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/os/UEventObserver$UEventThread;
0 15 1 observer Landroid/os/UEventObserver;
2 10 3 i I
6 7 4 match Ljava/lang/String;
Exception table:
from to target type
1 11 12 any
12 13 12 any
MethodParameters:
Name Flags
observer
}
SourceFile: "UEventObserver.java"
NestHost: android.os.UEventObserver
InnerClasses:
public final UEvent = android.os.UEventObserver$UEvent of android.os.UEventObserver
private final UEventThread = android.os.UEventObserver$UEventThread of android.os.UEventObserver