Respect admin disallow fingerprint in ConfirmDeviceCredentials
Bug: 26891832
Change-Id: I4c6377fb79fa31e6059149220c854c47ad53eda7
diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java
index ad1d2eb..090d4be 100644
--- a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java
@@ -83,6 +83,7 @@
// 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 @@
}
}
+ 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();