public abstract class android.content.pm.PackageSharedLibraryUpdater
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: android.content.pm.PackageSharedLibraryUpdater
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/pm/PackageSharedLibraryUpdater;
public abstract void updatePackage(android.content.pm.PackageParser$Package);
descriptor: (Landroid/content/pm/PackageParser$Package;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
pkg
static void removeLibrary(android.content.pm.PackageParser$Package, java.lang.String);
descriptor: (Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield android.content.pm.PackageParser$Package.usesLibraries:Ljava/util/ArrayList;
aload 1
invokestatic com.android.internal.util.ArrayUtils.remove:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
putfield android.content.pm.PackageParser$Package.usesLibraries:Ljava/util/ArrayList;
1: aload 0
2: aload 0
getfield android.content.pm.PackageParser$Package.usesOptionalLibraries:Ljava/util/ArrayList;
aload 1
invokestatic com.android.internal.util.ArrayUtils.remove:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
3: putfield android.content.pm.PackageParser$Package.usesOptionalLibraries:Ljava/util/ArrayList;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 pkg Landroid/content/pm/PackageParser$Package;
0 5 1 libraryName Ljava/lang/String;
MethodParameters:
Name Flags
pkg
libraryName
static <T> java.util.ArrayList<T> prefix(java.util.ArrayList<T>, T);
descriptor: (Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 1
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cur Ljava/util/ArrayList<TT;>;
0 4 1 val TT;
Signature: <T:Ljava/lang/Object;>(Ljava/util/ArrayList<TT;>;TT;)Ljava/util/ArrayList<TT;>;
MethodParameters:
Name Flags
cur
val
private static boolean isLibraryPresent(java.util.ArrayList<java.lang.String>, java.util.ArrayList<java.lang.String>, java.lang.String);
descriptor: (Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic com.android.internal.util.ArrayUtils.contains:(Ljava/util/Collection;Ljava/lang/Object;)Z
ifne 3
1: aload 1
aload 2
invokestatic com.android.internal.util.ArrayUtils.contains:(Ljava/util/Collection;Ljava/lang/Object;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 usesLibraries Ljava/util/ArrayList<Ljava/lang/String;>;
0 4 1 usesOptionalLibraries Ljava/util/ArrayList<Ljava/lang/String;>;
0 4 2 apacheHttpLegacy Ljava/lang/String;
Signature: (Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
usesLibraries
usesOptionalLibraries
apacheHttpLegacy
static boolean apkTargetsApiLevelLessThanOrEqualToOMR1(android.content.pm.PackageParser$Package);
descriptor: (Landroid/content/pm/PackageParser$Package;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.content.pm.PackageParser$Package.applicationInfo:Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
istore 1
start local 1 1: iload 1
bipush 28
if_icmpge 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 pkg Landroid/content/pm/PackageParser$Package;
1 3 1 targetSdkVersion I
MethodParameters:
Name Flags
pkg
void prefixImplicitDependency(android.content.pm.PackageParser$Package, java.lang.String, java.lang.String);
descriptor: (Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield android.content.pm.PackageParser$Package.usesLibraries:Ljava/util/ArrayList;
astore 4
start local 4 1: aload 1
getfield android.content.pm.PackageParser$Package.usesOptionalLibraries:Ljava/util/ArrayList;
astore 5
start local 5 2: aload 4
aload 5
aload 3
invokestatic android.content.pm.PackageSharedLibraryUpdater.isLibraryPresent:(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
ifne 10
3: aload 4
aload 2
invokestatic com.android.internal.util.ArrayUtils.contains:(Ljava/util/Collection;Ljava/lang/Object;)Z
ifeq 6
4: aload 4
aload 3
invokestatic android.content.pm.PackageSharedLibraryUpdater.prefix:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
pop
5: goto 8
StackMap locals: java.util.ArrayList java.util.ArrayList
StackMap stack:
6: aload 5
aload 2
invokestatic com.android.internal.util.ArrayUtils.contains:(Ljava/util/Collection;Ljava/lang/Object;)Z
ifeq 8
7: aload 5
aload 3
invokestatic android.content.pm.PackageSharedLibraryUpdater.prefix:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
pop
8: StackMap locals:
StackMap stack:
aload 1
aload 4
putfield android.content.pm.PackageParser$Package.usesLibraries:Ljava/util/ArrayList;
9: aload 1
aload 5
putfield android.content.pm.PackageParser$Package.usesOptionalLibraries:Ljava/util/ArrayList;
10: StackMap locals:
StackMap stack:
return
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 11 0 this Landroid/content/pm/PackageSharedLibraryUpdater;
0 11 1 pkg Landroid/content/pm/PackageParser$Package;
0 11 2 existingLibrary Ljava/lang/String;
0 11 3 implicitDependency Ljava/lang/String;
1 11 4 usesLibraries Ljava/util/ArrayList<Ljava/lang/String;>;
2 11 5 usesOptionalLibraries Ljava/util/ArrayList<Ljava/lang/String;>;
MethodParameters:
Name Flags
pkg
existingLibrary
implicitDependency
void prefixRequiredLibrary(android.content.pm.PackageParser$Package, java.lang.String);
descriptor: (Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield android.content.pm.PackageParser$Package.usesLibraries:Ljava/util/ArrayList;
astore 3
start local 3 1: aload 1
getfield android.content.pm.PackageParser$Package.usesOptionalLibraries:Ljava/util/ArrayList;
astore 4
start local 4 2: aload 3
aload 4
aload 2
3: invokestatic android.content.pm.PackageSharedLibraryUpdater.isLibraryPresent:(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
istore 5
start local 5 4: iload 5
ifne 7
5: aload 3
aload 2
invokestatic android.content.pm.PackageSharedLibraryUpdater.prefix:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
astore 3
6: aload 1
aload 3
putfield android.content.pm.PackageParser$Package.usesLibraries:Ljava/util/ArrayList;
7: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
return
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 8 0 this Landroid/content/pm/PackageSharedLibraryUpdater;
0 8 1 pkg Landroid/content/pm/PackageParser$Package;
0 8 2 libraryName Ljava/lang/String;
1 8 3 usesLibraries Ljava/util/ArrayList<Ljava/lang/String;>;
2 8 4 usesOptionalLibraries Ljava/util/ArrayList<Ljava/lang/String;>;
4 8 5 alreadyPresent Z
MethodParameters:
Name Flags
pkg
libraryName
}
SourceFile: "PackageSharedLibraryUpdater.java"
InnerClasses:
public final Package = android.content.pm.PackageParser$Package of android.content.pm.PackageParser
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()