abstract class com.android.server.ResettableTimeout
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.android.server.ResettableTimeout
super_class: java.lang.Object
{
private android.os.ConditionVariable mLock;
descriptor: Landroid/os/ConditionVariable;
flags: (0x0002) ACC_PRIVATE
private volatile long mOffAt;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean mOffCalled;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.lang.Thread mThread;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.os.ConditionVariable
dup
invokespecial android.os.ConditionVariable.<init>:()V
putfield com.android.server.ResettableTimeout.mLock:Landroid/os/ConditionVariable;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/server/ResettableTimeout;
public abstract void on(boolean);
descriptor: (Z)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alreadyOn
public abstract void off();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public void go(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 3
monitorenter
1: aload 0
invokestatic android.os.SystemClock.uptimeMillis:()J
lload 1
ladd
putfield com.android.server.ResettableTimeout.mOffAt:J
2: aload 0
getfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
ifnonnull 10
3: iconst_0
istore 4
start local 4 4: aload 0
getfield com.android.server.ResettableTimeout.mLock:Landroid/os/ConditionVariable;
invokevirtual android.os.ConditionVariable.close:()V
5: aload 0
new com.android.server.ResettableTimeout$T
dup
aload 0
invokespecial com.android.server.ResettableTimeout$T.<init>:(Lcom/android/server/ResettableTimeout;)V
putfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
6: aload 0
getfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.start:()V
7: aload 0
getfield com.android.server.ResettableTimeout.mLock:Landroid/os/ConditionVariable;
invokevirtual android.os.ConditionVariable.block:()V
8: aload 0
iconst_0
putfield com.android.server.ResettableTimeout.mOffCalled:Z
9: goto 12
end local 4 10: StackMap locals: com.android.server.ResettableTimeout
StackMap stack:
iconst_1
istore 4
start local 4 11: aload 0
getfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
12: StackMap locals: int
StackMap stack:
aload 0
iload 4
invokevirtual com.android.server.ResettableTimeout.on:(Z)V
end local 4 13: aload 3
monitorexit
14: goto 17
StackMap locals: com.android.server.ResettableTimeout long com.android.server.ResettableTimeout
StackMap stack: java.lang.Throwable
15: aload 3
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/android/server/ResettableTimeout;
0 18 1 milliseconds J
4 10 4 alreadyOn Z
11 13 4 alreadyOn Z
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
milliseconds
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
lconst_0
putfield com.android.server.ResettableTimeout.mOffAt:J
2: aload 0
getfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
ifnull 5
3: aload 0
getfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
4: aload 0
aconst_null
putfield com.android.server.ResettableTimeout.mThread:Ljava/lang/Thread;
5: StackMap locals: com.android.server.ResettableTimeout
StackMap stack:
aload 0
getfield com.android.server.ResettableTimeout.mOffCalled:Z
ifne 8
6: aload 0
iconst_1
putfield com.android.server.ResettableTimeout.mOffCalled:Z
7: aload 0
invokevirtual com.android.server.ResettableTimeout.off:()V
8: StackMap locals:
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/android/server/ResettableTimeout;
Exception table:
from to target type
1 9 10 any
10 11 10 any
}
SourceFile: "ResettableTimeout.java"
NestMembers:
com.android.server.ResettableTimeout$T
InnerClasses:
private T = com.android.server.ResettableTimeout$T of com.android.server.ResettableTimeout