From 570540b15c3d924df7ca3c0f8c2fddf3f9c03984 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Thu, 12 Aug 2021 13:38:31 -0700 Subject: [PATCH] Do not show work profile strings for parent-managed enrollment Work profiles and parental management both utilize the DevicePolicyManager KEYGUARD_DISABLE_* flags. This CL ensures that work profile strings are only shown for work profiles, and not parent-managed devices. Bug: 196060286 Bug: 196443744 Test: Set up child account, then enroll from Settings > Security Change-Id: Ib5ed1d63dd5d58ac64caf30010e340ac7784c38f --- .../biometrics/BiometricEnrollIntroduction.java | 10 ++++++++-- .../biometrics/face/FaceEnrollIntroduction.java | 6 ++++++ .../fingerprint/FingerprintEnrollIntroduction.java | 6 ++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java index 428e4718ecd..89b43509b7a 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java @@ -20,6 +20,7 @@ import android.app.admin.DevicePolicyManager; import android.content.Intent; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import android.hardware.biometrics.BiometricAuthenticator; import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; @@ -62,6 +63,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase private TextView mErrorText; protected boolean mConfirmingCredentials; protected boolean mNextClicked; + private boolean mParentalConsentRequired; @Nullable private PorterDuffColorFilter mIconColorFilter; @@ -138,6 +140,8 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase */ public abstract void onClick(LinkSpan span); + public abstract @BiometricAuthenticator.Modality int getModality(); + protected interface GenerateChallengeCallback { void onChallengeGenerated(int sensorId, int userId, long challenge); } @@ -161,7 +165,9 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase mBiometricUnlockDisabledByAdmin = isDisabledByAdmin(); setContentView(getLayoutResource()); - if (mBiometricUnlockDisabledByAdmin) { + mParentalConsentRequired = ParentalControlsUtils.parentConsentRequired(this, getModality()) + != null; + if (mBiometricUnlockDisabledByAdmin && !mParentalConsentRequired) { setHeaderText(getHeaderResDisabledByAdmin()); } else { setHeaderText(getHeaderResDefault()); @@ -399,7 +405,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase protected void initViews() { super.initViews(); - if (mBiometricUnlockDisabledByAdmin) { + if (mBiometricUnlockDisabledByAdmin && !mParentalConsentRequired) { setDescriptionText(getDescriptionResDisabledByAdmin()); } } diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java index 1de4bc71c3d..ae211778368 100644 --- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java @@ -19,6 +19,7 @@ package com.android.settings.biometrics.face; import android.app.admin.DevicePolicyManager; import android.app.settings.SettingsEnums; import android.content.Intent; +import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.face.FaceManager; import android.hardware.face.FaceSensorPropertiesInternal; import android.os.Bundle; @@ -287,6 +288,11 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction { // TODO(b/110906762) } + @Override + public @BiometricAuthenticator.Modality int getModality() { + return BiometricAuthenticator.TYPE_FACE; + } + @Override @NonNull protected FooterButton getPrimaryFooterButton() { diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java index b3d10485172..3ab77b666c1 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java @@ -20,6 +20,7 @@ import android.app.admin.DevicePolicyManager; import android.app.settings.SettingsEnums; import android.content.ActivityNotFoundException; import android.content.Intent; +import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.os.Bundle; @@ -272,6 +273,11 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction { } } + @Override + public @BiometricAuthenticator.Modality int getModality() { + return BiometricAuthenticator.TYPE_FINGERPRINT; + } + @Override @NonNull protected FooterButton getPrimaryFooterButton() {