diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java index 1338ac78d90..943d5cf337a 100644 --- a/src/com/android/settings/ChooseLockPassword.java +++ b/src/com/android/settings/ChooseLockPassword.java @@ -21,6 +21,7 @@ import com.android.internal.widget.LockPatternChecker; 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 @@ public class ChooseLockPassword extends SettingsActivity { 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 @@ public class ChooseLockPassword extends SettingsActivity { 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 class ChooseLockPassword extends SettingsActivity { public void onResume() { super.onResume(); updateStage(mUiStage); - mPasswordEntry.setEnabled(true); + mPasswordEntryInputDisabler.setInputEnabled(true); mKeyboardView.requestFocus(); } @@ -517,7 +520,7 @@ public class ChooseLockPassword extends SettingsActivity { } 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 @@ public class ChooseLockPassword extends SettingsActivity { 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 388fde7dcbc..c1d8adb76e2 100644 --- a/src/com/android/settings/ConfirmLockPassword.java +++ b/src/com/android/settings/ConfirmLockPassword.java @@ -22,6 +22,7 @@ import android.text.TextUtils; 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 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { = "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 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { 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 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { if (deadline != 0) { handleAttemptLockout(deadline); } else { - mPasswordEntry.setEnabled(true); + mPasswordEntryInputDisabler.setInputEnabled(true); } } @@ -187,7 +190,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { } private void handleNext() { - mPasswordEntry.setEnabled(false); + mPasswordEntryInputDisabler.setInputEnabled(false); if (mPendingLockCheck != null) { mPendingLockCheck.cancel(false); } @@ -259,7 +262,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { } 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 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { 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 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { @Override public void onFinish() { - mPasswordEntry.setEnabled(true); + mPasswordEntryInputDisabler.setInputEnabled(true); mErrorTextView.setText(""); mNumWrongConfirmAttempts = 0; }