From 014479dbb6568f9158dedd8f1cdf59cad3c7d072 Mon Sep 17 00:00:00 2001 From: Abhijit Adsule Date: Fri, 11 Oct 2019 18:24:41 -0700 Subject: [PATCH] Add feature to disable slices Bug: 142022263 Test: Manual - Verified CTS test passes on devices where the feature is disabled Change-Id: I090b4c1460fcc4784e9e901847829ee61bfc31ef Merged-In: I090b4c1460fcc4784e9e901847829ee61bfc31ef --- core/java/android/content/pm/PackageManager.java | 7 +++++++ services/java/com/android/server/SystemServer.java | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 93b90b410c1c1..95ca274ef5f9a 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2866,6 +2866,13 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_IPSEC_TUNNELS = "android.software.ipsec_tunnels"; + /** + * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: + * The device does not have a slices implementation. + * @hide + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SLICES_DISABLED = "android.software.slices_disabled"; /** * Extra field name for the URI to a verification file. Passed to a package * verifier. diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index b93365ad0ad5b..1b4f33e42172f 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -938,7 +938,6 @@ public final class SystemServer { false); boolean disableCameraService = SystemProperties.getBoolean("config.disable_cameraservice", false); - boolean disableSlices = SystemProperties.getBoolean("config.disable_slices", false); boolean enableLeftyService = SystemProperties.getBoolean("config.enable_lefty", false); boolean isEmulator = SystemProperties.get("ro.kernel.qemu").equals("1"); @@ -1910,7 +1909,7 @@ public final class SystemServer { traceEnd(); } - if (!disableSlices) { + if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_SLICES_DISABLED)) { traceBeginAndSlog("StartSliceManagerService"); mSystemServiceManager.startService(SLICE_MANAGER_SERVICE_CLASS); traceEnd();