Merge "pm: Disallow HIDL libs from boot jars >= Q."
am: 06182b0764
Change-Id: I8fe7d54fbbaeaca9e46d0ec2448af85776412316
This commit is contained in:
@@ -38,6 +38,9 @@ public class AndroidHidlUpdater extends PackageSharedLibraryUpdater {
|
||||
if (pkg.applicationInfo.targetSdkVersion <= Build.VERSION_CODES.P) {
|
||||
prefixRequiredLibrary(pkg, ANDROID_HIDL_BASE);
|
||||
prefixRequiredLibrary(pkg, ANDROID_HIDL_MANAGER);
|
||||
} else {
|
||||
removeLibrary(pkg, ANDROID_HIDL_BASE);
|
||||
removeLibrary(pkg, ANDROID_HIDL_MANAGER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,37 +36,37 @@ public class AndroidHidlUpdaterTest extends PackageSharedLibraryUpdaterTest {
|
||||
private static final String OTHER_LIBRARY = "other.library";
|
||||
|
||||
@Test
|
||||
public void targeted_at_O() {
|
||||
public void targeted_at_P() {
|
||||
PackageBuilder before = builder()
|
||||
.targetSdkVersion(Build.VERSION_CODES.O);
|
||||
.targetSdkVersion(Build.VERSION_CODES.P);
|
||||
|
||||
// Should add both HIDL libraries
|
||||
PackageBuilder after = builder()
|
||||
.targetSdkVersion(Build.VERSION_CODES.O)
|
||||
.targetSdkVersion(Build.VERSION_CODES.P)
|
||||
.requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
|
||||
|
||||
checkBackwardsCompatibility(before, after);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void targeted_at_O_not_empty_usesLibraries() {
|
||||
public void targeted_at_P_not_empty_usesLibraries() {
|
||||
PackageBuilder before = builder()
|
||||
.targetSdkVersion(Build.VERSION_CODES.O)
|
||||
.targetSdkVersion(Build.VERSION_CODES.P)
|
||||
.requiredLibraries(OTHER_LIBRARY);
|
||||
|
||||
// The hidl jars should be added at the start of the list because it
|
||||
// is not on the bootclasspath and the package targets pre-P.
|
||||
PackageBuilder after = builder()
|
||||
.targetSdkVersion(Build.VERSION_CODES.O)
|
||||
.targetSdkVersion(Build.VERSION_CODES.P)
|
||||
.requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE, OTHER_LIBRARY);
|
||||
|
||||
checkBackwardsCompatibility(before, after);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void targeted_at_O_in_usesLibraries() {
|
||||
public void targeted_at_P_in_usesLibraries() {
|
||||
PackageBuilder before = builder()
|
||||
.targetSdkVersion(Build.VERSION_CODES.O)
|
||||
.targetSdkVersion(Build.VERSION_CODES.P)
|
||||
.requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
|
||||
|
||||
// No change is required because although the HIDL libraries has been removed from
|
||||
@@ -78,18 +78,24 @@ public class AndroidHidlUpdaterTest extends PackageSharedLibraryUpdaterTest {
|
||||
public void in_usesLibraries() {
|
||||
PackageBuilder before = builder().requiredLibraries(ANDROID_HIDL_BASE);
|
||||
|
||||
// Dependency is removed, it is not available.
|
||||
PackageBuilder after = builder();
|
||||
|
||||
// No change is required because the package explicitly requests the HIDL libraries
|
||||
// and is targeted at the current version so does not need backwards compatibility.
|
||||
checkBackwardsCompatibility(before, before);
|
||||
checkBackwardsCompatibility(before, after);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void in_usesOptionalLibraries() {
|
||||
PackageBuilder before = builder().optionalLibraries(ANDROID_HIDL_BASE);
|
||||
|
||||
// Dependency is removed, it is not available.
|
||||
PackageBuilder after = builder();
|
||||
|
||||
// No change is required because the package explicitly requests the HIDL libraries
|
||||
// and is targeted at the current version so does not need backwards compatibility.
|
||||
checkBackwardsCompatibility(before, before);
|
||||
checkBackwardsCompatibility(before, after);
|
||||
}
|
||||
|
||||
private void checkBackwardsCompatibility(PackageBuilder before, PackageBuilder after) {
|
||||
|
||||
Reference in New Issue
Block a user