Merge "Device ID attestation: Add feature flag." into pi-dev
diff --git a/api/current.txt b/api/current.txt
index 32993d6..527d364 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -6511,6 +6511,7 @@
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 f7fb02a..8f1b328 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -4218,6 +4218,15 @@
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 491f0af..dd86d47 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -2629,6 +2629,17 @@
"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
*/