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();