From d5ea0ffe67d18b4e87e49e7c24b959ed1e88638e Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Fri, 30 Jul 2021 12:48:56 -0700 Subject: [PATCH] Skip enrollment when unicorn account is launched by setup wizard. Bug: 194244555 Test: manual Change-Id: Id310c5e4dec1b1c5262c9703259223ce21b1da61 --- .../biometrics/BiometricEnrollActivity.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java index 904a37d1ba6..b3a950511d7 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java +++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java @@ -205,11 +205,25 @@ public class BiometricEnrollActivity extends InstrumentedActivity { mSkipReturnToParent = intent.getBooleanExtra(EXTRA_SKIP_RETURN_TO_PARENT, false); Log.d(TAG, "parentalOptionsRequired: " + mParentalOptionsRequired - + ", skipReturnToParent: " + mSkipReturnToParent); + + ", skipReturnToParent: " + mSkipReturnToParent + + ", isSetupWizard: " + isSetupWizard); + + // TODO(b/195128094): remove this restriction + // Consent can only be recorded when this activity is launched directly from the kids + // module. This can be removed when there is a way to notify consent status out of band. + if (isSetupWizard && mParentalOptionsRequired) { + Log.w(TAG, "Enrollment with parental consent is not supported when launched " + + " directly from SuW - skipping enrollment"); + setResult(RESULT_SKIP); + finish(); + return; + } // Only allow the consent flow to happen once when running from setup wizard. // This isn't common and should only happen if setup wizard is not completed normally // due to a restart, etc. + // This check should probably remain even if b/195128094 is fixed to prevent SuW from + // restarting the process once it has been fully completed at least one time. if (isSetupWizard && mParentalOptionsRequired) { final boolean consentAlreadyManaged = ParentalControlsUtils.parentConsentRequired(this, BiometricAuthenticator.TYPE_FACE | BiometricAuthenticator.TYPE_FINGERPRINT)