diff --git a/src/com/android/settings/biometrics/ParentalControlsUtils.java b/src/com/android/settings/biometrics/ParentalControlsUtils.java
index 0959184..8dd01f0 100644
--- a/src/com/android/settings/biometrics/ParentalControlsUtils.java
+++ b/src/com/android/settings/biometrics/ParentalControlsUtils.java
@@ -41,16 +41,19 @@
 
     /**
      * Public version that enables test paths, see
-     * {@link android.hardware.biometrics.ParentalControlsUtilsInternal#isTestModeEnabled(Context)}
+     * {@link android.hardware.biometrics.ParentalControlsUtilsInternal#getTestComponentName}
      * @return non-null EnforcedAdmin if parental consent is required
      */
     public static RestrictedLockUtils.EnforcedAdmin parentConsentRequired(@NonNull Context context,
             @BiometricAuthenticator.Modality int modality) {
 
-        final UserHandle userHandle = new UserHandle(UserHandle.myUserId());
-        if (ParentalControlsUtilsInternal.isTestModeEnabled(context)) {
+        final int userId = UserHandle.myUserId();
+        final UserHandle userHandle = new UserHandle(userId);
+        final ComponentName testComponentName = ParentalControlsUtilsInternal.getTestComponentName(
+                context, userId);
+        if (testComponentName != null) {
             Log.d(TAG, "Requiring consent for test flow");
-            return new RestrictedLockUtils.EnforcedAdmin(null /* ComponentName */,
+            return new RestrictedLockUtils.EnforcedAdmin(testComponentName,
                     UserManager.DISALLOW_BIOMETRIC, userHandle);
         }
 
