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);
         }
     }