diff --git a/Android.bp b/Android.bp index a21cd2803267b..ad9ba16f554a4 100644 --- a/Android.bp +++ b/Android.bp @@ -668,8 +668,6 @@ java_defaults { exclude_srcs: [ // See comment on framework-atb-backward-compatibility module below "core/java/android/content/pm/AndroidTestBaseUpdater.java", - // See comment on framework-oahl-backward-compatibility module below - "core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java", ], no_framework_libs: true, diff --git a/core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java b/core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java index 81e4105febee2..7790067b03ded 100644 --- a/core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java +++ b/core/java/android/content/pm/OrgApacheHttpLegacyUpdater.java @@ -25,12 +25,6 @@ import com.android.internal.annotations.VisibleForTesting; * Updates a package to ensure that if it targets < P that the org.apache.http.legacy library is * included by default. * - *

This is separated out so that it can be conditionally included at build time depending on - * whether org.apache.http.legacy is on the bootclasspath or not. In order to include this at - * build time, and remove org.apache.http.legacy from the bootclasspath pass - * REMOVE_OAHL_FROM_BCP=true on the build command line, otherwise this class will not be included - * and the - * * @hide */ @VisibleForTesting diff --git a/core/java/android/content/pm/PackageBackwardCompatibility.java b/core/java/android/content/pm/PackageBackwardCompatibility.java index 03eefedd2b30e..b19196a9b636d 100644 --- a/core/java/android/content/pm/PackageBackwardCompatibility.java +++ b/core/java/android/content/pm/PackageBackwardCompatibility.java @@ -45,13 +45,9 @@ public class PackageBackwardCompatibility extends PackageSharedLibraryUpdater { static { final List packageUpdaters = new ArrayList<>(); - // Attempt to load and add the optional updater that will only be available when - // REMOVE_OAHL_FROM_BCP=true. If that could not be found then add the default updater that - // will remove any references to org.apache.http.library from the package so that it does - // not try and load the library when it is on the bootclasspath. - boolean bootClassPathContainsOAHL = !addOptionalUpdater(packageUpdaters, - "android.content.pm.OrgApacheHttpLegacyUpdater", - RemoveUnnecessaryOrgApacheHttpLegacyLibrary::new); + // Automatically add the org.apache.http.legacy library to the app classpath if the app + // targets < P. + packageUpdaters.add(new OrgApacheHttpLegacyUpdater()); packageUpdaters.add(new AndroidHidlUpdater()); @@ -70,7 +66,7 @@ public class PackageBackwardCompatibility extends PackageSharedLibraryUpdater { PackageSharedLibraryUpdater[] updaterArray = packageUpdaters .toArray(new PackageSharedLibraryUpdater[0]); INSTANCE = new PackageBackwardCompatibility( - bootClassPathContainsOAHL, bootClassPathContainsATB, updaterArray); + bootClassPathContainsATB, updaterArray); } /** @@ -116,15 +112,12 @@ public class PackageBackwardCompatibility extends PackageSharedLibraryUpdater { return INSTANCE; } - private final boolean mBootClassPathContainsOAHL; - private final boolean mBootClassPathContainsATB; private final PackageSharedLibraryUpdater[] mPackageUpdaters; - public PackageBackwardCompatibility(boolean bootClassPathContainsOAHL, + public PackageBackwardCompatibility( boolean bootClassPathContainsATB, PackageSharedLibraryUpdater[] packageUpdaters) { - this.mBootClassPathContainsOAHL = bootClassPathContainsOAHL; this.mBootClassPathContainsATB = bootClassPathContainsATB; this.mPackageUpdaters = packageUpdaters; } @@ -147,14 +140,6 @@ public class PackageBackwardCompatibility extends PackageSharedLibraryUpdater { } } - /** - * True if the org.apache.http.legacy is on the bootclasspath, false otherwise. - */ - @VisibleForTesting - public static boolean bootClassPathContainsOAHL() { - return INSTANCE.mBootClassPathContainsOAHL; - } - /** * True if the android.test.base is on the bootclasspath, false otherwise. */ diff --git a/core/tests/coretests/src/android/content/pm/PackageBackwardCompatibilityTest.java b/core/tests/coretests/src/android/content/pm/PackageBackwardCompatibilityTest.java index c64d5202e1fd2..f0c9032917191 100644 --- a/core/tests/coretests/src/android/content/pm/PackageBackwardCompatibilityTest.java +++ b/core/tests/coretests/src/android/content/pm/PackageBackwardCompatibilityTest.java @@ -46,22 +46,12 @@ public class PackageBackwardCompatibilityTest extends PackageSharedLibraryUpdate checkBackwardsCompatibility(before, after); } - /** - * Detect when the org.apache.http.legacy is not on the bootclasspath. - * - *

This test will be ignored when org.apache.http.legacy is not on the bootclasspath and - * succeed otherwise. This allows a developer to ensure that the tests are being - */ - @Test - public void detectWhenOAHLisOnBCP() { - Assume.assumeTrue(PackageBackwardCompatibility.bootClassPathContainsOAHL()); - } - /** * Detect when the android.test.base is not on the bootclasspath. * *

This test will be ignored when org.apache.http.legacy is not on the bootclasspath and - * succeed otherwise. This allows a developer to ensure that the tests are being + * succeed otherwise. This allows a developer to ensure that the tests are being run in the + * correct environment. */ @Test public void detectWhenATBisOnBCP() { @@ -84,9 +74,7 @@ public class PackageBackwardCompatibilityTest extends PackageSharedLibraryUpdate if (!PackageBackwardCompatibility.bootClassPathContainsATB()) { expected.add(ANDROID_TEST_BASE); } - if (!PackageBackwardCompatibility.bootClassPathContainsOAHL()) { - expected.add(ORG_APACHE_HTTP_LEGACY); - } + expected.add(ORG_APACHE_HTTP_LEGACY); PackageBuilder after = builder() .targetSdkVersion(Build.VERSION_CODES.O) @@ -95,30 +83,6 @@ public class PackageBackwardCompatibilityTest extends PackageSharedLibraryUpdate checkBackwardsCompatibility(before, after); } - /** - * Ensures that the {@link PackageBackwardCompatibility} uses - * {@link RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest} - * when necessary. - * - *

More comprehensive tests for that class can be found in - * {@link RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest}. - */ - @Test - public void org_apache_http_legacy_in_usesLibraries() { - Assume.assumeTrue("Test requires that " - + ORG_APACHE_HTTP_LEGACY + " is on the bootclasspath", - PackageBackwardCompatibility.bootClassPathContainsOAHL()); - - PackageBuilder before = builder() - .requiredLibraries(ORG_APACHE_HTTP_LEGACY); - - // org.apache.http.legacy should be removed from the libraries because it is provided - // on the bootclasspath and providing both increases start up cost unnecessarily. - PackageBuilder after = builder(); - - checkBackwardsCompatibility(before, after); - } - /** * Ensures that the {@link PackageBackwardCompatibility} uses * {@link RemoveUnnecessaryAndroidTestBaseLibrary}