diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index f302d5949feb4..7509065a34b1b 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2856,6 +2856,14 @@ public abstract class PackageManager { public static final String FEATURE_STRONGBOX_KEYSTORE = "android.hardware.strongbox_keystore"; + /** + * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: + * The device does not have slices implementation. + * @hide + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SLICES_DISABLED = "android.software.slices_disabled"; + /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: * The device supports device-unique Keystore attestations. Only available on devices that diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 4cf98d32f8de8..88859a71d1358 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -921,7 +921,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"); @@ -1856,7 +1855,7 @@ public final class SystemServer { t.traceEnd(); } - if (!disableSlices) { + if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_SLICES_DISABLED)) { t.traceBegin("StartSliceManagerService"); mSystemServiceManager.startService(SLICE_MANAGER_SERVICE_CLASS); t.traceEnd();