summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ConfirmLockPattern.java
diff options
context:
space:
mode:
authorAndres Morales <anmorales@google.com>2015-05-15 15:20:33 -0700
committerAndres Morales <anmorales@google.com>2015-05-26 08:25:12 -0700
commit91e6c499ca8f33cc093fed4277d2b48ab780b309 (patch)
tree9726f1b284e3fbd7af9a897a5366b676d66f8d45 /src/com/android/settings/ConfirmLockPattern.java
parenta0e052b17b0c730dcd61ad2787c041c75107f106 (diff)
downloadpackages_apps_Settings-91e6c499ca8f33cc093fed4277d2b48ab780b309.zip
packages_apps_Settings-91e6c499ca8f33cc093fed4277d2b48ab780b309.tar.gz
packages_apps_Settings-91e6c499ca8f33cc093fed4277d2b48ab780b309.tar.bz2
[LockSettings] pipe through HW throttle timeout
Bug: 21118563 Change-Id: I23f5af2ebef9dac981281fb04c055a02f3b159b8
Diffstat (limited to 'src/com/android/settings/ConfirmLockPattern.java')
-rw-r--r--src/com/android/settings/ConfirmLockPattern.java24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java
index 636c315..8536fca 100644
--- a/src/com/android/settings/ConfirmLockPattern.java
+++ b/src/com/android/settings/ConfirmLockPattern.java
@@ -295,7 +295,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
return;
}
- onPatternChecked(pattern, false, intent);
+ onPatternChecked(pattern, false, intent, 0);
}
private boolean isInternalActivity() {
@@ -313,7 +313,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
UserHandle.myUserId(),
new LockPatternChecker.OnVerifyCallback() {
@Override
- public void onVerified(byte[] token) {
+ public void onVerified(byte[] token, int timeoutMs) {
mPendingLockCheck = null;
boolean matched = false;
if (token != null) {
@@ -322,20 +322,25 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
token);
}
- onPatternChecked(pattern, matched, intent);
+ onPatternChecked(pattern, matched, intent, timeoutMs);
}
});
}
private void startCheckPattern(final List<LockPatternView.Cell> pattern,
final Intent intent) {
+ if (pattern.size() <= LockPatternUtils.MIN_PATTERN_REGISTER_FAIL) {
+ onPatternChecked(pattern, false, intent, 0);
+ return;
+ }
+
mPendingLockCheck = LockPatternChecker.checkPattern(
mLockPatternUtils,
pattern,
UserHandle.myUserId(),
new LockPatternChecker.OnCheckCallback() {
@Override
- public void onChecked(boolean matched) {
+ public void onChecked(boolean matched, int timeoutMs) {
mPendingLockCheck = null;
if (matched && isInternalActivity()) {
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_TYPE,
@@ -343,24 +348,21 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
LockPatternUtils.patternToString(pattern));
}
- onPatternChecked(pattern, matched, intent);
+ onPatternChecked(pattern, matched, intent, timeoutMs);
}
});
}
private void onPatternChecked(List<LockPatternView.Cell> pattern,
- boolean matched,
- Intent intent) {
+ boolean matched, Intent intent, int timeoutMs) {
mLockPatternView.setEnabled(true);
if (matched) {
getActivity().setResult(Activity.RESULT_OK, intent);
getActivity().finish();
} else {
- if (pattern.size() >= LockPatternUtils.MIN_PATTERN_REGISTER_FAIL &&
- ++mNumWrongConfirmAttempts
- >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT) {
+ if (timeoutMs > 0) {
long deadline = mLockPatternUtils.setLockoutAttemptDeadline(
- UserHandle.myUserId());
+ UserHandle.myUserId(), timeoutMs);
handleAttemptLockout(deadline);
} else {
updateStage(Stage.NeedToUnlockWrong);