Merge "Update to use ParentalControlsUtilsInternal for common logic" into sc-dev am: 44a0ddaa4c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14972617 Change-Id: Id4f76650ab5ae8f906eb9cba64e465c65ec57cf4
This commit is contained in:
@@ -20,6 +20,7 @@ import android.app.admin.DevicePolicyManager;
|
|||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.hardware.biometrics.BiometricAuthenticator;
|
import android.hardware.biometrics.BiometricAuthenticator;
|
||||||
|
import android.hardware.biometrics.ParentalControlsUtilsInternal;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
@@ -71,38 +72,12 @@ public class ParentalControlsUtils {
|
|||||||
static RestrictedLockUtils.EnforcedAdmin parentConsentRequiredInternal(
|
static RestrictedLockUtils.EnforcedAdmin parentConsentRequiredInternal(
|
||||||
@NonNull DevicePolicyManager dpm, @BiometricAuthenticator.Modality int modality,
|
@NonNull DevicePolicyManager dpm, @BiometricAuthenticator.Modality int modality,
|
||||||
@NonNull UserHandle userHandle) {
|
@NonNull UserHandle userHandle) {
|
||||||
final ComponentName cn = dpm.getProfileOwnerOrDeviceOwnerSupervisionComponent(userHandle);
|
if (ParentalControlsUtilsInternal.parentConsentRequired(dpm, modality, userHandle)) {
|
||||||
if (cn == null) {
|
final ComponentName cn =
|
||||||
return null;
|
ParentalControlsUtilsInternal.getSupervisionComponentName(dpm, userHandle);
|
||||||
}
|
|
||||||
|
|
||||||
final int keyguardDisabledFeatures = dpm.getKeyguardDisabledFeatures(cn);
|
|
||||||
final boolean dpmFpDisabled = containsFlag(keyguardDisabledFeatures,
|
|
||||||
DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
|
|
||||||
final boolean dpmFaceDisabled = containsFlag(keyguardDisabledFeatures,
|
|
||||||
DevicePolicyManager.KEYGUARD_DISABLE_FACE);
|
|
||||||
final boolean dpmIrisDisabled = containsFlag(keyguardDisabledFeatures,
|
|
||||||
DevicePolicyManager.KEYGUARD_DISABLE_IRIS);
|
|
||||||
|
|
||||||
final boolean consentRequired;
|
|
||||||
if (containsFlag(modality, BiometricAuthenticator.TYPE_FINGERPRINT) && dpmFpDisabled) {
|
|
||||||
consentRequired = true;
|
|
||||||
} else if (containsFlag(modality, BiometricAuthenticator.TYPE_FACE) && dpmFaceDisabled) {
|
|
||||||
consentRequired = true;
|
|
||||||
} else if (containsFlag(modality, BiometricAuthenticator.TYPE_IRIS) && dpmIrisDisabled) {
|
|
||||||
consentRequired = true;
|
|
||||||
} else {
|
|
||||||
consentRequired = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (consentRequired) {
|
|
||||||
return new RestrictedLockUtils.EnforcedAdmin(cn, userHandle);
|
return new RestrictedLockUtils.EnforcedAdmin(cn, userHandle);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsFlag(int haystack, int needle) {
|
|
||||||
return (haystack & needle) != 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user