public class android.os.WorkSource implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.WorkSource
super_class: java.lang.Object
{
static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "WorkSource"
static final boolean DEBUG;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
int mNum;
descriptor: I
flags: (0x0000)
int[] mUids;
descriptor: [I
flags: (0x0000)
java.lang.String[] mNames;
descriptor: [Ljava/lang/String;
flags: (0x0000)
private java.util.ArrayList<android.os.WorkSource$WorkChain> mChains;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Landroid/os/WorkSource$WorkChain;>;
static final android.os.WorkSource sTmpWorkSource;
descriptor: Landroid/os/WorkSource;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static android.os.WorkSource sNewbWork;
descriptor: Landroid/os/WorkSource;
flags: (0x0008) ACC_STATIC
static android.os.WorkSource sGoneWork;
descriptor: Landroid/os/WorkSource;
flags: (0x0008) ACC_STATIC
public static final android.os.Parcelable$Creator<android.os.WorkSource> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/os/WorkSource;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new android.os.WorkSource
dup
iconst_0
invokespecial android.os.WorkSource.<init>:(I)V
putstatic android.os.WorkSource.sTmpWorkSource:Landroid/os/WorkSource;
1: new android.os.WorkSource$1
dup
invokespecial android.os.WorkSource$1.<init>:()V
2: putstatic android.os.WorkSource.CREATOR:Landroid/os/Parcelable$Creator;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield android.os.WorkSource.mNum:I
2: aload 0
aconst_null
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/os/WorkSource;
public void <init>(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 5
2: aload 0
iconst_0
putfield android.os.WorkSource.mNum:I
3: aload 0
aconst_null
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
4: return
5: StackMap locals: android.os.WorkSource android.os.WorkSource
StackMap stack:
aload 0
aload 1
getfield android.os.WorkSource.mNum:I
putfield android.os.WorkSource.mNum:I
6: aload 1
getfield android.os.WorkSource.mUids:[I
ifnull 12
7: aload 0
aload 1
getfield android.os.WorkSource.mUids:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield android.os.WorkSource.mUids:[I
8: aload 0
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 9
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
checkcast java.lang.String[]
goto 10
StackMap locals:
StackMap stack: android.os.WorkSource
9: aconst_null
StackMap locals: android.os.WorkSource android.os.WorkSource
StackMap stack: android.os.WorkSource java.lang.String[]
10: putfield android.os.WorkSource.mNames:[Ljava/lang/String;
11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.os.WorkSource.mUids:[I
13: aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
14: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 21
15: aload 0
new java.util.ArrayList
dup
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
16: aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 19
StackMap locals: android.os.WorkSource android.os.WorkSource top java.util.Iterator
StackMap stack:
17: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.os.WorkSource$WorkChain
astore 2
start local 2 18: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
new android.os.WorkSource$WorkChain
dup
aload 2
invokespecial android.os.WorkSource$WorkChain.<init>:(Landroid/os/WorkSource$WorkChain;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 19: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: goto 22
21: StackMap locals: android.os.WorkSource android.os.WorkSource
StackMap stack:
aload 0
aconst_null
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/os/WorkSource;
0 23 1 orig Landroid/os/WorkSource;
18 19 2 chain Landroid/os/WorkSource$WorkChain;
MethodParameters:
Name Flags
orig
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield android.os.WorkSource.mNum:I
2: aload 0
iconst_2
newarray 10
dup
iconst_0
iload 1
iastore
putfield android.os.WorkSource.mUids:[I
3: aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
4: aload 0
aconst_null
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/os/WorkSource;
0 6 1 uid I
MethodParameters:
Name Flags
uid
public void <init>(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Name can't be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: android.os.WorkSource int java.lang.String
StackMap stack:
aload 0
iconst_1
putfield android.os.WorkSource.mNum:I
4: aload 0
iconst_2
newarray 10
dup
iconst_0
iload 1
iastore
putfield android.os.WorkSource.mUids:[I
5: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
6: aload 0
aconst_null
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/os/WorkSource;
0 8 1 uid I
0 8 2 name Ljava/lang/String;
MethodParameters:
Name Flags
uid
name
void <init>(android.os.Parcel);
descriptor: (Landroid/os/Parcel;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual android.os.Parcel.readInt:()I
putfield android.os.WorkSource.mNum:I
2: aload 0
aload 1
invokevirtual android.os.Parcel.createIntArray:()[I
putfield android.os.WorkSource.mUids:[I
3: aload 0
aload 1
invokevirtual android.os.Parcel.createStringArray:()[Ljava/lang/String;
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
4: aload 1
invokevirtual android.os.Parcel.readInt:()I
istore 2
start local 2 5: iload 2
ifle 9
6: aload 0
new java.util.ArrayList
dup
iload 2
invokespecial java.util.ArrayList.<init>:(I)V
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
7: aload 1
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ldc Landroid/os/WorkSource$WorkChain;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokevirtual android.os.Parcel.readParcelableList:(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;
pop
8: goto 10
9: StackMap locals: android.os.WorkSource android.os.Parcel int
StackMap stack:
aload 0
aconst_null
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/os/WorkSource;
0 11 1 in Landroid/os/Parcel;
5 11 2 numChains I
MethodParameters:
Name Flags
in
public static boolean isChainedBatteryAttributionEnabled(android.content.Context);
descriptor: (Landroid/content/Context;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
1: ldc "chained_battery_attribution_enabled"
iconst_0
2: invokestatic android.provider.Settings$Global.getInt:(Landroid/content/ContentResolver;Ljava/lang/String;I)I
3: iconst_1
4: if_icmpne 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.WorkSource.mNum:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/WorkSource;
public int get(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/WorkSource;
0 1 1 index I
MethodParameters:
Name Flags
index
public java.lang.String getName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 1
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 1
aaload
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/WorkSource;
0 3 1 index I
MethodParameters:
Name Flags
index
public void clearNames();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 14
1: aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
2: iconst_1
istore 1
start local 1 3: aload 0
getfield android.os.WorkSource.mNum:I
istore 2
start local 2 4: iconst_1
istore 3
start local 3 5: goto 12
6: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iload 3
iaload
aload 0
getfield android.os.WorkSource.mUids:[I
iload 3
iconst_1
isub
iaload
if_icmpne 9
7: iinc 2 -1
8: goto 11
9: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
aload 0
getfield android.os.WorkSource.mUids:[I
iload 3
iaload
iastore
10: iinc 1 1
11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 6
end local 3 13: aload 0
iload 2
putfield android.os.WorkSource.mNum:I
end local 2 end local 1 14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/os/WorkSource;
3 14 1 destIndex I
4 14 2 newNum I
5 13 3 sourceIndex I
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield android.os.WorkSource.mNum:I
1: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 3
2: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/os/WorkSource;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof android.os.WorkSource
ifeq 8
1: aload 1
checkcast android.os.WorkSource
astore 2
start local 2 2: aload 0
aload 2
invokevirtual android.os.WorkSource.diff:(Landroid/os/WorkSource;)Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals: android.os.WorkSource
StackMap stack:
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 6
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 6
5: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 2
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.equals:(Ljava/lang/Object;)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 2
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 7
aload 2
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 7
iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 2 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/WorkSource;
0 9 1 o Ljava/lang/Object;
2 8 2 other Landroid/os/WorkSource;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 1
iconst_4
ishl
iload 1
bipush 28
iushr
ior
aload 0
getfield android.os.WorkSource.mUids:[I
iload 2
iaload
ixor
istore 1
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 3
end local 2 6: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 12
7: iconst_0
istore 2
start local 2 8: goto 11
9: StackMap locals:
StackMap stack:
iload 1
iconst_4
ishl
iload 1
bipush 28
iushr
ior
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.String.hashCode:()I
ixor
istore 1
10: iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 9
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 14
13: iload 1
iconst_4
ishl
iload 1
bipush 28
iushr
ior
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.hashCode:()I
ixor
istore 1
14: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/os/WorkSource;
1 15 1 result I
2 6 2 i I
8 12 2 i I
public boolean diff(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mNum:I
istore 2
start local 2 1: iload 2
aload 1
getfield android.os.WorkSource.mNum:I
if_icmpeq 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
astore 3
start local 3 4: aload 1
getfield android.os.WorkSource.mUids:[I
astore 4
start local 4 5: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
astore 5
start local 5 6: aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 14
9: StackMap locals: android.os.WorkSource android.os.WorkSource int int[] int[] java.lang.String[] java.lang.String[] int
StackMap stack:
aload 3
iload 7
iaload
aload 4
iload 7
iaload
if_icmpeq 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
aload 5
ifnull 13
aload 6
ifnull 13
aload 5
iload 7
aaload
aload 6
iload 7
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 2
if_icmplt 9
end local 7 15: iconst_0
ireturn
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 16 0 this Landroid/os/WorkSource;
0 16 1 other Landroid/os/WorkSource;
1 16 2 N I
4 16 3 uids1 [I
5 16 4 uids2 [I
6 16 5 names1 [Ljava/lang/String;
7 16 6 names2 [Ljava/lang/String;
8 15 7 i I
MethodParameters:
Name Flags
other
public void set(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 5
1: aload 0
iconst_0
putfield android.os.WorkSource.mNum:I
2: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 4
3: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield android.os.WorkSource.mNum:I
putfield android.os.WorkSource.mNum:I
6: aload 1
getfield android.os.WorkSource.mUids:[I
ifnull 19
7: aload 0
getfield android.os.WorkSource.mUids:[I
ifnull 10
aload 0
getfield android.os.WorkSource.mUids:[I
arraylength
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 10
8: aload 1
getfield android.os.WorkSource.mUids:[I
iconst_0
aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
aload 0
getfield android.os.WorkSource.mNum:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield android.os.WorkSource.mUids:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield android.os.WorkSource.mUids:[I
11: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 17
12: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 15
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
arraylength
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 15
13: aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iconst_0
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iconst_0
aload 0
getfield android.os.WorkSource.mNum:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: goto 21
15: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
checkcast java.lang.String[]
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
16: goto 21
17: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
18: goto 21
19: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.os.WorkSource.mUids:[I
20: aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
21: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 30
22: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 25
23: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
new java.util.ArrayList
dup
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
26: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 29
StackMap locals: android.os.WorkSource android.os.WorkSource top java.util.Iterator
StackMap stack:
27: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.os.WorkSource$WorkChain
astore 2
start local 2 28: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
new android.os.WorkSource$WorkChain
dup
aload 2
invokespecial android.os.WorkSource$WorkChain.<init>:(Landroid/os/WorkSource$WorkChain;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 29: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: StackMap locals: android.os.WorkSource android.os.WorkSource
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Landroid/os/WorkSource;
0 31 1 other Landroid/os/WorkSource;
28 29 2 chain Landroid/os/WorkSource$WorkChain;
MethodParameters:
Name Flags
other
public void set(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield android.os.WorkSource.mNum:I
1: aload 0
getfield android.os.WorkSource.mUids:[I
ifnonnull 2
aload 0
iconst_2
newarray 10
putfield android.os.WorkSource.mUids:[I
2: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
iload 1
iastore
3: aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
4: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 6
5: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/os/WorkSource;
0 7 1 uid I
MethodParameters:
Name Flags
uid
public void set(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Name can't be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.os.WorkSource.mNum:I
3: aload 0
getfield android.os.WorkSource.mUids:[I
ifnonnull 6
4: aload 0
iconst_2
newarray 10
putfield android.os.WorkSource.mUids:[I
5: aload 0
iconst_2
anewarray java.lang.String
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
6: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
iload 1
iastore
7: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iconst_0
aload 2
aastore
8: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 10
9: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/os/WorkSource;
0 11 1 uid I
0 11 2 name Ljava/lang/String;
MethodParameters:
Name Flags
uid
name
public android.os.WorkSource[] setReturningDiffs(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)[Landroid/os/WorkSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic android.os.WorkSource.sTmpWorkSource:Landroid/os/WorkSource;
dup
astore 2
monitorenter
1: aconst_null
putstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
2: aconst_null
putstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
3: aload 0
aload 1
iconst_1
iconst_1
invokevirtual android.os.WorkSource.updateLocked:(Landroid/os/WorkSource;ZZ)Z
pop
4: getstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
ifnonnull 5
getstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
ifnull 10
5: StackMap locals: android.os.WorkSource
StackMap stack:
iconst_2
anewarray android.os.WorkSource
astore 3
start local 3 6: aload 3
iconst_0
getstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
aastore
7: aload 3
iconst_1
getstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
aastore
8: aload 3
aload 2
monitorexit
9: areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 2
monitorexit
11: aconst_null
areturn
12: StackMap locals:
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/WorkSource;
0 14 1 other Landroid/os/WorkSource;
6 10 3 diffs [Landroid/os/WorkSource;
Exception table:
from to target type
1 9 12 any
10 11 12 any
12 13 12 any
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
other
public boolean add(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: getstatic android.os.WorkSource.sTmpWorkSource:Landroid/os/WorkSource;
dup
astore 2
monitorenter
1: aload 0
aload 1
iconst_0
iconst_0
invokevirtual android.os.WorkSource.updateLocked:(Landroid/os/WorkSource;ZZ)Z
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 11
4: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnonnull 6
5: aload 0
new java.util.ArrayList
dup
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
6: StackMap locals: android.os.WorkSource int int
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: android.os.WorkSource android.os.WorkSource android.os.WorkSource int int top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.os.WorkSource$WorkChain
astore 5
start local 5 8: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 10
9: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
new android.os.WorkSource$WorkChain
dup
aload 5
invokespecial android.os.WorkSource$WorkChain.<init>:(Landroid/os/WorkSource$WorkChain;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: StackMap locals: android.os.WorkSource android.os.WorkSource android.os.WorkSource int int
StackMap stack:
iload 3
ifne 12
iload 4
ifne 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: aload 2
monitorexit
14: ireturn
end local 4 end local 3 15: StackMap locals: android.os.WorkSource android.os.WorkSource android.os.WorkSource
StackMap stack: java.lang.Throwable
aload 2
monitorexit
16: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/os/WorkSource;
0 17 1 other Landroid/os/WorkSource;
2 15 3 uidAdded Z
3 15 4 chainAdded Z
8 10 5 wc Landroid/os/WorkSource$WorkChain;
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
other
public android.os.WorkSource addReturningNewbs(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)Landroid/os/WorkSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic android.os.WorkSource.sTmpWorkSource:Landroid/os/WorkSource;
dup
astore 2
monitorenter
1: aconst_null
putstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
2: aload 0
aload 1
iconst_0
iconst_1
invokevirtual android.os.WorkSource.updateLocked:(Landroid/os/WorkSource;ZZ)Z
pop
3: getstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
aload 2
monitorexit
4: areturn
5: StackMap locals: android.os.WorkSource android.os.WorkSource android.os.WorkSource
StackMap stack: java.lang.Throwable
aload 2
monitorexit
6: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/os/WorkSource;
0 7 1 other Landroid/os/WorkSource;
Exception table:
from to target type
1 4 5 any
5 6 5 any
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
other
public boolean add(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mNum:I
ifgt 4
1: aload 0
aconst_null
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
2: aload 0
iconst_0
iload 1
invokevirtual android.os.WorkSource.insert:(II)V
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 6
5: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Adding without name to named "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
invokestatic java.util.Arrays.binarySearch:([IIII)I
istore 2
start local 2 7: iload 2
iflt 9
8: iconst_0
ireturn
9: StackMap locals: int
StackMap stack:
aload 0
iload 2
ineg
iconst_1
isub
iload 1
invokevirtual android.os.WorkSource.insert:(II)V
10: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/os/WorkSource;
0 11 1 uid I
7 11 2 i I
MethodParameters:
Name Flags
uid
public boolean add(int, java.lang.String);
descriptor: (ILjava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.os.WorkSource.mNum:I
ifgt 3
1: aload 0
iconst_0
iload 1
aload 2
invokevirtual android.os.WorkSource.insert:(IILjava/lang/String;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Adding name to unnamed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 6: goto 16
7: StackMap locals: int
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iload 3
iaload
iload 1
if_icmple 9
8: goto 17
9: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iload 3
iaload
iload 1
if_icmpne 15
10: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 3
aaload
aload 2
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 4
start local 4 11: iload 4
ifle 13
12: goto 17
13: StackMap locals: int
StackMap stack:
iload 4
ifne 15
14: iconst_0
ireturn
end local 4 15: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 7
17: StackMap locals:
StackMap stack:
aload 0
iload 3
iload 1
aload 2
invokevirtual android.os.WorkSource.insert:(IILjava/lang/String;)V
18: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/os/WorkSource;
0 19 1 uid I
0 19 2 name Ljava/lang/String;
6 19 3 i I
11 15 4 diff I
MethodParameters:
Name Flags
uid
name
public boolean remove(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.os.WorkSource.isEmpty:()Z
ifne 1
aload 1
invokevirtual android.os.WorkSource.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 5
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 5
3: aload 0
aload 1
invokevirtual android.os.WorkSource.removeUids:(Landroid/os/WorkSource;)Z
istore 2
start local 2 4: goto 14
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 9
6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Other "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has names, but target "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 13
10: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Target "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has names, but other "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.os.WorkSource.removeUidsAndNames:(Landroid/os/WorkSource;)Z
istore 2
start local 2 14: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 15: aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 17
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 17
16: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.removeAll:(Ljava/util/Collection;)Z
istore 3
17: StackMap locals: int
StackMap stack:
iload 2
ifne 18
iload 3
ifne 18
iconst_0
ireturn
StackMap locals:
StackMap stack:
18: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/os/WorkSource;
0 19 1 other Landroid/os/WorkSource;
4 5 2 uidRemoved Z
14 19 2 uidRemoved Z
15 19 3 chainRemoved Z
MethodParameters:
Name Flags
other
public android.os.WorkSource$WorkChain createWorkChain();
descriptor: ()Landroid/os/WorkSource$WorkChain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnonnull 2
1: aload 0
new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
2: StackMap locals:
StackMap stack:
new android.os.WorkSource$WorkChain
dup
invokespecial android.os.WorkSource$WorkChain.<init>:()V
astore 1
start local 1 3: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/WorkSource;
3 5 1 wc Landroid/os/WorkSource$WorkChain;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.WorkSource.mNum:I
ifne 2
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 1
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/WorkSource;
public java.util.ArrayList<android.os.WorkSource$WorkChain> getWorkChains();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/WorkSource;
Signature: ()Ljava/util/ArrayList<Landroid/os/WorkSource$WorkChain;>;
public void transferWorkChains(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 2
1: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
2: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 3
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnonnull 6
5: aload 0
new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
putfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
6: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
7: aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/WorkSource;
0 9 1 other Landroid/os/WorkSource;
MethodParameters:
Name Flags
other
private boolean removeUids(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mNum:I
istore 2
start local 2 1: aload 0
getfield android.os.WorkSource.mUids:[I
astore 3
start local 3 2: aload 1
getfield android.os.WorkSource.mNum:I
istore 4
start local 4 3: aload 1
getfield android.os.WorkSource.mUids:[I
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: goto 18
8: StackMap locals: android.os.WorkSource android.os.WorkSource int int[] int int[] int int int
StackMap stack:
aload 5
iload 8
iaload
aload 3
iload 7
iaload
if_icmpne 14
9: iinc 2 -1
10: iconst_1
istore 6
11: iload 7
iload 2
if_icmpge 12
aload 3
iload 7
iconst_1
iadd
aload 3
iload 7
iload 2
iload 7
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: StackMap locals:
StackMap stack:
iinc 8 1
13: goto 18
StackMap locals:
StackMap stack:
14: aload 5
iload 8
iaload
aload 3
iload 7
iaload
if_icmple 17
15: iinc 7 1
16: goto 18
17: StackMap locals:
StackMap stack:
iinc 8 1
18: StackMap locals:
StackMap stack:
iload 7
iload 2
if_icmpge 19
iload 8
iload 4
if_icmplt 8
19: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield android.os.WorkSource.mNum:I
20: iload 6
ireturn
end local 8 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 21 0 this Landroid/os/WorkSource;
0 21 1 other Landroid/os/WorkSource;
1 21 2 N1 I
2 21 3 uids1 [I
3 21 4 N2 I
4 21 5 uids2 [I
5 21 6 changed Z
6 21 7 i1 I
7 21 8 i2 I
MethodParameters:
Name Flags
other
private boolean removeUidsAndNames(android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.WorkSource.mNum:I
istore 2
start local 2 1: aload 0
getfield android.os.WorkSource.mUids:[I
astore 3
start local 3 2: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
astore 4
start local 4 3: aload 1
getfield android.os.WorkSource.mNum:I
istore 5
start local 5 4: aload 1
getfield android.os.WorkSource.mUids:[I
astore 6
start local 6 5: aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
astore 7
start local 7 6: iconst_0
istore 8
start local 8 7: iconst_0
istore 9
start local 9 8: iconst_0
istore 10
start local 10 9: goto 23
10: StackMap locals: android.os.WorkSource android.os.WorkSource int int[] java.lang.String[] int int[] java.lang.String[] int int int
StackMap stack:
aload 6
iload 10
iaload
aload 3
iload 9
iaload
if_icmpne 18
aload 7
iload 10
aaload
aload 4
iload 9
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
11: iinc 2 -1
12: iconst_1
istore 8
13: iload 9
iload 2
if_icmpge 16
14: aload 3
iload 9
iconst_1
iadd
aload 3
iload 9
iload 2
iload 9
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 4
iload 9
iconst_1
iadd
aload 4
iload 9
iload 2
iload 9
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: StackMap locals:
StackMap stack:
iinc 10 1
17: goto 23
StackMap locals:
StackMap stack:
18: aload 6
iload 10
iaload
aload 3
iload 9
iaload
if_icmpgt 20
19: aload 6
iload 10
iaload
aload 3
iload 9
iaload
if_icmpne 22
aload 7
iload 10
aaload
aload 4
iload 9
aaload
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifle 22
20: StackMap locals:
StackMap stack:
iinc 9 1
21: goto 23
22: StackMap locals:
StackMap stack:
iinc 10 1
23: StackMap locals:
StackMap stack:
iload 9
iload 2
if_icmpge 24
iload 10
iload 5
if_icmplt 10
24: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield android.os.WorkSource.mNum:I
25: iload 8
ireturn
end local 10 end local 9 end local 8 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 26 0 this Landroid/os/WorkSource;
0 26 1 other Landroid/os/WorkSource;
1 26 2 N1 I
2 26 3 uids1 [I
3 26 4 names1 [Ljava/lang/String;
4 26 5 N2 I
5 26 6 uids2 [I
6 26 7 names2 [Ljava/lang/String;
7 26 8 changed Z
8 26 9 i1 I
9 26 10 i2 I
MethodParameters:
Name Flags
other
private boolean updateLocked(android.os.WorkSource, boolean, boolean);
descriptor: (Landroid/os/WorkSource;ZZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 2
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 1
iload 2
iload 3
invokevirtual android.os.WorkSource.updateUidsLocked:(Landroid/os/WorkSource;ZZ)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mNum:I
ifle 6
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 6
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Other "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has names, but target "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mNum:I
ifle 10
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnonnull 10
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Target "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has names, but other "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual android.os.WorkSource.updateUidsAndNamesLocked:(Landroid/os/WorkSource;ZZ)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/os/WorkSource;
0 11 1 other Landroid/os/WorkSource;
0 11 2 set Z
0 11 3 returnNewbs Z
MethodParameters:
Name Flags
other
set
returnNewbs
private static android.os.WorkSource addWork(android.os.WorkSource, int);
descriptor: (Landroid/os/WorkSource;I)Landroid/os/WorkSource;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: new android.os.WorkSource
dup
iload 1
invokespecial android.os.WorkSource.<init>:(I)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
invokevirtual android.os.WorkSource.insert:(II)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cur Landroid/os/WorkSource;
0 4 1 newUid I
MethodParameters:
Name Flags
cur
newUid
private boolean updateUidsLocked(android.os.WorkSource, boolean, boolean);
descriptor: (Landroid/os/WorkSource;ZZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.os.WorkSource.mNum:I
istore 4
start local 4 1: aload 0
getfield android.os.WorkSource.mUids:[I
astore 5
start local 5 2: aload 1
getfield android.os.WorkSource.mNum:I
istore 6
start local 6 3: aload 1
getfield android.os.WorkSource.mUids:[I
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: iconst_0
istore 9
start local 9 6: iconst_0
istore 10
start local 10 7: goto 46
8: StackMap locals: android.os.WorkSource android.os.WorkSource int int int int[] int int[] int int int
StackMap stack:
iload 9
iload 4
if_icmpge 9
iload 10
iload 6
if_icmpge 29
aload 7
iload 10
iaload
aload 5
iload 9
iaload
if_icmpge 29
9: StackMap locals:
StackMap stack:
iconst_1
istore 8
10: aload 5
ifnonnull 14
11: iconst_4
newarray 10
astore 5
12: aload 5
iconst_0
aload 7
iload 10
iaload
iastore
13: goto 23
StackMap locals:
StackMap stack:
14: iload 4
aload 5
arraylength
if_icmplt 21
15: aload 5
arraylength
iconst_3
imul
iconst_2
idiv
newarray 10
astore 11
start local 11 16: iload 9
ifle 17
aload 5
iconst_0
aload 11
iconst_0
iload 9
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: StackMap locals: int[]
StackMap stack:
iload 9
iload 4
if_icmpge 18
aload 5
iload 9
aload 11
iload 9
iconst_1
iadd
iload 4
iload 9
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: StackMap locals:
StackMap stack:
aload 11
astore 5
19: aload 5
iload 9
aload 7
iload 10
iaload
iastore
end local 11 20: goto 23
21: StackMap locals:
StackMap stack:
iload 9
iload 4
if_icmpge 22
aload 5
iload 9
aload 5
iload 9
iconst_1
iadd
iload 4
iload 9
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: StackMap locals:
StackMap stack:
aload 5
iload 9
aload 7
iload 10
iaload
iastore
23: StackMap locals:
StackMap stack:
iload 3
ifeq 25
24: getstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
aload 7
iload 10
iaload
invokestatic android.os.WorkSource.addWork:(Landroid/os/WorkSource;I)Landroid/os/WorkSource;
putstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
25: StackMap locals:
StackMap stack:
iinc 4 1
26: iinc 9 1
27: iinc 10 1
28: goto 46
29: StackMap locals:
StackMap stack:
iload 2
ifne 34
30: iload 10
iload 6
if_icmpge 32
aload 7
iload 10
iaload
aload 5
iload 9
iaload
if_icmpne 32
31: iinc 10 1
32: StackMap locals:
StackMap stack:
iinc 9 1
33: goto 46
34: StackMap locals:
StackMap stack:
iload 9
istore 11
start local 11 35: goto 38
36: StackMap locals: int
StackMap stack:
getstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
aload 5
iload 9
iaload
invokestatic android.os.WorkSource.addWork:(Landroid/os/WorkSource;I)Landroid/os/WorkSource;
putstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
37: iinc 9 1
38: StackMap locals:
StackMap stack:
iload 9
iload 4
if_icmpge 39
iload 10
iload 6
if_icmpge 36
aload 7
iload 10
iaload
aload 5
iload 9
iaload
if_icmpgt 36
39: StackMap locals:
StackMap stack:
iload 11
iload 9
if_icmpge 43
40: aload 5
iload 9
aload 5
iload 11
iload 4
iload 9
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
41: iload 4
iload 9
iload 11
isub
isub
istore 4
42: iload 11
istore 9
43: StackMap locals:
StackMap stack:
iload 9
iload 4
if_icmpge 46
iload 10
iload 6
if_icmpge 46
aload 7
iload 10
iaload
aload 5
iload 9
iaload
if_icmpne 46
44: iinc 9 1
45: iinc 10 1
end local 11 46: StackMap locals:
StackMap stack:
iload 9
iload 4
if_icmplt 8
iload 10
iload 6
if_icmplt 8
47: aload 0
iload 4
putfield android.os.WorkSource.mNum:I
48: aload 0
aload 5
putfield android.os.WorkSource.mUids:[I
49: iload 8
ireturn
end local 10 end local 9 end local 8 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 50 0 this Landroid/os/WorkSource;
0 50 1 other Landroid/os/WorkSource;
0 50 2 set Z
0 50 3 returnNewbs Z
1 50 4 N1 I
2 50 5 uids1 [I
3 50 6 N2 I
4 50 7 uids2 [I
5 50 8 changed Z
6 50 9 i1 I
7 50 10 i2 I
16 20 11 newuids [I
35 46 11 start I
MethodParameters:
Name Flags
other
set
returnNewbs
private int compare(android.os.WorkSource, int, int);
descriptor: (Landroid/os/WorkSource;II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.os.WorkSource.mUids:[I
iload 2
iaload
aload 1
getfield android.os.WorkSource.mUids:[I
iload 3
iaload
isub
istore 4
start local 4 1: iload 4
ifeq 3
2: iload 4
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 2
aaload
aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 3
aaload
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/os/WorkSource;
0 4 1 other Landroid/os/WorkSource;
0 4 2 i1 I
0 4 3 i2 I
1 4 4 diff I
MethodParameters:
Name Flags
other
i1
i2
private static android.os.WorkSource addWork(android.os.WorkSource, int, java.lang.String);
descriptor: (Landroid/os/WorkSource;ILjava/lang/String;)Landroid/os/WorkSource;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: new android.os.WorkSource
dup
iload 1
aload 2
invokespecial android.os.WorkSource.<init>:(ILjava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
aload 2
invokevirtual android.os.WorkSource.insert:(IILjava/lang/String;)V
3: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cur Landroid/os/WorkSource;
0 4 1 newUid I
0 4 2 newName Ljava/lang/String;
MethodParameters:
Name Flags
cur
newUid
newName
private boolean updateUidsAndNamesLocked(android.os.WorkSource, boolean, boolean);
descriptor: (Landroid/os/WorkSource;ZZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield android.os.WorkSource.mNum:I
istore 4
start local 4 1: aload 1
getfield android.os.WorkSource.mUids:[I
astore 5
start local 5 2: aload 1
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
astore 6
start local 6 3: iconst_0
istore 7
start local 7 4: iconst_0
istore 8
start local 8 5: iconst_0
istore 9
start local 9 6: goto 39
7: StackMap locals: android.os.WorkSource android.os.WorkSource int int int int[] java.lang.String[] int int int
StackMap stack:
iconst_m1
istore 10
start local 10 8: iload 8
aload 0
getfield android.os.WorkSource.mNum:I
if_icmpge 9
iload 9
iload 4
if_icmpge 16
aload 0
aload 1
iload 8
iload 9
invokevirtual android.os.WorkSource.compare:(Landroid/os/WorkSource;II)I
dup
istore 10
ifle 16
9: StackMap locals: int
StackMap stack:
iconst_1
istore 7
10: aload 0
iload 8
aload 5
iload 9
iaload
aload 6
iload 9
aaload
invokevirtual android.os.WorkSource.insert:(IILjava/lang/String;)V
11: iload 3
ifeq 13
12: getstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
aload 5
iload 9
iaload
aload 6
iload 9
aaload
invokestatic android.os.WorkSource.addWork:(Landroid/os/WorkSource;ILjava/lang/String;)Landroid/os/WorkSource;
putstatic android.os.WorkSource.sNewbWork:Landroid/os/WorkSource;
13: StackMap locals:
StackMap stack:
iinc 8 1
14: iinc 9 1
15: goto 39
16: StackMap locals:
StackMap stack:
iload 2
ifne 21
17: iload 9
iload 4
if_icmpge 19
iload 10
ifne 19
18: iinc 9 1
19: StackMap locals:
StackMap stack:
iinc 8 1
20: goto 39
21: StackMap locals:
StackMap stack:
iload 8
istore 11
start local 11 22: goto 30
23: StackMap locals: int
StackMap stack:
getstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
aload 0
getfield android.os.WorkSource.mUids:[I
iload 8
iaload
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 8
aaload
invokestatic android.os.WorkSource.addWork:(Landroid/os/WorkSource;ILjava/lang/String;)Landroid/os/WorkSource;
putstatic android.os.WorkSource.sGoneWork:Landroid/os/WorkSource;
24: iinc 8 1
25: iload 8
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 27
26: goto 31
27: StackMap locals:
StackMap stack:
iload 9
iload 4
if_icmpge 28
aload 0
aload 1
iload 8
iload 9
invokevirtual android.os.WorkSource.compare:(Landroid/os/WorkSource;II)I
goto 29
StackMap locals:
StackMap stack:
28: iconst_m1
StackMap locals:
StackMap stack: int
29: istore 10
30: StackMap locals:
StackMap stack:
iload 10
iflt 23
31: StackMap locals:
StackMap stack:
iload 11
iload 8
if_icmpge 36
32: aload 0
getfield android.os.WorkSource.mUids:[I
iload 8
aload 0
getfield android.os.WorkSource.mUids:[I
iload 11
aload 0
getfield android.os.WorkSource.mNum:I
iload 8
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
33: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 8
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 11
aload 0
getfield android.os.WorkSource.mNum:I
iload 8
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: aload 0
dup
getfield android.os.WorkSource.mNum:I
iload 8
iload 11
isub
isub
putfield android.os.WorkSource.mNum:I
35: iload 11
istore 8
36: StackMap locals:
StackMap stack:
iload 8
aload 0
getfield android.os.WorkSource.mNum:I
if_icmpge 39
iload 10
ifne 39
37: iinc 8 1
38: iinc 9 1
end local 11 end local 10 39: StackMap locals:
StackMap stack:
iload 8
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 7
iload 9
iload 4
if_icmplt 7
40: iload 7
ireturn
end local 9 end local 8 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 41 0 this Landroid/os/WorkSource;
0 41 1 other Landroid/os/WorkSource;
0 41 2 set Z
0 41 3 returnNewbs Z
1 41 4 N2 I
2 41 5 uids2 [I
3 41 6 names2 [Ljava/lang/String;
4 41 7 changed Z
5 41 8 i1 I
6 41 9 i2 I
8 39 10 diff I
22 39 11 start I
MethodParameters:
Name Flags
other
set
returnNewbs
private void insert(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.os.WorkSource.mUids:[I
ifnonnull 5
1: aload 0
iconst_4
newarray 10
putfield android.os.WorkSource.mUids:[I
2: aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
iload 2
iastore
3: aload 0
iconst_1
putfield android.os.WorkSource.mNum:I
4: goto 19
StackMap locals:
StackMap stack:
5: aload 0
getfield android.os.WorkSource.mNum:I
aload 0
getfield android.os.WorkSource.mUids:[I
arraylength
if_icmplt 15
6: aload 0
getfield android.os.WorkSource.mNum:I
iconst_3
imul
iconst_2
idiv
newarray 10
astore 3
start local 3 7: iload 1
ifle 9
8: aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
aload 3
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: StackMap locals: int[]
StackMap stack:
iload 1
aload 0
getfield android.os.WorkSource.mNum:I
if_icmpge 11
10: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
aload 3
iload 1
iconst_1
iadd
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield android.os.WorkSource.mUids:[I
12: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iload 2
iastore
13: aload 0
dup
getfield android.os.WorkSource.mNum:I
iconst_1
iadd
putfield android.os.WorkSource.mNum:I
end local 3 14: goto 19
15: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield android.os.WorkSource.mNum:I
if_icmpge 17
16: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iconst_1
iadd
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iload 2
iastore
18: aload 0
dup
getfield android.os.WorkSource.mNum:I
iconst_1
iadd
putfield android.os.WorkSource.mNum:I
19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/os/WorkSource;
0 20 1 index I
0 20 2 uid I
7 14 3 newuids [I
MethodParameters:
Name Flags
index
uid
private void insert(int, int, java.lang.String);
descriptor: (IILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.os.WorkSource.mUids:[I
ifnonnull 7
1: aload 0
iconst_4
newarray 10
putfield android.os.WorkSource.mUids:[I
2: aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
iload 2
iastore
3: aload 0
iconst_4
anewarray java.lang.String
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
4: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iconst_0
aload 3
aastore
5: aload 0
iconst_1
putfield android.os.WorkSource.mNum:I
6: goto 28
StackMap locals:
StackMap stack:
7: aload 0
getfield android.os.WorkSource.mNum:I
aload 0
getfield android.os.WorkSource.mUids:[I
arraylength
if_icmplt 22
8: aload 0
getfield android.os.WorkSource.mNum:I
iconst_3
imul
iconst_2
idiv
newarray 10
astore 4
start local 4 9: aload 0
getfield android.os.WorkSource.mNum:I
iconst_3
imul
iconst_2
idiv
anewarray java.lang.String
astore 5
start local 5 10: iload 1
ifle 13
11: aload 0
getfield android.os.WorkSource.mUids:[I
iconst_0
aload 4
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iconst_0
aload 5
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: StackMap locals: int[] java.lang.String[]
StackMap stack:
iload 1
aload 0
getfield android.os.WorkSource.mNum:I
if_icmpge 16
14: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
aload 4
iload 1
iconst_1
iadd
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 1
aload 5
iload 1
iconst_1
iadd
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield android.os.WorkSource.mUids:[I
17: aload 0
aload 5
putfield android.os.WorkSource.mNames:[Ljava/lang/String;
18: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iload 2
iastore
19: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 1
aload 3
aastore
20: aload 0
dup
getfield android.os.WorkSource.mNum:I
iconst_1
iadd
putfield android.os.WorkSource.mNum:I
end local 5 end local 4 21: goto 28
22: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield android.os.WorkSource.mNum:I
if_icmpge 25
23: aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iconst_1
iadd
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 1
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 1
iconst_1
iadd
aload 0
getfield android.os.WorkSource.mNum:I
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: StackMap locals:
StackMap stack:
aload 0
getfield android.os.WorkSource.mUids:[I
iload 1
iload 2
iastore
26: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 1
aload 3
aastore
27: aload 0
dup
getfield android.os.WorkSource.mNum:I
iconst_1
iadd
putfield android.os.WorkSource.mNum:I
28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/os/WorkSource;
0 29 1 index I
0 29 2 uid I
0 29 3 name Ljava/lang/String;
9 21 4 newuids [I
10 21 5 newnames [Ljava/lang/String;
MethodParameters:
Name Flags
index
uid
name
public static java.util.ArrayList<android.os.WorkSource$WorkChain>[] diffChains(android.os.WorkSource, android.os.WorkSource);
descriptor: (Landroid/os/WorkSource;Landroid/os/WorkSource;)[Ljava/util/ArrayList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 12
3: iconst_0
istore 4
start local 4 4: goto 11
5: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.os.WorkSource$WorkChain
astore 5
start local 5 6: aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 7
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 10
7: StackMap locals: android.os.WorkSource$WorkChain
StackMap stack:
aload 3
ifnonnull 9
8: new java.util.ArrayList
dup
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
9: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
end local 4 12: StackMap locals:
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 22
13: iconst_0
istore 4
start local 4 14: goto 21
15: StackMap locals: int
StackMap stack:
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.os.WorkSource$WorkChain
astore 5
start local 5 16: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 17
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 20
17: StackMap locals: android.os.WorkSource$WorkChain
StackMap stack:
aload 2
ifnonnull 19
18: new java.util.ArrayList
dup
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
19: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 20: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
aload 1
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 15
end local 4 22: StackMap locals:
StackMap stack:
aload 2
ifnonnull 23
aload 3
ifnull 24
23: StackMap locals:
StackMap stack:
iconst_2
anewarray java.util.ArrayList
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
areturn
24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 oldWs Landroid/os/WorkSource;
0 25 1 newWs Landroid/os/WorkSource;
1 25 2 newChains Ljava/util/ArrayList<Landroid/os/WorkSource$WorkChain;>;
2 25 3 goneChains Ljava/util/ArrayList<Landroid/os/WorkSource$WorkChain;>;
4 12 4 i I
6 10 5 wc Landroid/os/WorkSource$WorkChain;
14 22 4 i I
16 20 5 wc Landroid/os/WorkSource$WorkChain;
Signature: (Landroid/os/WorkSource;Landroid/os/WorkSource;)[Ljava/util/ArrayList<Landroid/os/WorkSource$WorkChain;>;
MethodParameters:
Name Flags
oldWs
newWs
public int describeContents();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/WorkSource;
public void writeToParcel(android.os.Parcel, int);
descriptor: (Landroid/os/Parcel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.os.WorkSource.mNum:I
invokevirtual android.os.Parcel.writeInt:(I)V
1: aload 1
aload 0
getfield android.os.WorkSource.mUids:[I
invokevirtual android.os.Parcel.writeIntArray:([I)V
2: aload 1
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
invokevirtual android.os.Parcel.writeStringArray:([Ljava/lang/String;)V
3: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnonnull 6
4: aload 1
iconst_m1
invokevirtual android.os.Parcel.writeInt:(I)V
5: goto 8
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokevirtual android.os.Parcel.writeInt:(I)V
7: aload 1
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
iload 2
invokevirtual android.os.Parcel.writeParcelableList:(Ljava/util/List;I)V
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/WorkSource;
0 9 1 dest Landroid/os/Parcel;
0 9 2 flags I
MethodParameters:
Name Flags
dest
flags
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "WorkSource{"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 2
start local 2 3: goto 11
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifeq 6
5: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.os.WorkSource.mUids:[I
iload 2
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
7: aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
ifnull 10
8: aload 1
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
aload 0
getfield android.os.WorkSource.mNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
getfield android.os.WorkSource.mNum:I
if_icmplt 4
end local 2 12: aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
ifnull 21
13: aload 1
ldc " chains="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: iconst_0
istore 2
start local 2 15: goto 20
16: StackMap locals:
StackMap stack:
iload 2
ifeq 18
17: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
19: iinc 2 1
StackMap locals:
StackMap stack:
20: iload 2
aload 0
getfield android.os.WorkSource.mChains:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 16
end local 2 21: StackMap locals:
StackMap stack:
aload 1
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/os/WorkSource;
1 23 1 result Ljava/lang/StringBuilder;
3 12 2 i I
15 21 2 i I
public void writeToProto(android.util.proto.ProtoOutputStream, long);
descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tWorkSourceProto cannot be resolved to a variable\n\tWorkSourceProto cannot be resolved to a variable\n\tWorkSourceProto cannot be resolved to a variable\n\tWorkSourceProto cannot be resolved to a variable\n\tWorkSourceProto cannot be resolved to a variable\n\tWorkSourceProto cannot be resolved to a variable\n\tWorkSourceProto 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/WorkSource;
MethodParameters:
Name Flags
proto
fieldId
}
SourceFile: "WorkSource.java"
NestMembers:
android.os.WorkSource$1 android.os.WorkSource$WorkChain android.os.WorkSource$WorkChain$1
InnerClasses:
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
android.os.WorkSource$1
public final WorkChain = android.os.WorkSource$WorkChain of android.os.WorkSource
public final Global = android.provider.Settings$Global of android.provider.Settings