class android.app.job.JobServiceEngine$JobHandler extends android.os.Handler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.app.job.JobServiceEngine$JobHandler
super_class: android.os.Handler
{
final android.app.job.JobServiceEngine this$0;
descriptor: Landroid/app/job/JobServiceEngine;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.app.job.JobServiceEngine, android.os.Looper);
descriptor: (Landroid/app/job/JobServiceEngine;Landroid/os/Looper;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield android.app.job.JobServiceEngine$JobHandler.this$0:Landroid/app/job/JobServiceEngine;
1: aload 0
aload 2
invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/job/JobServiceEngine$JobHandler;
0 3 2 looper Landroid/os/Looper;
MethodParameters:
Name Flags
this$0 final
looper
public void handleMessage(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.app.job.JobParameters
astore 2
start local 2 1: aload 1
getfield android.os.Message.what:I
tableswitch { // 0 - 2
0: 2
1: 8
2: 14
default: 26
}
2: StackMap locals: android.app.job.JobParameters
StackMap stack:
aload 0
getfield android.app.job.JobServiceEngine$JobHandler.this$0:Landroid/app/job/JobServiceEngine;
aload 2
invokevirtual android.app.job.JobServiceEngine.onStartJob:(Landroid/app/job/JobParameters;)Z
istore 3
start local 3 3: aload 0
aload 2
iload 3
invokevirtual android.app.job.JobServiceEngine$JobHandler.ackStartMessage:(Landroid/app/job/JobParameters;Z)V
end local 3 4: goto 27
StackMap locals:
StackMap stack: java.lang.Exception
5: astore 3
start local 3 6: ldc "JobServiceEngine"
new java.lang.StringBuilder
dup
ldc "Error while executing job: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual android.app.job.JobParameters.getJobId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield android.app.job.JobServiceEngine$JobHandler.this$0:Landroid/app/job/JobServiceEngine;
aload 2
invokevirtual android.app.job.JobServiceEngine.onStopJob:(Landroid/app/job/JobParameters;)Z
istore 3
start local 3 9: aload 0
aload 2
iload 3
invokevirtual android.app.job.JobServiceEngine$JobHandler.ackStopMessage:(Landroid/app/job/JobParameters;Z)V
end local 3 10: goto 27
StackMap locals:
StackMap stack: java.lang.Exception
11: astore 3
start local 3 12: ldc "JobServiceEngine"
ldc "Application unable to handle onStopJob."
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
13: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 14: StackMap locals:
StackMap stack:
aload 1
getfield android.os.Message.arg2:I
iconst_1
if_icmpne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 3
start local 3 17: aload 2
invokevirtual android.app.job.JobParameters.getCallback:()Landroid/app/job/IJobCallback;
astore 4
start local 4 18: aload 4
ifnull 24
19: aload 4
aload 2
invokevirtual android.app.job.JobParameters.getJobId:()I
iload 3
invokeinterface android.app.job.IJobCallback.jobFinished:(IZ)V
20: goto 27
StackMap locals: android.app.job.JobServiceEngine$JobHandler android.os.Message android.app.job.JobParameters int android.app.job.IJobCallback
StackMap stack: android.os.RemoteException
21: pop
22: ldc "JobServiceEngine"
ldc "Error reporting job finish to system: binder has goneaway."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
23: goto 27
24: StackMap locals:
StackMap stack:
ldc "JobServiceEngine"
ldc "finishJob() called for a nonexistent job id."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
25: goto 27
end local 4 end local 3 26: StackMap locals:
StackMap stack:
ldc "JobServiceEngine"
ldc "Unrecognised message received."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
27: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Landroid/app/job/JobServiceEngine$JobHandler;
0 28 1 msg Landroid/os/Message;
1 28 2 params Landroid/app/job/JobParameters;
3 4 3 workOngoing Z
6 8 3 e Ljava/lang/Exception;
9 10 3 ret Z
12 14 3 e Ljava/lang/Exception;
17 26 3 needsReschedule Z
18 26 4 callback Landroid/app/job/IJobCallback;
Exception table:
from to target type
2 4 5 Class java.lang.Exception
8 10 11 Class java.lang.Exception
19 20 21 Class android.os.RemoteException
MethodParameters:
Name Flags
msg
private void ackStartMessage(android.app.job.JobParameters, boolean);
descriptor: (Landroid/app/job/JobParameters;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual android.app.job.JobParameters.getCallback:()Landroid/app/job/IJobCallback;
astore 3
start local 3 1: aload 1
invokevirtual android.app.job.JobParameters.getJobId:()I
istore 4
start local 4 2: aload 3
ifnull 8
3: aload 3
iload 4
iload 2
invokeinterface android.app.job.IJobCallback.acknowledgeStartMessage:(IZ)V
4: goto 10
StackMap locals: android.app.job.JobServiceEngine$JobHandler android.app.job.JobParameters int android.app.job.IJobCallback int
StackMap stack: android.os.RemoteException
5: pop
6: ldc "JobServiceEngine"
ldc "System unreachable for starting job."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: goto 10
8: StackMap locals:
StackMap stack:
ldc "JobServiceEngine"
iconst_3
invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
ifeq 10
9: ldc "JobServiceEngine"
ldc "Attempting to ack a job that has already been processed."
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/app/job/JobServiceEngine$JobHandler;
0 11 1 params Landroid/app/job/JobParameters;
0 11 2 workOngoing Z
1 11 3 callback Landroid/app/job/IJobCallback;
2 11 4 jobId I
Exception table:
from to target type
3 4 5 Class android.os.RemoteException
MethodParameters:
Name Flags
params
workOngoing
private void ackStopMessage(android.app.job.JobParameters, boolean);
descriptor: (Landroid/app/job/JobParameters;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual android.app.job.JobParameters.getCallback:()Landroid/app/job/IJobCallback;
astore 3
start local 3 1: aload 1
invokevirtual android.app.job.JobParameters.getJobId:()I
istore 4
start local 4 2: aload 3
ifnull 8
3: aload 3
iload 4
iload 2
invokeinterface android.app.job.IJobCallback.acknowledgeStopMessage:(IZ)V
4: goto 10
StackMap locals: android.app.job.JobServiceEngine$JobHandler android.app.job.JobParameters int android.app.job.IJobCallback int
StackMap stack: android.os.RemoteException
5: pop
6: ldc "JobServiceEngine"
ldc "System unreachable for stopping job."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: goto 10
8: StackMap locals:
StackMap stack:
ldc "JobServiceEngine"
iconst_3
invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
ifeq 10
9: ldc "JobServiceEngine"
ldc "Attempting to ack a job that has already been processed."
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/app/job/JobServiceEngine$JobHandler;
0 11 1 params Landroid/app/job/JobParameters;
0 11 2 reschedule Z
1 11 3 callback Landroid/app/job/IJobCallback;
2 11 4 jobId I
Exception table:
from to target type
3 4 5 Class android.os.RemoteException
MethodParameters:
Name Flags
params
reschedule
}
SourceFile: "JobServiceEngine.java"
NestHost: android.app.job.JobServiceEngine
InnerClasses:
JobHandler = android.app.job.JobServiceEngine$JobHandler of android.app.job.JobServiceEngine