diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java index 41e9ebaac4f66..a055950a55223 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java @@ -46,6 +46,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout protected View mEcaView; protected boolean mEnableHaptics; private boolean mDismissing; + protected boolean mResumed; private CountDownTimer mCountdownTimer = null; // To avoid accidental lockout due to events while the device in in the pocket, ignore @@ -263,6 +264,8 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout @Override public void onPause() { + mResumed = false; + if (mCountdownTimer != null) { mCountdownTimer.cancel(); mCountdownTimer = null; @@ -276,6 +279,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout @Override public void onResume(int reason) { + mResumed = true; } @Override diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordView.java index 41afa9a211281..3296c10f7a390 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordView.java @@ -81,6 +81,11 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView protected void resetState() { mSecurityMessageDisplay.setMessage(""); final boolean wasDisabled = mPasswordEntry.isEnabled(); + // Don't set enabled password entry & showSoftInput when PasswordEntry is invisible or in + // pausing stage. + if (!mResumed || !mPasswordEntry.isVisibleToUser()) { + return; + } setPasswordEntryEnabled(true); setPasswordEntryInputEnabled(true); if (wasDisabled) {