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();