From c0c3e583c13387b5ebc6d8b6efa01f2dd6e810e2 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Tue, 15 Jun 2021 12:51:38 -0700 Subject: [PATCH] Refactor/Move isTestModeEnabled to frameworks/base ActionDisabledByAdminControllerFactory is also in frameworks/base, and should take test mode into consideration. Bug: 188847063 Test: atest ParentalControlsUtilsTest Change-Id: I0195478606361aa8b6406376d96b2fc219d9cc4d --- .../ParentalControlsUtilsInternal.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/core/java/android/hardware/biometrics/ParentalControlsUtilsInternal.java b/core/java/android/hardware/biometrics/ParentalControlsUtilsInternal.java index ef13ca6b61300..4ec6f0d2509e4 100644 --- a/core/java/android/hardware/biometrics/ParentalControlsUtilsInternal.java +++ b/core/java/android/hardware/biometrics/ParentalControlsUtilsInternal.java @@ -20,7 +20,10 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; +import android.content.Context; +import android.os.Build; import android.os.UserHandle; +import android.provider.Settings; /** * "Base" functionality. For settings-specific functionality (which may rely on this base @@ -29,6 +32,27 @@ import android.os.UserHandle; */ public class ParentalControlsUtilsInternal { + private static final String TEST_ALWAYS_REQUIRE_CONSENT = + "android.hardware.biometrics.ParentalControlsUtilsInternal.always_require_consent"; + + public static boolean isTestModeEnabled(@NonNull Context context) { + if (Build.IS_USERDEBUG || Build.IS_ENG) { + return Settings.Secure.getInt(context.getContentResolver(), + TEST_ALWAYS_REQUIRE_CONSENT, 0) != 0; + } + return false; + } + + public static boolean parentConsentRequired(@NonNull Context context, + @NonNull DevicePolicyManager dpm, @BiometricAuthenticator.Modality int modality, + @NonNull UserHandle userHandle) { + if (isTestModeEnabled(context)) { + return true; + } + + return parentConsentRequired(dpm, modality, userHandle); + } + /** * @return true if parental consent is required in order for biometric sensors to be used. */