Merge "Skip enrollment when unicorn account is launched by setup wizard." into sc-dev am: fdb80de825

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15433652

Change-Id: I0fda8c0922e45b45a4fb2b10431289724ea26851
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index 904a37d..b3a9505 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -205,11 +205,25 @@
         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)