From bad66071cceb0a64fbdbe7c1b142a183769ec0b9 Mon Sep 17 00:00:00 2001 From: Clara Bayarri Date: Thu, 18 Feb 2016 15:52:49 +0000 Subject: [PATCH] Respect admin disallow fingerprint in ConfirmDeviceCredentials Bug: 26891832 Change-Id: I4c6377fb79fa31e6059149220c854c47ad53eda7 --- .../settings/ConfirmDeviceCredentialBaseFragment.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java index ad1d2ebd2d6..090d4be0471 100644 --- a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java +++ b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java @@ -83,6 +83,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr // Only take this argument into account if it belongs to the current profile. Intent intent = getActivity().getIntent(); mEffectiveUserId = Utils.getUserIdFromBundle(getActivity(), intent.getExtras()); + mAllowFpAuthentication = mAllowFpAuthentication && !isFingerprintDisabledByAdmin(); mLockPatternUtils = new LockPatternUtils(getActivity()); } @@ -113,6 +114,13 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr } } + private boolean isFingerprintDisabledByAdmin() { + DevicePolicyManager dpm = (DevicePolicyManager) getActivity().getSystemService( + Context.DEVICE_POLICY_SERVICE); + final int disabledFeatures = dpm.getKeyguardDisabledFeatures(null, mEffectiveUserId); + return (disabledFeatures & DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT) != 0; + } + @Override public void onResume() { super.onResume();