No input instead of disabling password/pin entry
So that the keyboard does not come and go all the time.
Bug:21271425
Change-Id: If73109fca1417c43307dc6069307789031ffc607
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
index 1338ac7..943d5cf 100644
--- a/src/com/android/settings/ChooseLockPassword.java
+++ b/src/com/android/settings/ChooseLockPassword.java
@@ -21,6 +21,7 @@
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.PasswordEntryKeyboardHelper;
import com.android.internal.widget.PasswordEntryKeyboardView;
+import com.android.internal.widget.TextViewInputDisabler;
import com.android.settings.notification.RedactionInterstitial;
import android.app.Activity;
@@ -127,6 +128,7 @@
private boolean mHasChallenge;
private long mChallenge;
private TextView mPasswordEntry;
+ private TextViewInputDisabler mPasswordEntryInputDisabler;
private int mPasswordMinLength = LockPatternUtils.MIN_LOCK_PASSWORD_SIZE;
private int mPasswordMaxLength = 16;
private int mPasswordMinLetters = 0;
@@ -255,6 +257,7 @@
mPasswordEntry = (TextView) view.findViewById(R.id.password_entry);
mPasswordEntry.setOnEditorActionListener(this);
mPasswordEntry.addTextChangedListener(this);
+ mPasswordEntryInputDisabler = new TextViewInputDisabler(mPasswordEntry);
final Activity activity = getActivity();
mKeyboardHelper = new PasswordEntryKeyboardHelper(activity,
@@ -315,7 +318,7 @@
public void onResume() {
super.onResume();
updateStage(mUiStage);
- mPasswordEntry.setEnabled(true);
+ mPasswordEntryInputDisabler.setInputEnabled(true);
mKeyboardView.requestFocus();
}
@@ -517,7 +520,7 @@
}
private void startVerifyPassword(final String pin, final boolean wasSecureBefore) {
- mPasswordEntry.setEnabled(false);
+ mPasswordEntryInputDisabler.setInputEnabled(false);
setNextEnabled(false);
if (mPendingLockCheck != null) {
mPendingLockCheck.cancel(false);
@@ -531,7 +534,7 @@
new LockPatternChecker.OnVerifyCallback() {
@Override
public void onVerified(byte[] token) {
- mPasswordEntry.setEnabled(true);
+ mPasswordEntryInputDisabler.setInputEnabled(true);
setNextEnabled(true);
mPendingLockCheck = null;
diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java
index 388fde7..c1d8adb 100644
--- a/src/com/android/settings/ConfirmLockPassword.java
+++ b/src/com/android/settings/ConfirmLockPassword.java
@@ -22,6 +22,7 @@
import com.android.internal.logging.MetricsLogger;
import com.android.internal.widget.LockPatternChecker;
import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.TextViewInputDisabler;
import android.app.admin.DevicePolicyManager;
import android.content.Intent;
@@ -66,6 +67,7 @@
= "confirm_lock_password_fragment.key_num_wrong_confirm_attempts";
private static final long ERROR_MESSAGE_TIMEOUT = 3000;
private TextView mPasswordEntry;
+ private TextViewInputDisabler mPasswordEntryInputDisabler;
private LockPatternUtils mLockPatternUtils;
private AsyncTask<?, ?, ?> mPendingLockCheck;
private TextView mHeaderTextView;
@@ -100,6 +102,7 @@
mPasswordEntry = (TextView) view.findViewById(R.id.password_entry);
mPasswordEntry.setOnEditorActionListener(this);
+ mPasswordEntryInputDisabler = new TextViewInputDisabler(mPasswordEntry);
mHeaderTextView = (TextView) view.findViewById(R.id.headerText);
mDetailsTextView = (TextView) view.findViewById(R.id.detailsText);
@@ -169,7 +172,7 @@
if (deadline != 0) {
handleAttemptLockout(deadline);
} else {
- mPasswordEntry.setEnabled(true);
+ mPasswordEntryInputDisabler.setInputEnabled(true);
}
}
@@ -187,7 +190,7 @@
}
private void handleNext() {
- mPasswordEntry.setEnabled(false);
+ mPasswordEntryInputDisabler.setInputEnabled(false);
if (mPendingLockCheck != null) {
mPendingLockCheck.cancel(false);
}
@@ -259,7 +262,7 @@
}
private void onPasswordChecked(boolean matched, Intent intent) {
- mPasswordEntry.setEnabled(true);
+ mPasswordEntryInputDisabler.setInputEnabled(true);
if (matched) {
getActivity().setResult(RESULT_OK, intent);
getActivity().finish();
@@ -276,7 +279,7 @@
private void handleAttemptLockout(long elapsedRealtimeDeadline) {
long elapsedRealtime = SystemClock.elapsedRealtime();
- mPasswordEntry.setEnabled(false);
+ mPasswordEntryInputDisabler.setInputEnabled(false);
mCountdownTimer = new CountDownTimer(
elapsedRealtimeDeadline - elapsedRealtime,
LockPatternUtils.FAILED_ATTEMPT_COUNTDOWN_INTERVAL_MS) {
@@ -291,7 +294,7 @@
@Override
public void onFinish() {
- mPasswordEntry.setEnabled(true);
+ mPasswordEntryInputDisabler.setInputEnabled(true);
mErrorTextView.setText("");
mNumWrongConfirmAttempts = 0;
}