From 7d4c562c64da63f34e9ec9aae01effb4208d0545 Mon Sep 17 00:00:00 2001 From: Diya Bera Date: Wed, 5 Jul 2023 10:25:53 -0700 Subject: Require permission for hidden APIs in BiometricPrompt Test: N/A Bug: 288874281 Change-Id: I1df8dd1199769c098a250a3950769870f716ef16 --- core/java/android/hardware/biometrics/BiometricPrompt.java | 6 ++++++ core/java/android/hardware/biometrics/PromptInfo.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/core/java/android/hardware/biometrics/BiometricPrompt.java b/core/java/android/hardware/biometrics/BiometricPrompt.java index 2e40f6096ccb..1fdb377de19a 100644 --- a/core/java/android/hardware/biometrics/BiometricPrompt.java +++ b/core/java/android/hardware/biometrics/BiometricPrompt.java @@ -144,6 +144,7 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan private Context mContext; private IAuthService mService; + // LINT.IfChange /** * Creates a builder for a {@link BiometricPrompt} dialog. * @param context The {@link Context} that will be used to build the prompt. @@ -417,6 +418,7 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan * @hide */ @NonNull + @RequiresPermission(USE_BIOMETRIC_INTERNAL) public Builder setDisallowBiometricsIfPolicyExists(boolean checkDevicePolicyManager) { mPromptInfo.setDisallowBiometricsIfPolicyExists(checkDevicePolicyManager); return this; @@ -429,6 +431,7 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan * @hide */ @NonNull + @RequiresPermission(USE_BIOMETRIC_INTERNAL) public Builder setReceiveSystemEvents(boolean set) { mPromptInfo.setReceiveSystemEvents(set); return this; @@ -442,6 +445,7 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan * @hide */ @NonNull + @RequiresPermission(USE_BIOMETRIC_INTERNAL) public Builder setIgnoreEnrollmentState(boolean ignoreEnrollmentState) { mPromptInfo.setIgnoreEnrollmentState(ignoreEnrollmentState); return this; @@ -454,10 +458,12 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan * @hide */ @NonNull + @RequiresPermission(USE_BIOMETRIC_INTERNAL) public Builder setIsForLegacyFingerprintManager(int sensorId) { mPromptInfo.setIsForLegacyFingerprintManager(sensorId); return this; } + // LINT.ThenChange(frameworks/base/core/java/android/hardware/biometrics/PromptInfo.java) /** * Creates a {@link BiometricPrompt}. diff --git a/core/java/android/hardware/biometrics/PromptInfo.java b/core/java/android/hardware/biometrics/PromptInfo.java index 02aad1dc4b4b..77df01b6592e 100644 --- a/core/java/android/hardware/biometrics/PromptInfo.java +++ b/core/java/android/hardware/biometrics/PromptInfo.java @@ -126,6 +126,7 @@ public class PromptInfo implements Parcelable { return false; } + // LINT.IfChange public boolean containsPrivateApiConfigurations() { if (mDisallowBiometricsIfPolicyExists) { return true; @@ -141,9 +142,14 @@ public class PromptInfo implements Parcelable { return true; } else if (mReceiveSystemEvents) { return true; + } else if (mIgnoreEnrollmentState) { + return true; + } else if (mIsForLegacyFingerprintManager) { + return true; } return false; } + // LINT.ThenChange(frameworks/base/core/java/android/hardware/biometrics/BiometricPrompt.java) // Setters -- cgit v1.2.3-59-g8ed1b