public final class android.os.MessageQueue
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.os.MessageQueue
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MessageQueue"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final boolean mQuitAllowed;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long mPtr;
descriptor: J
flags: (0x0002) ACC_PRIVATE
android.os.Message mMessages;
descriptor: Landroid/os/Message;
flags: (0x0000)
private final java.util.ArrayList<android.os.MessageQueue$IdleHandler> mIdleHandlers;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/os/MessageQueue$IdleHandler;>;
private android.util.SparseArray<android.os.MessageQueue$FileDescriptorRecord> mFileDescriptorRecords;
descriptor: Landroid/util/SparseArray;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/SparseArray<Landroid/os/MessageQueue$FileDescriptorRecord;>;
private android.os.MessageQueue$IdleHandler[] mPendingIdleHandlers;
descriptor: [Landroid/os/MessageQueue$IdleHandler;
flags: (0x0002) ACC_PRIVATE
private boolean mQuitting;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mBlocked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mNextBarrierToken;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static native long nativeInit();
descriptor: ()J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native void nativeDestroy(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ptr
private native void nativePollOnce(long, int);
descriptor: (JI)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
ptr
timeoutMillis
private static native void nativeWake(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ptr
private static native boolean nativeIsPolling(long);
descriptor: (J)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ptr
private static native void nativeSetFileDescriptorEvents(long, int, int);
descriptor: (JII)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ptr
fd
events
void <init>(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.os.MessageQueue.mIdleHandlers:Ljava/util/ArrayList;
2: aload 0
iload 1
putfield android.os.MessageQueue.mQuitAllowed:Z
3: aload 0
invokestatic android.os.MessageQueue.nativeInit:()J
putfield android.os.MessageQueue.mPtr:J
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/MessageQueue;
0 5 1 quitAllowed Z
MethodParameters:
Name Flags
quitAllowed
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.os.MessageQueue.dispose:()V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
3: aload 0
invokespecial java.lang.Object.finalize:()V
4: aload 1
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokespecial java.lang.Object.finalize:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/os/MessageQueue;
Exception table:
from to target type
0 2 2 any
Exceptions:
throws java.lang.Throwable
private void dispose();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MessageQueue.mPtr:J
lconst_0
lcmp
ifeq 3
1: aload 0
getfield android.os.MessageQueue.mPtr:J
invokestatic android.os.MessageQueue.nativeDestroy:(J)V
2: aload 0
lconst_0
putfield android.os.MessageQueue.mPtr:J
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/os/MessageQueue;
public boolean isIdle();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: invokestatic android.os.SystemClock.uptimeMillis:()J
lstore 2
start local 2 2: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
ifnull 3
lload 2
aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
getfield android.os.Message.when:J
lcmp
iflt 3
iconst_0
goto 4
StackMap locals: android.os.MessageQueue long
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: aload 1
monitorexit
5: ireturn
end local 2 6: StackMap locals: android.os.MessageQueue android.os.MessageQueue
StackMap stack: java.lang.Throwable
aload 1
monitorexit
7: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/os/MessageQueue;
2 6 2 now J
Exception table:
from to target type
1 5 6 any
6 7 6 any
public void addIdleHandler(android.os.MessageQueue$IdleHandler);
descriptor: (Landroid/os/MessageQueue$IdleHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Can't add a null IdleHandler"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield android.os.MessageQueue.mIdleHandlers:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.os.MessageQueue android.os.MessageQueue$IdleHandler android.os.MessageQueue
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/MessageQueue;
0 9 1 handler Landroid/os/MessageQueue$IdleHandler;
Exception table:
from to target type
3 5 6 any
6 7 6 any
MethodParameters:
Name Flags
handler
public void removeIdleHandler(android.os.MessageQueue$IdleHandler);
descriptor: (Landroid/os/MessageQueue$IdleHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.os.MessageQueue.mIdleHandlers:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
2: aload 2
monitorexit
3: goto 6
StackMap locals: android.os.MessageQueue android.os.MessageQueue$IdleHandler android.os.MessageQueue
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/os/MessageQueue;
0 7 1 handler Landroid/os/MessageQueue$IdleHandler;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
handler
public boolean isPolling();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
invokevirtual android.os.MessageQueue.isPollingLocked:()Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: android.os.MessageQueue android.os.MessageQueue
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/MessageQueue;
Exception table:
from to target type
1 2 3 any
3 4 3 any
private boolean isPollingLocked();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MessageQueue.mQuitting:Z
ifne 1
aload 0
getfield android.os.MessageQueue.mPtr:J
invokestatic android.os.MessageQueue.nativeIsPolling:(J)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/os/MessageQueue;
public void addOnFileDescriptorEventListener(java.io.FileDescriptor, int, android.os.MessageQueue$OnFileDescriptorEventListener);
descriptor: (Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "fd must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "listener must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
5: aload 0
aload 1
iload 2
aload 3
invokevirtual android.os.MessageQueue.updateOnFileDescriptorEventListenerLocked:(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
6: aload 4
monitorexit
7: goto 10
StackMap locals: android.os.MessageQueue java.io.FileDescriptor int android.os.MessageQueue$OnFileDescriptorEventListener android.os.MessageQueue
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/os/MessageQueue;
0 11 1 fd Ljava/io/FileDescriptor;
0 11 2 events I
0 11 3 listener Landroid/os/MessageQueue$OnFileDescriptorEventListener;
Exception table:
from to target type
5 7 8 any
8 9 8 any
MethodParameters:
Name Flags
fd
events
listener
public void removeOnFileDescriptorEventListener(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "fd must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
aload 1
iconst_0
aconst_null
invokevirtual android.os.MessageQueue.updateOnFileDescriptorEventListenerLocked:(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.os.MessageQueue java.io.FileDescriptor android.os.MessageQueue
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/MessageQueue;
0 9 1 fd Ljava/io/FileDescriptor;
Exception table:
from to target type
3 5 6 any
6 7 6 any
MethodParameters:
Name Flags
fd
private void updateOnFileDescriptorEventListenerLocked(java.io.FileDescriptor, int, android.os.MessageQueue$OnFileDescriptorEventListener);
descriptor: (Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe method getInt$() is undefined for the type FileDescriptor\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MessageQueue;
MethodParameters:
Name Flags
fd
events
listener
private int dispatchEvents(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 7
monitorenter
1: aload 0
getfield android.os.MessageQueue.mFileDescriptorRecords:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.os.MessageQueue$FileDescriptorRecord
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 7
monitorexit
4: iconst_0
ireturn
5: StackMap locals: android.os.MessageQueue int int android.os.MessageQueue$FileDescriptorRecord top top top android.os.MessageQueue
StackMap stack:
aload 3
getfield android.os.MessageQueue$FileDescriptorRecord.mEvents:I
istore 4
start local 4 6: iload 2
iload 4
iand
istore 2
7: iload 2
ifne 10
8: iload 4
aload 7
monitorexit
9: ireturn
10: StackMap locals: android.os.MessageQueue int int android.os.MessageQueue$FileDescriptorRecord int top top android.os.MessageQueue
StackMap stack:
aload 3
getfield android.os.MessageQueue$FileDescriptorRecord.mListener:Landroid/os/MessageQueue$OnFileDescriptorEventListener;
astore 5
start local 5 11: aload 3
getfield android.os.MessageQueue$FileDescriptorRecord.mSeq:I
istore 6
start local 6 12: aload 7
monitorexit
13: goto 16
end local 6 end local 5 end local 4 end local 3 StackMap locals: android.os.MessageQueue int int top top top top android.os.MessageQueue
StackMap stack: java.lang.Throwable
14: aload 7
monitorexit
15: athrow
start local 3 start local 4 start local 5 start local 6 16: StackMap locals: android.os.MessageQueue int int android.os.MessageQueue$FileDescriptorRecord int android.os.MessageQueue$OnFileDescriptorEventListener int
StackMap stack:
aload 5
17: aload 3
getfield android.os.MessageQueue$FileDescriptorRecord.mDescriptor:Ljava/io/FileDescriptor;
iload 2
18: invokeinterface android.os.MessageQueue$OnFileDescriptorEventListener.onFileDescriptorEvents:(Ljava/io/FileDescriptor;I)I
istore 7
start local 7 19: iload 7
ifeq 21
20: iload 7
iconst_4
ior
istore 7
21: StackMap locals: int
StackMap stack:
iload 7
iload 4
if_icmpeq 33
22: aload 0
dup
astore 8
monitorenter
23: aload 0
getfield android.os.MessageQueue.mFileDescriptorRecords:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.indexOfKey:(I)I
istore 9
start local 9 24: iload 9
iflt 29
aload 0
getfield android.os.MessageQueue.mFileDescriptorRecords:Landroid/util/SparseArray;
iload 9
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
aload 3
if_acmpne 29
25: aload 3
getfield android.os.MessageQueue$FileDescriptorRecord.mSeq:I
iload 6
if_icmpne 29
26: aload 3
iload 7
putfield android.os.MessageQueue$FileDescriptorRecord.mEvents:I
27: iload 7
ifne 29
28: aload 0
getfield android.os.MessageQueue.mFileDescriptorRecords:Landroid/util/SparseArray;
iload 9
invokevirtual android.util.SparseArray.removeAt:(I)V
end local 9 29: StackMap locals: android.os.MessageQueue
StackMap stack:
aload 8
monitorexit
30: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
31: aload 8
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 7 end local 6 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 34 0 this Landroid/os/MessageQueue;
0 34 1 fd I
0 34 2 events I
2 14 3 record Landroid/os/MessageQueue$FileDescriptorRecord;
16 34 3 record Landroid/os/MessageQueue$FileDescriptorRecord;
6 14 4 oldWatchedEvents I
16 34 4 oldWatchedEvents I
11 14 5 listener Landroid/os/MessageQueue$OnFileDescriptorEventListener;
16 34 5 listener Landroid/os/MessageQueue$OnFileDescriptorEventListener;
12 14 6 seq I
16 34 6 seq I
19 34 7 newWatchedEvents I
24 29 9 index I
Exception table:
from to target type
1 4 14 any
5 9 14 any
10 13 14 any
14 15 14 any
23 30 31 any
31 32 31 any
MethodParameters:
Name Flags
fd
events
android.os.Message next();
descriptor: ()Landroid/os/Message;
flags: (0x0000)
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
getfield android.os.MessageQueue.mPtr:J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifne 3
2: aconst_null
areturn
3: StackMap locals: long
StackMap stack:
iconst_m1
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: StackMap locals: int int
StackMap stack:
iload 4
ifeq 7
6: invokestatic android.os.Binder.flushPendingCommands:()V
7: StackMap locals:
StackMap stack:
aload 0
lload 1
iload 4
invokevirtual android.os.MessageQueue.nativePollOnce:(JI)V
8: aload 0
dup
astore 5
monitorenter
9: invokestatic android.os.SystemClock.uptimeMillis:()J
lstore 6
start local 6 10: aconst_null
astore 8
start local 8 11: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 9
start local 9 12: aload 9
ifnull 16
aload 9
getfield android.os.Message.target:Landroid/os/Handler;
ifnonnull 16
13: StackMap locals: android.os.MessageQueue long int int android.os.MessageQueue long android.os.Message android.os.Message
StackMap stack:
aload 9
astore 8
14: aload 9
getfield android.os.Message.next:Landroid/os/Message;
astore 9
15: aload 9
ifnull 16
aload 9
invokevirtual android.os.Message.isAsynchronous:()Z
ifeq 13
16: StackMap locals:
StackMap stack:
aload 9
ifnull 29
17: lload 6
aload 9
getfield android.os.Message.when:J
lcmp
ifge 20
18: aload 9
getfield android.os.Message.when:J
lload 6
lsub
ldc 2147483647
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 4
19: goto 30
20: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.os.MessageQueue.mBlocked:Z
21: aload 8
ifnull 24
22: aload 8
aload 9
getfield android.os.Message.next:Landroid/os/Message;
putfield android.os.Message.next:Landroid/os/Message;
23: goto 25
24: StackMap locals:
StackMap stack:
aload 0
aload 9
getfield android.os.Message.next:Landroid/os/Message;
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
25: StackMap locals:
StackMap stack:
aload 9
aconst_null
putfield android.os.Message.next:Landroid/os/Message;
26: aload 9
invokevirtual android.os.Message.markInUse:()V
27: aload 9
aload 5
monitorexit
28: areturn
29: StackMap locals:
StackMap stack:
iconst_m1
istore 4
30: StackMap locals:
StackMap stack:
aload 0
getfield android.os.MessageQueue.mQuitting:Z
ifeq 34
31: aload 0
invokevirtual android.os.MessageQueue.dispose:()V
32: aload 5
monitorexit
33: aconst_null
areturn
34: StackMap locals:
StackMap stack:
iload 3
ifge 37
35: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
ifnull 36
lload 6
aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
getfield android.os.Message.when:J
lcmp
ifge 37
36: StackMap locals:
StackMap stack:
aload 0
getfield android.os.MessageQueue.mIdleHandlers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
37: StackMap locals:
StackMap stack:
iload 3
ifgt 41
38: aload 0
iconst_1
putfield android.os.MessageQueue.mBlocked:Z
39: aload 5
monitorexit
40: goto 5
41: StackMap locals:
StackMap stack:
aload 0
getfield android.os.MessageQueue.mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
ifnonnull 43
42: aload 0
iload 3
iconst_4
invokestatic java.lang.Math.max:(II)I
anewarray android.os.MessageQueue$IdleHandler
putfield android.os.MessageQueue.mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
43: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.os.MessageQueue.mIdleHandlers:Ljava/util/ArrayList;
aload 0
getfield android.os.MessageQueue.mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast android.os.MessageQueue$IdleHandler[]
putfield android.os.MessageQueue.mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
end local 9 end local 8 end local 6 44: aload 5
monitorexit
45: goto 48
StackMap locals: android.os.MessageQueue long int int android.os.MessageQueue
StackMap stack: java.lang.Throwable
46: aload 5
monitorexit
47: athrow
48: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 49: goto 65
50: StackMap locals: int
StackMap stack:
aload 0
getfield android.os.MessageQueue.mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
iload 5
aaload
astore 6
start local 6 51: aload 0
getfield android.os.MessageQueue.mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
iload 5
aconst_null
aastore
52: iconst_0
istore 7
start local 7 53: aload 6
invokeinterface android.os.MessageQueue$IdleHandler.queueIdle:()Z
istore 7
54: goto 57
StackMap locals: android.os.MessageQueue long int int int android.os.MessageQueue$IdleHandler int
StackMap stack: java.lang.Throwable
55: astore 8
start local 8 56: ldc "MessageQueue"
ldc "IdleHandler threw exception"
aload 8
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 8 57: StackMap locals:
StackMap stack:
iload 7
ifne 64
58: aload 0
dup
astore 8
monitorenter
59: aload 0
getfield android.os.MessageQueue.mIdleHandlers:Ljava/util/ArrayList;
aload 6
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
60: aload 8
monitorexit
61: goto 64
StackMap locals: android.os.MessageQueue long int int int android.os.MessageQueue$IdleHandler int android.os.MessageQueue
StackMap stack: java.lang.Throwable
62: aload 8
monitorexit
63: athrow
end local 7 end local 6 64: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
65: iload 5
iload 3
if_icmplt 50
end local 5 66: iconst_0
istore 3
67: iconst_0
istore 4
68: goto 5
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Landroid/os/MessageQueue;
1 69 1 ptr J
4 69 3 pendingIdleHandlerCount I
5 69 4 nextPollTimeoutMillis I
10 44 6 now J
11 44 8 prevMsg Landroid/os/Message;
12 44 9 msg Landroid/os/Message;
49 66 5 i I
51 64 6 idler Landroid/os/MessageQueue$IdleHandler;
53 64 7 keep Z
56 57 8 t Ljava/lang/Throwable;
Exception table:
from to target type
9 28 46 any
29 33 46 any
34 40 46 any
41 45 46 any
46 47 46 any
53 54 55 Class java.lang.Throwable
59 61 62 any
62 63 62 any
void quit(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.MessageQueue.mQuitAllowed:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Main thread not allowed to quit."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield android.os.MessageQueue.mQuitting:Z
ifeq 6
4: aload 2
monitorexit
5: return
6: StackMap locals: android.os.MessageQueue
StackMap stack:
aload 0
iconst_1
putfield android.os.MessageQueue.mQuitting:Z
7: iload 1
ifeq 10
8: aload 0
invokevirtual android.os.MessageQueue.removeAllFutureMessagesLocked:()V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.os.MessageQueue.removeAllMessagesLocked:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield android.os.MessageQueue.mPtr:J
invokestatic android.os.MessageQueue.nativeWake:(J)V
12: aload 2
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/os/MessageQueue;
0 17 1 safe Z
Exception table:
from to target type
3 5 14 any
6 13 14 any
14 15 14 any
MethodParameters:
Name Flags
safe
public int postSyncBarrier();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.os.SystemClock.uptimeMillis:()J
invokevirtual android.os.MessageQueue.postSyncBarrier:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MessageQueue;
private int postSyncBarrier(long);
descriptor: (J)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 3
monitorenter
1: aload 0
dup
getfield android.os.MessageQueue.mNextBarrierToken:I
dup_x1
iconst_1
iadd
putfield android.os.MessageQueue.mNextBarrierToken:I
istore 4
start local 4 2: invokestatic android.os.Message.obtain:()Landroid/os/Message;
astore 5
start local 5 3: aload 5
invokevirtual android.os.Message.markInUse:()V
4: aload 5
lload 1
putfield android.os.Message.when:J
5: aload 5
iload 4
putfield android.os.Message.arg1:I
6: aconst_null
astore 6
start local 6 7: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 7
start local 7 8: lload 1
lconst_0
lcmp
ifeq 13
9: goto 12
10: StackMap locals: android.os.MessageQueue long android.os.MessageQueue int android.os.Message android.os.Message android.os.Message
StackMap stack:
aload 7
astore 6
11: aload 7
getfield android.os.Message.next:Landroid/os/Message;
astore 7
12: StackMap locals:
StackMap stack:
aload 7
ifnull 13
aload 7
getfield android.os.Message.when:J
lload 1
lcmp
ifle 10
13: StackMap locals:
StackMap stack:
aload 6
ifnull 17
14: aload 5
aload 7
putfield android.os.Message.next:Landroid/os/Message;
15: aload 6
aload 5
putfield android.os.Message.next:Landroid/os/Message;
16: goto 19
17: StackMap locals:
StackMap stack:
aload 5
aload 7
putfield android.os.Message.next:Landroid/os/Message;
18: aload 0
aload 5
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
19: StackMap locals:
StackMap stack:
iload 4
aload 3
monitorexit
20: ireturn
end local 7 end local 6 end local 5 end local 4 21: StackMap locals: android.os.MessageQueue long android.os.MessageQueue
StackMap stack: java.lang.Throwable
aload 3
monitorexit
22: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/os/MessageQueue;
0 23 1 when J
2 21 4 token I
3 21 5 msg Landroid/os/Message;
7 21 6 prev Landroid/os/Message;
8 21 7 p Landroid/os/Message;
Exception table:
from to target type
1 20 21 any
21 22 21 any
MethodParameters:
Name Flags
when
public void removeSyncBarrier(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aconst_null
astore 3
start local 3 2: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 4
start local 4 3: goto 6
4: StackMap locals: android.os.MessageQueue android.os.Message android.os.Message
StackMap stack:
aload 4
astore 3
5: aload 4
getfield android.os.Message.next:Landroid/os/Message;
astore 4
6: StackMap locals:
StackMap stack:
aload 4
ifnull 7
aload 4
getfield android.os.Message.target:Landroid/os/Handler;
ifnonnull 4
aload 4
getfield android.os.Message.arg1:I
iload 1
if_icmpne 4
7: StackMap locals:
StackMap stack:
aload 4
ifnonnull 9
8: new java.lang.IllegalStateException
dup
ldc "The specified message queue synchronization barrier token has not been posted or has already been removed."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 3
ifnull 13
10: aload 3
aload 4
getfield android.os.Message.next:Landroid/os/Message;
putfield android.os.Message.next:Landroid/os/Message;
11: iconst_0
istore 5
start local 5 12: goto 17
end local 5 13: StackMap locals:
StackMap stack:
aload 0
aload 4
getfield android.os.Message.next:Landroid/os/Message;
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
14: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
ifnull 15
aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
getfield android.os.Message.target:Landroid/os/Handler;
ifnonnull 15
iconst_0
goto 16
StackMap locals:
StackMap stack:
15: iconst_1
StackMap locals:
StackMap stack: int
16: istore 5
start local 5 17: StackMap locals: int
StackMap stack:
aload 4
invokevirtual android.os.Message.recycleUnchecked:()V
18: iload 5
ifeq 20
aload 0
getfield android.os.MessageQueue.mQuitting:Z
ifne 20
19: aload 0
getfield android.os.MessageQueue.mPtr:J
invokestatic android.os.MessageQueue.nativeWake:(J)V
end local 5 end local 4 end local 3 20: StackMap locals:
StackMap stack:
aload 2
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 2
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/os/MessageQueue;
0 25 1 token I
2 20 3 prev Landroid/os/Message;
3 20 4 p Landroid/os/Message;
12 13 5 needWake Z
17 20 5 needWake Z
Exception table:
from to target type
1 21 22 any
22 23 22 any
MethodParameters:
Name Flags
token
boolean enqueueMessage(android.os.Message, long);
descriptor: (Landroid/os/Message;J)Z
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield android.os.Message.target:Landroid/os/Handler;
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Message must have a target."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.os.Message.isInUse:()Z
ifeq 4
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " This message is already in use."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
5: aload 0
getfield android.os.MessageQueue.mQuitting:Z
ifeq 13
6: new java.lang.IllegalStateException
dup
7: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
getfield android.os.Message.target:Landroid/os/Handler;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " sending message to a Handler on a dead thread"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
astore 5
start local 5 9: ldc "MessageQueue"
aload 5
invokevirtual java.lang.IllegalStateException.getMessage:()Ljava/lang/String;
aload 5
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
10: aload 1
invokevirtual android.os.Message.recycle:()V
11: aload 4
monitorexit
12: iconst_0
ireturn
end local 5 13: StackMap locals: android.os.MessageQueue
StackMap stack:
aload 1
invokevirtual android.os.Message.markInUse:()V
14: aload 1
lload 2
putfield android.os.Message.when:J
15: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 5
start local 5 16: aload 5
ifnull 17
lload 2
lconst_0
lcmp
ifeq 17
lload 2
aload 5
getfield android.os.Message.when:J
lcmp
ifge 21
17: StackMap locals: android.os.Message
StackMap stack:
aload 1
aload 5
putfield android.os.Message.next:Landroid/os/Message;
18: aload 0
aload 1
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
19: aload 0
getfield android.os.MessageQueue.mBlocked:Z
istore 6
start local 6 20: goto 33
end local 6 21: StackMap locals:
StackMap stack:
aload 0
getfield android.os.MessageQueue.mBlocked:Z
ifeq 22
aload 5
getfield android.os.Message.target:Landroid/os/Handler;
ifnonnull 22
aload 1
invokevirtual android.os.Message.isAsynchronous:()Z
ifeq 22
iconst_1
goto 23
StackMap locals:
StackMap stack:
22: iconst_0
StackMap locals:
StackMap stack: int
23: istore 6
start local 6 24: StackMap locals: int
StackMap stack:
aload 5
astore 7
start local 7 25: aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 5
26: aload 5
ifnull 31
lload 2
aload 5
getfield android.os.Message.when:J
lcmp
ifge 28
27: goto 31
28: StackMap locals: android.os.Message
StackMap stack:
iload 6
ifeq 24
aload 5
invokevirtual android.os.Message.isAsynchronous:()Z
ifeq 24
29: iconst_0
istore 6
end local 7 30: goto 24
start local 7 31: StackMap locals:
StackMap stack:
aload 1
aload 5
putfield android.os.Message.next:Landroid/os/Message;
32: aload 7
aload 1
putfield android.os.Message.next:Landroid/os/Message;
end local 7 33: StackMap locals:
StackMap stack:
iload 6
ifeq 35
34: aload 0
getfield android.os.MessageQueue.mPtr:J
invokestatic android.os.MessageQueue.nativeWake:(J)V
end local 6 end local 5 35: StackMap locals:
StackMap stack:
aload 4
monitorexit
36: goto 39
StackMap locals:
StackMap stack: java.lang.Throwable
37: aload 4
monitorexit
38: athrow
39: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Landroid/os/MessageQueue;
0 40 1 msg Landroid/os/Message;
0 40 2 when J
9 13 5 e Ljava/lang/IllegalStateException;
16 35 5 p Landroid/os/Message;
20 21 6 needWake Z
24 35 6 needWake Z
25 30 7 prev Landroid/os/Message;
31 33 7 prev Landroid/os/Message;
Exception table:
from to target type
5 12 37 any
13 36 37 any
37 38 37 any
MethodParameters:
Name Flags
msg
when
boolean hasMessages(android.os.Handler, int, java.lang.Object);
descriptor: (Landroid/os/Handler;ILjava/lang/Object;)Z
flags: (0x0000)
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 5
start local 5 4: goto 9
5: StackMap locals: android.os.MessageQueue android.os.Message
StackMap stack:
aload 5
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 8
aload 5
getfield android.os.Message.what:I
iload 2
if_icmpne 8
aload 3
ifnull 6
aload 5
getfield android.os.Message.obj:Ljava/lang/Object;
aload 3
if_acmpne 8
6: StackMap locals:
StackMap stack:
aload 4
monitorexit
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 5
9: StackMap locals:
StackMap stack:
aload 5
ifnonnull 5
10: aload 4
monitorexit
11: iconst_0
ireturn
end local 5 12: StackMap locals: android.os.MessageQueue android.os.Handler int java.lang.Object android.os.MessageQueue
StackMap stack: java.lang.Throwable
aload 4
monitorexit
13: athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/os/MessageQueue;
0 14 1 h Landroid/os/Handler;
0 14 2 what I
0 14 3 object Ljava/lang/Object;
4 12 5 p Landroid/os/Message;
Exception table:
from to target type
3 7 12 any
8 11 12 any
12 13 12 any
MethodParameters:
Name Flags
h
what
object
boolean hasMessages(android.os.Handler, java.lang.Runnable, java.lang.Object);
descriptor: (Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z
flags: (0x0000)
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 5
start local 5 4: goto 9
5: StackMap locals: android.os.MessageQueue android.os.Message
StackMap stack:
aload 5
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 8
aload 5
getfield android.os.Message.callback:Ljava/lang/Runnable;
aload 2
if_acmpne 8
aload 3
ifnull 6
aload 5
getfield android.os.Message.obj:Ljava/lang/Object;
aload 3
if_acmpne 8
6: StackMap locals:
StackMap stack:
aload 4
monitorexit
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 5
9: StackMap locals:
StackMap stack:
aload 5
ifnonnull 5
10: aload 4
monitorexit
11: iconst_0
ireturn
end local 5 12: StackMap locals: android.os.MessageQueue android.os.Handler java.lang.Runnable java.lang.Object android.os.MessageQueue
StackMap stack: java.lang.Throwable
aload 4
monitorexit
13: athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/os/MessageQueue;
0 14 1 h Landroid/os/Handler;
0 14 2 r Ljava/lang/Runnable;
0 14 3 object Ljava/lang/Object;
4 12 5 p Landroid/os/Message;
Exception table:
from to target type
3 7 12 any
8 11 12 any
12 13 12 any
MethodParameters:
Name Flags
h
r
object
boolean hasMessages(android.os.Handler);
descriptor: (Landroid/os/Handler;)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 3
start local 3 4: goto 9
5: StackMap locals: android.os.MessageQueue android.os.Message
StackMap stack:
aload 3
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 8
6: aload 2
monitorexit
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 3
getfield android.os.Message.next:Landroid/os/Message;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
10: aload 2
monitorexit
11: iconst_0
ireturn
end local 3 12: StackMap locals: android.os.MessageQueue android.os.Handler android.os.MessageQueue
StackMap stack: java.lang.Throwable
aload 2
monitorexit
13: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/os/MessageQueue;
0 14 1 h Landroid/os/Handler;
4 12 3 p Landroid/os/Message;
Exception table:
from to target type
3 7 12 any
8 11 12 any
12 13 12 any
MethodParameters:
Name Flags
h
void removeMessages(android.os.Handler, int, java.lang.Object);
descriptor: (Landroid/os/Handler;ILjava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 5
start local 5 4: goto 9
5: StackMap locals: android.os.MessageQueue android.os.Message
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 6
start local 6 6: aload 0
aload 6
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
7: aload 5
invokevirtual android.os.Message.recycleUnchecked:()V
8: aload 6
astore 5
end local 6 9: StackMap locals:
StackMap stack:
aload 5
ifnull 21
aload 5
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 21
aload 5
getfield android.os.Message.what:I
iload 2
if_icmpne 21
10: aload 3
ifnull 5
aload 5
getfield android.os.Message.obj:Ljava/lang/Object;
aload 3
if_acmpeq 5
11: goto 21
12: StackMap locals:
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 6
start local 6 13: aload 6
ifnull 20
14: aload 6
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 20
aload 6
getfield android.os.Message.what:I
iload 2
if_icmpne 20
15: aload 3
ifnull 16
aload 6
getfield android.os.Message.obj:Ljava/lang/Object;
aload 3
if_acmpne 20
16: StackMap locals: android.os.Message
StackMap stack:
aload 6
getfield android.os.Message.next:Landroid/os/Message;
astore 7
start local 7 17: aload 6
invokevirtual android.os.Message.recycleUnchecked:()V
18: aload 5
aload 7
putfield android.os.Message.next:Landroid/os/Message;
19: goto 21
end local 7 20: StackMap locals:
StackMap stack:
aload 6
astore 5
end local 6 21: StackMap locals:
StackMap stack:
aload 5
ifnonnull 12
end local 5 22: aload 4
monitorexit
23: goto 26
StackMap locals: android.os.MessageQueue android.os.Handler int java.lang.Object android.os.MessageQueue
StackMap stack: java.lang.Throwable
24: aload 4
monitorexit
25: athrow
26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Landroid/os/MessageQueue;
0 27 1 h Landroid/os/Handler;
0 27 2 what I
0 27 3 object Ljava/lang/Object;
4 22 5 p Landroid/os/Message;
6 9 6 n Landroid/os/Message;
13 21 6 n Landroid/os/Message;
17 20 7 nn Landroid/os/Message;
Exception table:
from to target type
3 23 24 any
24 25 24 any
MethodParameters:
Name Flags
h
what
object
void removeMessages(android.os.Handler, java.lang.Runnable, java.lang.Object);
descriptor: (Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 5
start local 5 4: goto 9
5: StackMap locals: android.os.MessageQueue android.os.Message
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 6
start local 6 6: aload 0
aload 6
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
7: aload 5
invokevirtual android.os.Message.recycleUnchecked:()V
8: aload 6
astore 5
end local 6 9: StackMap locals:
StackMap stack:
aload 5
ifnull 21
aload 5
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 21
aload 5
getfield android.os.Message.callback:Ljava/lang/Runnable;
aload 2
if_acmpne 21
10: aload 3
ifnull 5
aload 5
getfield android.os.Message.obj:Ljava/lang/Object;
aload 3
if_acmpeq 5
11: goto 21
12: StackMap locals:
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 6
start local 6 13: aload 6
ifnull 20
14: aload 6
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 20
aload 6
getfield android.os.Message.callback:Ljava/lang/Runnable;
aload 2
if_acmpne 20
15: aload 3
ifnull 16
aload 6
getfield android.os.Message.obj:Ljava/lang/Object;
aload 3
if_acmpne 20
16: StackMap locals: android.os.Message
StackMap stack:
aload 6
getfield android.os.Message.next:Landroid/os/Message;
astore 7
start local 7 17: aload 6
invokevirtual android.os.Message.recycleUnchecked:()V
18: aload 5
aload 7
putfield android.os.Message.next:Landroid/os/Message;
19: goto 21
end local 7 20: StackMap locals:
StackMap stack:
aload 6
astore 5
end local 6 21: StackMap locals:
StackMap stack:
aload 5
ifnonnull 12
end local 5 22: aload 4
monitorexit
23: goto 26
StackMap locals: android.os.MessageQueue android.os.Handler java.lang.Runnable java.lang.Object android.os.MessageQueue
StackMap stack: java.lang.Throwable
24: aload 4
monitorexit
25: athrow
26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Landroid/os/MessageQueue;
0 27 1 h Landroid/os/Handler;
0 27 2 r Ljava/lang/Runnable;
0 27 3 object Ljava/lang/Object;
4 22 5 p Landroid/os/Message;
6 9 6 n Landroid/os/Message;
13 21 6 n Landroid/os/Message;
17 20 7 nn Landroid/os/Message;
Exception table:
from to target type
3 23 24 any
24 25 24 any
MethodParameters:
Name Flags
h
r
object
void removeCallbacksAndMessages(android.os.Handler, java.lang.Object);
descriptor: (Landroid/os/Handler;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 4
start local 4 4: goto 9
5: StackMap locals: android.os.MessageQueue android.os.Message
StackMap stack:
aload 4
getfield android.os.Message.next:Landroid/os/Message;
astore 5
start local 5 6: aload 0
aload 5
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
7: aload 4
invokevirtual android.os.Message.recycleUnchecked:()V
8: aload 5
astore 4
end local 5 9: StackMap locals:
StackMap stack:
aload 4
ifnull 20
aload 4
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 20
10: aload 2
ifnull 5
aload 4
getfield android.os.Message.obj:Ljava/lang/Object;
aload 2
if_acmpeq 5
11: goto 20
12: StackMap locals:
StackMap stack:
aload 4
getfield android.os.Message.next:Landroid/os/Message;
astore 5
start local 5 13: aload 5
ifnull 19
14: aload 5
getfield android.os.Message.target:Landroid/os/Handler;
aload 1
if_acmpne 19
aload 2
ifnull 15
aload 5
getfield android.os.Message.obj:Ljava/lang/Object;
aload 2
if_acmpne 19
15: StackMap locals: android.os.Message
StackMap stack:
aload 5
getfield android.os.Message.next:Landroid/os/Message;
astore 6
start local 6 16: aload 5
invokevirtual android.os.Message.recycleUnchecked:()V
17: aload 4
aload 6
putfield android.os.Message.next:Landroid/os/Message;
18: goto 20
end local 6 19: StackMap locals:
StackMap stack:
aload 5
astore 4
end local 5 20: StackMap locals:
StackMap stack:
aload 4
ifnonnull 12
end local 4 21: aload 3
monitorexit
22: goto 25
StackMap locals: android.os.MessageQueue android.os.Handler java.lang.Object android.os.MessageQueue
StackMap stack: java.lang.Throwable
23: aload 3
monitorexit
24: athrow
25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Landroid/os/MessageQueue;
0 26 1 h Landroid/os/Handler;
0 26 2 object Ljava/lang/Object;
4 21 4 p Landroid/os/Message;
6 9 5 n Landroid/os/Message;
13 20 5 n Landroid/os/Message;
16 19 6 nn Landroid/os/Message;
Exception table:
from to target type
3 22 23 any
23 24 23 any
MethodParameters:
Name Flags
h
object
private void removeAllMessagesLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 1
start local 1 1: goto 5
2: StackMap locals: android.os.Message
StackMap stack:
aload 1
getfield android.os.Message.next:Landroid/os/Message;
astore 2
start local 2 3: aload 1
invokevirtual android.os.Message.recycleUnchecked:()V
4: aload 2
astore 1
end local 2 5: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
6: aload 0
aconst_null
putfield android.os.MessageQueue.mMessages:Landroid/os/Message;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/os/MessageQueue;
1 8 1 p Landroid/os/Message;
3 5 2 n Landroid/os/Message;
private void removeAllFutureMessagesLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic android.os.SystemClock.uptimeMillis:()J
lstore 1
start local 1 1: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 3
start local 3 2: aload 3
ifnull 18
3: aload 3
getfield android.os.Message.when:J
lload 1
lcmp
ifle 6
4: aload 0
invokevirtual android.os.MessageQueue.removeAllMessagesLocked:()V
5: goto 18
6: StackMap locals: long android.os.Message
StackMap stack:
aload 3
getfield android.os.Message.next:Landroid/os/Message;
astore 4
start local 4 7: aload 4
ifnonnull 9
8: return
9: StackMap locals: android.os.Message
StackMap stack:
aload 4
getfield android.os.Message.when:J
lload 1
lcmp
ifle 11
10: goto 13
11: StackMap locals:
StackMap stack:
aload 4
astore 3
end local 4 12: goto 6
start local 4 13: StackMap locals:
StackMap stack:
aload 3
aconst_null
putfield android.os.Message.next:Landroid/os/Message;
14: StackMap locals:
StackMap stack:
aload 4
astore 3
15: aload 3
getfield android.os.Message.next:Landroid/os/Message;
astore 4
16: aload 3
invokevirtual android.os.Message.recycleUnchecked:()V
17: aload 4
ifnonnull 14
end local 4 18: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/os/MessageQueue;
1 19 1 now J
2 19 3 p Landroid/os/Message;
7 12 4 n Landroid/os/Message;
13 18 4 n Landroid/os/Message;
void dump(android.util.Printer, java.lang.String, android.os.Handler);
descriptor: (Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
dup
astore 4
monitorenter
1: invokestatic android.os.SystemClock.uptimeMillis:()J
lstore 5
start local 5 2: iconst_0
istore 7
start local 7 3: aload 0
getfield android.os.MessageQueue.mMessages:Landroid/os/Message;
astore 8
start local 8 4: goto 9
5: StackMap locals: android.os.MessageQueue android.util.Printer java.lang.String android.os.Handler android.os.MessageQueue long int android.os.Message
StackMap stack:
aload 3
ifnull 6
aload 3
aload 8
getfield android.os.Message.target:Landroid/os/Handler;
if_acmpne 7
6: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Message "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
lload 5
invokevirtual android.os.Message.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
iinc 7 1
8: aload 8
getfield android.os.Message.next:Landroid/os/Message;
astore 8
StackMap locals:
StackMap stack:
9: aload 8
ifnonnull 5
end local 8 10: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(Total messages: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", polling="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual android.os.MessageQueue.isPollingLocked:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
11: ldc ", quitting="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.os.MessageQueue.mQuitting:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
end local 7 end local 5 13: aload 4
monitorexit
14: goto 17
StackMap locals: android.os.MessageQueue android.util.Printer java.lang.String android.os.Handler android.os.MessageQueue
StackMap stack: java.lang.Throwable
15: aload 4
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/os/MessageQueue;
0 18 1 pw Landroid/util/Printer;
0 18 2 prefix Ljava/lang/String;
0 18 3 h Landroid/os/Handler;
2 13 5 now J
3 13 7 n I
4 10 8 msg Landroid/os/Message;
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
pw
prefix
h
void writeToProto(android.util.proto.ProtoOutputStream, long);
descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tMessageQueueProto cannot be resolved to a variable\n\tMessageQueueProto cannot be resolved to a variable\n\tMessageQueueProto cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MessageQueue;
MethodParameters:
Name Flags
proto
fieldId
}
SourceFile: "MessageQueue.java"
NestMembers:
android.os.MessageQueue$FileDescriptorRecord android.os.MessageQueue$IdleHandler android.os.MessageQueue$OnFileDescriptorEventListener android.os.MessageQueue$OnFileDescriptorEventListener$Events
InnerClasses:
private final FileDescriptorRecord = android.os.MessageQueue$FileDescriptorRecord of android.os.MessageQueue
public abstract IdleHandler = android.os.MessageQueue$IdleHandler of android.os.MessageQueue
public abstract OnFileDescriptorEventListener = android.os.MessageQueue$OnFileDescriptorEventListener of android.os.MessageQueue