Fix 2572446: Also watch keyboard changes in PIN/Password unlock. DO NOT MERGE
The PIN/Password unlock screen was monitoring orientation changes.
However, while docked, this isn't useful since orientation remains
fixed. This change makes PasswordUnlockScreen also looks for
changes to config.hardKeyboardHidden.
Tested:
WVGA device while docked and opening/closing the keyboard.
Change-Id: Ida6a4cdd3abcbcab7e2fe8450a25c0dc36765f04
diff --git a/phone/com/android/internal/policy/impl/PasswordUnlockScreen.java b/phone/com/android/internal/policy/impl/PasswordUnlockScreen.java
index a0e4f93..39f2917 100644
--- a/phone/com/android/internal/policy/impl/PasswordUnlockScreen.java
+++ b/phone/com/android/internal/policy/impl/PasswordUnlockScreen.java
@@ -60,7 +60,7 @@
private PasswordEntryKeyboardHelper mKeyboardHelper;
private int mCreationOrientation;
- private int mKeyboardHidden;
+ private int mCreationHardKeyboardHidden;
private CountDownTimer mCountdownTimer;
private TextView mTitle;
@@ -73,7 +73,7 @@
KeyguardScreenCallback callback) {
super(context);
- mKeyboardHidden = configuration.hardKeyboardHidden;
+ mCreationHardKeyboardHidden = configuration.hardKeyboardHidden;
mCreationOrientation = configuration.orientation;
mUpdateMonitor = updateMonitor;
mCallback = callback;
@@ -102,7 +102,7 @@
mKeyboardHelper.setKeyboardMode(isAlpha ? PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA
: PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC);
- mKeyboardView.setVisibility(mKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO
+ mKeyboardView.setVisibility(mCreationHardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO
? View.INVISIBLE : View.VISIBLE);
mPasswordEntry.requestFocus();
@@ -213,8 +213,10 @@
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
- if (getResources().getConfiguration().orientation != mCreationOrientation) {
- mCallback.recreateMe(getResources().getConfiguration());
+ Configuration config = getResources().getConfiguration();
+ if (config.orientation != mCreationOrientation
+ || config.hardKeyboardHidden != mCreationHardKeyboardHidden) {
+ mCallback.recreateMe(config);
}
}
@@ -222,7 +224,8 @@
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- if (newConfig.orientation != mCreationOrientation) {
+ if (newConfig.orientation != mCreationOrientation
+ || newConfig.hardKeyboardHidden != mCreationHardKeyboardHidden) {
mCallback.recreateMe(newConfig);
}
}