From 9aa434cde6b2e1c98f973df3235843e211637c56 Mon Sep 17 00:00:00 2001 From: Ricky Wai Date: Mon, 27 Jun 2016 11:10:09 +0100 Subject: [PATCH] Refresh screenlock UI after password verification failed Bug: 28314264 Change-Id: Ibd715d70bbee728a887f779a24bb99ad32d8d2ed --- .../settings/ConfirmDeviceCredentialBaseFragment.java | 10 +++++++++- src/com/android/settings/ConfirmLockPattern.java | 1 + .../settings/fingerprint/FingerprintUiHelper.java | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java index ef19c2a2d90..b46fa92a3d8 100644 --- a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java +++ b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java @@ -142,8 +142,16 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends OptionsMenuFra @Override public void onResume() { super.onResume(); + refreshLockScreen(); + } + + protected void refreshLockScreen() { if (mAllowFpAuthentication) { mFingerprintHelper.startListening(); + } else { + if (mFingerprintHelper.isListening()) { + mFingerprintHelper.stopListening(); + } } if (isProfileChallenge()) { updateErrorMessage(mLockPatternUtils.getCurrentFailedPasswordAttempts( @@ -168,7 +176,7 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends OptionsMenuFra @Override public void onPause() { super.onPause(); - if (mAllowFpAuthentication) { + if (mFingerprintHelper.isListening()) { mFingerprintHelper.stopListening(); } } diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java index dd8640c1998..a2ce1540785 100644 --- a/src/com/android/settings/ConfirmLockPattern.java +++ b/src/com/android/settings/ConfirmLockPattern.java @@ -498,6 +498,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { checkForPendingIntent(); } else { if (timeoutMs > 0) { + refreshLockScreen(); long deadline = mLockPatternUtils.setLockoutAttemptDeadline( effectiveUserId, timeoutMs); handleAttemptLockout(deadline); diff --git a/src/com/android/settings/fingerprint/FingerprintUiHelper.java b/src/com/android/settings/fingerprint/FingerprintUiHelper.java index 6e7f8ec7928..f7ec97b1678 100644 --- a/src/com/android/settings/fingerprint/FingerprintUiHelper.java +++ b/src/com/android/settings/fingerprint/FingerprintUiHelper.java @@ -67,7 +67,7 @@ public class FingerprintUiHelper extends FingerprintManager.AuthenticationCallba } } - private boolean isListening() { + public boolean isListening() { return mCancellationSignal != null && !mCancellationSignal.isCanceled(); }