diff --git a/api/current.txt b/api/current.txt index 32993d6fa4b8a..527d3644435c0 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6511,6 +6511,7 @@ package android.app.admin { method public boolean isApplicationHidden(android.content.ComponentName, java.lang.String); method public boolean isBackupServiceEnabled(android.content.ComponentName); method public deprecated boolean isCallerApplicationRestrictionsManagingPackage(); + method public boolean isDeviceIdAttestationSupported(); method public boolean isDeviceOwnerApp(java.lang.String); method public boolean isEphemeralUser(android.content.ComponentName); method public boolean isLockTaskPermitted(java.lang.String); diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index f7fb02a54d1f0..8f1b328ab1f3f 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -4218,6 +4218,15 @@ public class DevicePolicyManager { return null; } + /** + * Returns {@code true} if the device supports attestation of device identifiers in addition + * to key attestation. + * @return {@code true} if Device ID attestation is supported. + */ + public boolean isDeviceIdAttestationSupported() { + PackageManager pm = mContext.getPackageManager(); + return pm.hasSystemFeature(PackageManager.FEATURE_DEVICE_ID_ATTESTATION); + } /** * Called by a device or profile owner, or delegated certificate installer, to associate diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 491f0af2576da..dd86d475b0e8d 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2628,6 +2628,17 @@ public abstract class PackageManager { public static final String FEATURE_STRONGBOX_KEYSTORE = "android.hardware.strongbox_keystore"; + /** + * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: + * The device has a Keymaster implementation that supports Device ID attestation. + * + * @see DevicePolicyManager#isDeviceIdAttestationSupported + * @hide + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_DEVICE_ID_ATTESTATION = + "android.software.device_id_attestation"; + /** * Action to external storage service to clean out removed apps. * @hide