Loading AconfigFlags.bp +14 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ aconfig_declarations_group { "com.android.input.flags-aconfig-java", "com.android.internal.compat.flags-aconfig-java", "com.android.internal.foldables.flags-aconfig-java", "com.android.internal.os.flags-aconfig-java", "com.android.internal.pm.pkg.component.flags-aconfig-java", "com.android.media.flags.bettertogether-aconfig-java", "com.android.media.flags.editing-aconfig-java", Loading Loading @@ -374,6 +375,19 @@ cc_aconfig_library { host_supported: true, } // OS Internal aconfig_declarations { name: "com.android.internal.os.flags-aconfig", package: "com.android.internal.os", srcs: ["core/java/com/android/internal/os/flags.aconfig"], } java_aconfig_library { name: "com.android.internal.os.flags-aconfig-java", aconfig_declarations: "com.android.internal.os.flags-aconfig", defaults: ["framework-minus-apex-aconfig-java-defaults"], } // VirtualDeviceManager cc_aconfig_library { name: "android.companion.virtualdevice.flags-aconfig-cc", Loading core/java/com/android/internal/os/ZygoteInit.java +8 −0 Original line number Diff line number Diff line Loading @@ -397,6 +397,14 @@ public class ZygoteInit { null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); if (Flags.enableApacheHttpLegacyPreload()) { libs.add(new SharedLibraryInfo( "/system/framework/org.apache.http.legacy.jar", null /*packageName*/, null /*codePaths*/, null /*name*/, 0 /*version*/, SharedLibraryInfo.TYPE_BUILTIN, null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); } // WindowManager Extensions is an optional shared library that is required for WindowManager // Jetpack to fully function. Since it is a widely used library, preload it to improve apps // startup performance. Loading core/java/com/android/internal/os/flags.aconfig 0 → 100644 +10 −0 Original line number Diff line number Diff line package: "com.android.internal.os" flag { name: "enable_apache_http_legacy_preload" namespace: "system_performance" description: "Enables zygote preload of non-BCP org.apache.http.legacy.jar library." # Fixed read-only is required as the flag is read during zygote init. is_fixed_read_only: true bug: "241474956" } No newline at end of file core/tests/coretests/src/android/app/ApplicationLoadersTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ public class ApplicationLoadersTest { private static final String LIB_A = "/system/framework/android.hidl.base-V1.0-java.jar"; // a library installed onto the device which only depends on A private static final String LIB_DEP_A = "/system/framework/android.hidl.manager-V1.0-java.jar"; // a commonly used, non-BCP, app-facing library installed onto the device private static final String LIB_APACHE_HTTP = "/system/framework/org.apache.http.legacy.jar"; private static SharedLibraryInfo createLib(String zip) { return new SharedLibraryInfo( Loading Loading @@ -137,4 +139,15 @@ public class ApplicationLoadersTest { loaders.createAndCacheNonBootclasspathSystemClassLoaders(Lists.newArrayList(libB, libA)); } @Test public void testCacheApacheHttpLegacy() { ApplicationLoaders loaders = new ApplicationLoaders(); SharedLibraryInfo libApacheHttp = createLib(LIB_APACHE_HTTP); loaders.createAndCacheNonBootclasspathSystemClassLoaders(Lists.newArrayList(libApacheHttp)); assertNotNull(loaders.getCachedNonBootclasspathSystemLib( LIB_APACHE_HTTP, null, null, null)); } } Loading
AconfigFlags.bp +14 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ aconfig_declarations_group { "com.android.input.flags-aconfig-java", "com.android.internal.compat.flags-aconfig-java", "com.android.internal.foldables.flags-aconfig-java", "com.android.internal.os.flags-aconfig-java", "com.android.internal.pm.pkg.component.flags-aconfig-java", "com.android.media.flags.bettertogether-aconfig-java", "com.android.media.flags.editing-aconfig-java", Loading Loading @@ -374,6 +375,19 @@ cc_aconfig_library { host_supported: true, } // OS Internal aconfig_declarations { name: "com.android.internal.os.flags-aconfig", package: "com.android.internal.os", srcs: ["core/java/com/android/internal/os/flags.aconfig"], } java_aconfig_library { name: "com.android.internal.os.flags-aconfig-java", aconfig_declarations: "com.android.internal.os.flags-aconfig", defaults: ["framework-minus-apex-aconfig-java-defaults"], } // VirtualDeviceManager cc_aconfig_library { name: "android.companion.virtualdevice.flags-aconfig-cc", Loading
core/java/com/android/internal/os/ZygoteInit.java +8 −0 Original line number Diff line number Diff line Loading @@ -397,6 +397,14 @@ public class ZygoteInit { null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); if (Flags.enableApacheHttpLegacyPreload()) { libs.add(new SharedLibraryInfo( "/system/framework/org.apache.http.legacy.jar", null /*packageName*/, null /*codePaths*/, null /*name*/, 0 /*version*/, SharedLibraryInfo.TYPE_BUILTIN, null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); } // WindowManager Extensions is an optional shared library that is required for WindowManager // Jetpack to fully function. Since it is a widely used library, preload it to improve apps // startup performance. Loading
core/java/com/android/internal/os/flags.aconfig 0 → 100644 +10 −0 Original line number Diff line number Diff line package: "com.android.internal.os" flag { name: "enable_apache_http_legacy_preload" namespace: "system_performance" description: "Enables zygote preload of non-BCP org.apache.http.legacy.jar library." # Fixed read-only is required as the flag is read during zygote init. is_fixed_read_only: true bug: "241474956" } No newline at end of file
core/tests/coretests/src/android/app/ApplicationLoadersTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ public class ApplicationLoadersTest { private static final String LIB_A = "/system/framework/android.hidl.base-V1.0-java.jar"; // a library installed onto the device which only depends on A private static final String LIB_DEP_A = "/system/framework/android.hidl.manager-V1.0-java.jar"; // a commonly used, non-BCP, app-facing library installed onto the device private static final String LIB_APACHE_HTTP = "/system/framework/org.apache.http.legacy.jar"; private static SharedLibraryInfo createLib(String zip) { return new SharedLibraryInfo( Loading Loading @@ -137,4 +139,15 @@ public class ApplicationLoadersTest { loaders.createAndCacheNonBootclasspathSystemClassLoaders(Lists.newArrayList(libB, libA)); } @Test public void testCacheApacheHttpLegacy() { ApplicationLoaders loaders = new ApplicationLoaders(); SharedLibraryInfo libApacheHttp = createLib(LIB_APACHE_HTTP); loaders.createAndCacheNonBootclasspathSystemClassLoaders(Lists.newArrayList(libApacheHttp)); assertNotNull(loaders.getCachedNonBootclasspathSystemLib( LIB_APACHE_HTTP, null, null, null)); } }