From 6a64ac56b7a8b81e6f24b5ad9856185488f4178d Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Thu, 1 Nov 2012 11:58:13 -0400 Subject: [PATCH 1/2] Restore incorrect-PIN lockouts. Bug: 7433439 Change-Id: I0262172db7c150aa9e73b932cc43a691f3ef9444 --- .../impl/keyguard/KeyguardAbsKeyInputView.java | 1 + .../policy/impl/keyguard/KeyguardPINView.java | 18 +++++++++++++----- .../policy/impl/keyguard/NumPadKey.java | 3 ++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java index db36bcc95bc20..b56519841bc58 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java @@ -164,6 +164,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout @Override public void onFinish() { + mSecurityMessageDisplay.setMessage("", false); resetState(); } }.start(); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java index 1255712c985a7..b31d752c91777 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java @@ -61,7 +61,9 @@ public class KeyguardPINView extends KeyguardAbsKeyInputView @Override public void onClick(View v) { doHapticKeyClick(); - verifyPasswordAndUnlock(); + if (mPasswordEntry.isEnabled()) { + verifyPasswordAndUnlock(); + } } }); ok.setOnHoverListener(new NumPadKey.LiftToActivateListener(getContext())); @@ -74,16 +76,22 @@ public class KeyguardPINView extends KeyguardAbsKeyInputView pinDelete.setVisibility(View.VISIBLE); pinDelete.setOnClickListener(new OnClickListener() { public void onClick(View v) { - CharSequence str = mPasswordEntry.getText(); - if (str.length() > 0) { - mPasswordEntry.setText(str.subSequence(0, str.length()-1)); + // check for time-based lockouts + if (mPasswordEntry.isEnabled()) { + CharSequence str = mPasswordEntry.getText(); + if (str.length() > 0) { + mPasswordEntry.setText(str.subSequence(0, str.length()-1)); + } } doHapticKeyClick(); } }); pinDelete.setOnLongClickListener(new View.OnLongClickListener() { public boolean onLongClick(View v) { - mPasswordEntry.setText(""); + // check for time-based lockouts + if (mPasswordEntry.isEnabled()) { + mPasswordEntry.setText(""); + } doHapticKeyClick(); return true; } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/NumPadKey.java b/policy/src/com/android/internal/policy/impl/keyguard/NumPadKey.java index ca36007a2ef55..7f51a84458bbd 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/NumPadKey.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/NumPadKey.java @@ -51,7 +51,8 @@ public class NumPadKey extends Button { } } } - if (mTextView != null) { + // check for time-based lockouts + if (mTextView != null && mTextView.isEnabled()) { mTextView.append(String.valueOf(mDigit)); } doHapticKeyClick(); From 16d90923149435cc7f565f684d42ecd074712ce5 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Thu, 1 Nov 2012 12:41:14 -0400 Subject: [PATCH 2/2] Show "wrong password" on password screen, not "wrong PIN" Bug: 7452916 Change-Id: Ib31335837834dbf47bd55230a526151a502d9467 --- .../policy/impl/keyguard/KeyguardAbsKeyInputView.java | 3 ++- .../internal/policy/impl/keyguard/KeyguardPINView.java | 5 +++++ .../internal/policy/impl/keyguard/KeyguardPasswordView.java | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java index b56519841bc58..f6305894574cf 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardAbsKeyInputView.java @@ -88,6 +88,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout } protected abstract int getPasswordTextViewId(); + protected abstract int getWrongPasswordStringId(); protected abstract void resetState(); @Override @@ -144,7 +145,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout long deadline = mLockPatternUtils.setLockoutAttemptDeadline(); handleAttemptLockout(deadline); } - mSecurityMessageDisplay.setMessage(R.string.kg_wrong_pin, true); + mSecurityMessageDisplay.setMessage(getWrongPasswordStringId(), true); } mPasswordEntry.setText(""); } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java index b31d752c91777..01708014c5353 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPINView.java @@ -108,4 +108,9 @@ public class KeyguardPINView extends KeyguardAbsKeyInputView @Override public void showUsabilityHint() { } + + @Override + public int getWrongPasswordStringId() { + return R.string.kg_wrong_pin; + } } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java index b35450cb4b71b..d4304af024c4d 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardPasswordView.java @@ -193,4 +193,9 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView @Override public void showUsabilityHint() { } + + @Override + public int getWrongPasswordStringId() { + return R.string.kg_wrong_password; + } }