public class android.app.servertransaction.TransactionExecutorHelper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.app.servertransaction.TransactionExecutorHelper
super_class: java.lang.Object
{
private static final int DESTRUCTION_PENALTY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int[] ON_RESUME_PRE_EXCUTION_STATES;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private android.util.IntArray mLifecycleSequence;
descriptor: Landroid/util/IntArray;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
newarray 10
dup
iconst_0
iconst_2
iastore
dup
iconst_1
iconst_4
iastore
putstatic android.app.servertransaction.TransactionExecutorHelper.ON_RESUME_PRE_EXCUTION_STATES:[I
return
LocalVariableTable:
Start End Slot Name Signature
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 android.util.IntArray
dup
bipush 6
invokespecial android.util.IntArray.<init>:(I)V
putfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/servertransaction/TransactionExecutorHelper;
public android.util.IntArray getLifecyclePath(int, int, boolean);
descriptor: (IIZ)Landroid/util/IntArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iconst_m1
if_icmpeq 1
iload 2
iconst_m1
if_icmpne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Can't resolve lifecycle path for undefined state"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
bipush 7
if_icmpeq 3
iload 2
bipush 7
if_icmpne 6
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
4: ldc "Can't start or finish in intermittent RESTART state"
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 2
ifne 8
iload 1
iload 2
if_icmpeq 8
7: new java.lang.IllegalArgumentException
dup
ldc "Can only start in pre-onCreate state"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
invokevirtual android.util.IntArray.clear:()V
9: iload 2
iload 1
if_icmplt 16
10: iload 1
iconst_1
iadd
istore 4
start local 4 11: goto 14
12: StackMap locals: int
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
iload 4
invokevirtual android.util.IntArray.add:(I)V
13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmple 12
end local 4 15: goto 42
16: StackMap locals:
StackMap stack:
iload 1
iconst_4
if_icmpne 19
iload 2
iconst_3
if_icmpne 19
17: aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
iconst_3
invokevirtual android.util.IntArray.add:(I)V
18: goto 42
StackMap locals:
StackMap stack:
19: iload 1
iconst_5
if_icmpgt 32
iload 2
iconst_2
if_icmplt 32
20: iload 1
iconst_1
iadd
istore 4
start local 4 21: goto 24
22: StackMap locals: int
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
iload 4
invokevirtual android.util.IntArray.add:(I)V
23: iinc 4 1
StackMap locals:
StackMap stack:
24: iload 4
iconst_5
if_icmple 22
end local 4 25: aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
bipush 7
invokevirtual android.util.IntArray.add:(I)V
26: iconst_2
istore 4
start local 4 27: goto 30
28: StackMap locals:
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
iload 4
invokevirtual android.util.IntArray.add:(I)V
29: iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
iload 2
if_icmple 28
end local 4 31: goto 42
32: StackMap locals:
StackMap stack:
iload 1
iconst_1
iadd
istore 4
start local 4 33: goto 36
34: StackMap locals: int
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
iload 4
invokevirtual android.util.IntArray.add:(I)V
35: iinc 4 1
StackMap locals:
StackMap stack:
36: iload 4
bipush 6
if_icmple 34
end local 4 37: iconst_1
istore 4
start local 4 38: goto 41
39: StackMap locals:
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
iload 4
invokevirtual android.util.IntArray.add:(I)V
40: iinc 4 1
StackMap locals:
StackMap stack:
41: iload 4
iload 2
if_icmple 39
end local 4 42: StackMap locals:
StackMap stack:
iload 3
ifeq 44
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
invokevirtual android.util.IntArray.size:()I
ifeq 44
43: aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
invokevirtual android.util.IntArray.size:()I
iconst_1
isub
invokevirtual android.util.IntArray.remove:(I)V
44: StackMap locals:
StackMap stack:
aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Landroid/app/servertransaction/TransactionExecutorHelper;
0 45 1 start I
0 45 2 finish I
0 45 3 excludeLastState Z
11 15 4 i I
21 25 4 i I
27 31 4 i I
33 37 4 i I
38 42 4 i I
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
start
finish
excludeLastState
public int getClosestPreExecutionState(android.app.ActivityThread$ActivityClientRecord, int);
descriptor: (Landroid/app/ActivityThread$ActivityClientRecord;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
tableswitch { // -1 - 3
-1: 1
0: 3
1: 3
2: 3
3: 2
default: 3
}
1: StackMap locals:
StackMap stack:
iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic android.app.servertransaction.TransactionExecutorHelper.ON_RESUME_PRE_EXCUTION_STATES:[I
invokevirtual android.app.servertransaction.TransactionExecutorHelper.getClosestOfStates:(Landroid/app/ActivityThread$ActivityClientRecord;[I)I
ireturn
3: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Pre-execution states for state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/app/servertransaction/TransactionExecutorHelper;
0 6 1 r Landroid/app/ActivityThread$ActivityClientRecord;
0 6 2 postExecutionState I
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
r
postExecutionState
public int getClosestOfStates(android.app.ActivityThread$ActivityClientRecord, int[]);
descriptor: (Landroid/app/ActivityThread$ActivityClientRecord;[I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.app.ActivityThread$ActivityClientRecord.getLifecycleState:()I
istore 3
start local 3 3: iconst_m1
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: ldc 2147483647
istore 6
start local 6 6: goto 15
7: StackMap locals: android.app.servertransaction.TransactionExecutorHelper android.app.ActivityThread$ActivityClientRecord int[] int int int int
StackMap stack:
aload 0
iload 3
aload 2
iload 5
iaload
iconst_0
invokevirtual android.app.servertransaction.TransactionExecutorHelper.getLifecyclePath:(IIZ)Landroid/util/IntArray;
pop
8: aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
invokevirtual android.util.IntArray.size:()I
istore 7
start local 7 9: aload 0
getfield android.app.servertransaction.TransactionExecutorHelper.mLifecycleSequence:Landroid/util/IntArray;
invokestatic android.app.servertransaction.TransactionExecutorHelper.pathInvolvesDestruction:(Landroid/util/IntArray;)Z
ifeq 11
10: iinc 7 10
11: StackMap locals: int
StackMap stack:
iload 6
iload 7
if_icmple 14
12: iload 7
istore 6
13: aload 2
iload 5
iaload
istore 4
14: StackMap locals:
StackMap stack:
iinc 5 1
end local 7 StackMap locals:
StackMap stack:
15: iload 5
aload 2
arraylength
if_icmplt 7
end local 6 end local 5 16: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/app/servertransaction/TransactionExecutorHelper;
0 17 1 r Landroid/app/ActivityThread$ActivityClientRecord;
0 17 2 finalStates [I
3 17 3 currentState I
4 17 4 closestState I
5 16 5 i I
6 16 6 shortestPath I
9 15 7 pathLength I
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
r
finalStates
public static android.app.servertransaction.ActivityLifecycleItem getLifecycleRequestForCurrentState(android.app.ActivityThread$ActivityClientRecord);
descriptor: (Landroid/app/ActivityThread$ActivityClientRecord;)Landroid/app/servertransaction/ActivityLifecycleItem;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual android.app.ActivityThread$ActivityClientRecord.getLifecycleState:()I
istore 1
start local 1 1: iload 1
tableswitch { // 4 - 5
4: 2
5: 4
default: 8
}
2: StackMap locals: int
StackMap stack:
invokestatic android.app.servertransaction.PauseActivityItem.obtain:()Landroid/app/servertransaction/PauseActivityItem;
astore 2
start local 2 3: goto 9
end local 2 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.app.ActivityThread$ActivityClientRecord.isVisibleFromServer:()Z
5: iconst_0
6: invokestatic android.app.servertransaction.StopActivityItem.obtain:(ZI)Landroid/app/servertransaction/StopActivityItem;
astore 2
start local 2 7: goto 9
end local 2 8: StackMap locals:
StackMap stack:
iconst_0
invokestatic android.app.servertransaction.ResumeActivityItem.obtain:(Z)Landroid/app/servertransaction/ResumeActivityItem;
astore 2
start local 2 9: StackMap locals: android.app.servertransaction.ActivityLifecycleItem
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 r Landroid/app/ActivityThread$ActivityClientRecord;
1 10 1 prevState I
3 4 2 lifecycleItem Landroid/app/servertransaction/ActivityLifecycleItem;
7 8 2 lifecycleItem Landroid/app/servertransaction/ActivityLifecycleItem;
9 10 2 lifecycleItem Landroid/app/servertransaction/ActivityLifecycleItem;
MethodParameters:
Name Flags
r
private static boolean pathInvolvesDestruction(android.util.IntArray);
descriptor: (Landroid/util/IntArray;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual android.util.IntArray.size:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual android.util.IntArray.get:(I)I
bipush 6
if_icmpne 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 1
if_icmplt 3
end local 2 7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 lifecycleSequence Landroid/util/IntArray;
1 8 1 size I
2 7 2 i I
MethodParameters:
Name Flags
lifecycleSequence
static int lastCallbackRequestingState(android.app.servertransaction.ClientTransaction);
descriptor: (Landroid/app/servertransaction/ClientTransaction;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual android.app.servertransaction.ClientTransaction.getCallbacks:()Ljava/util/List;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokeinterface java.util.List.size:()I
ifne 3
2: StackMap locals: java.util.List
StackMap stack:
iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
iconst_m1
istore 2
start local 2 4: iconst_m1
istore 3
start local 3 5: aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 4
start local 4 6: goto 14
7: StackMap locals: int int int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.app.servertransaction.ClientTransactionItem
astore 5
start local 5 8: aload 5
invokevirtual android.app.servertransaction.ClientTransactionItem.getPostExecutionState:()I
istore 6
start local 6 9: iload 6
iconst_m1
if_icmpeq 13
10: iload 2
iconst_m1
if_icmpeq 11
iload 2
iload 6
if_icmpne 15
11: StackMap locals: android.app.servertransaction.ClientTransactionItem int
StackMap stack:
iload 6
istore 2
12: iload 4
istore 3
end local 6 end local 5 13: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
14: iload 4
ifge 7
end local 4 15: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 transaction Landroid/app/servertransaction/ClientTransaction;
1 16 1 callbacks Ljava/util/List<Landroid/app/servertransaction/ClientTransactionItem;>;
4 16 2 lastRequestedState I
5 16 3 lastRequestingCallback I
6 15 4 i I
8 13 5 callback Landroid/app/servertransaction/ClientTransactionItem;
9 13 6 postExecutionState I
MethodParameters:
Name Flags
transaction
}
SourceFile: "TransactionExecutorHelper.java"
InnerClasses:
public final ActivityClientRecord = android.app.ActivityThread$ActivityClientRecord of android.app.ActivityThread