diff --git a/core/java/android/content/pm/AndroidHidlUpdater.java b/core/java/android/content/pm/AndroidHidlUpdater.java index 69cc94ffef557..b7ae8f4a12910 100644 --- a/core/java/android/content/pm/AndroidHidlUpdater.java +++ b/core/java/android/content/pm/AndroidHidlUpdater.java @@ -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); } } } diff --git a/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java b/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java index 7218b3a286a21..2acb08da4ef09 100644 --- a/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java +++ b/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java @@ -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) {