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
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 428e471..89b4350 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -20,6 +20,7 @@
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 @@
private TextView mErrorText;
protected boolean mConfirmingCredentials;
protected boolean mNextClicked;
+ private boolean mParentalConsentRequired;
@Nullable private PorterDuffColorFilter mIconColorFilter;
@@ -138,6 +140,8 @@
*/
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 @@
mBiometricUnlockDisabledByAdmin = isDisabledByAdmin();
setContentView(getLayoutResource());
- if (mBiometricUnlockDisabledByAdmin) {
+ mParentalConsentRequired = ParentalControlsUtils.parentConsentRequired(this, getModality())
+ != null;
+ if (mBiometricUnlockDisabledByAdmin && !mParentalConsentRequired) {
setHeaderText(getHeaderResDisabledByAdmin());
} else {
setHeaderText(getHeaderResDefault());
@@ -399,7 +405,7 @@
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 1de4bc7..ae21177 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -19,6 +19,7 @@
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;
@@ -288,6 +289,11 @@
}
@Override
+ public @BiometricAuthenticator.Modality int getModality() {
+ return BiometricAuthenticator.TYPE_FACE;
+ }
+
+ @Override
@NonNull
protected FooterButton getPrimaryFooterButton() {
if (mPrimaryFooterButton == null) {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index b3d1048..3ab77b6 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.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;
@@ -273,6 +274,11 @@
}
@Override
+ public @BiometricAuthenticator.Modality int getModality() {
+ return BiometricAuthenticator.TYPE_FINGERPRINT;
+ }
+
+ @Override
@NonNull
protected FooterButton getPrimaryFooterButton() {
if (mPrimaryFooterButton == null) {