am 7d5f9095: am 85562dde: Merge "Fix keyboard hidden states." into honeycomb

* commit '7d5f9095a6feb40aa0c87d5671050df7c24609ef':
  Fix keyboard hidden states.
This commit is contained in:
Jeff Brown
2011-01-16 23:02:00 -08:00
committed by Android Git Automerger

View File

@@ -191,9 +191,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
static final int APPLICATION_PANEL_SUBLAYER = 1;
static final int APPLICATION_SUB_PANEL_SUBLAYER = 2;
// Debugging: set this to have the system act like there is no hard keyboard.
static final boolean KEYBOARD_ALWAYS_HIDDEN = false;
static public final String SYSTEM_DIALOG_REASON_KEY = "reason";
static public final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
static public final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
@@ -914,38 +911,44 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
private int determineHiddenState(int mode, int hiddenValue, int visibleValue) {
if (KEYBOARD_ALWAYS_HIDDEN) {
return hiddenValue;
}
if (mLidOpen == LID_ABSENT) {
return visibleValue;
}
switch (mode) {
case 1:
return mLidOpen == LID_OPEN ? visibleValue : hiddenValue;
case 2:
return mLidOpen == LID_OPEN ? hiddenValue : visibleValue;
if (mLidOpen != LID_ABSENT) {
switch (mode) {
case 1:
return mLidOpen == LID_OPEN ? visibleValue : hiddenValue;
case 2:
return mLidOpen == LID_OPEN ? hiddenValue : visibleValue;
}
}
return visibleValue;
}
/** {@inheritDoc} */
public void adjustConfigurationLw(Configuration config) {
readLidState();
mPowerManager.setKeyboardVisibility(mLidOpen == LID_OPEN);
config.hardKeyboardHidden = determineHiddenState(
mLidKeyboardAccessibility, Configuration.HARDKEYBOARDHIDDEN_YES,
Configuration.HARDKEYBOARDHIDDEN_NO);
config.navigationHidden = determineHiddenState(
mLidNavigationAccessibility, Configuration.NAVIGATIONHIDDEN_YES,
Configuration.NAVIGATIONHIDDEN_NO);
config.keyboardHidden = (config.hardKeyboardHidden
== Configuration.HARDKEYBOARDHIDDEN_NO || mHasSoftInput)
? Configuration.KEYBOARDHIDDEN_NO
: Configuration.KEYBOARDHIDDEN_YES;
if (config.keyboard == Configuration.KEYBOARD_NOKEYS) {
config.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_YES;
} else {
config.hardKeyboardHidden = determineHiddenState(mLidKeyboardAccessibility,
Configuration.HARDKEYBOARDHIDDEN_YES, Configuration.HARDKEYBOARDHIDDEN_NO);
}
if (config.navigation == Configuration.NAVIGATION_NONAV) {
config.navigationHidden = Configuration.NAVIGATIONHIDDEN_YES;
} else {
config.navigationHidden = determineHiddenState(mLidNavigationAccessibility,
Configuration.NAVIGATIONHIDDEN_YES, Configuration.NAVIGATIONHIDDEN_NO);
}
if (mHasSoftInput || config.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
config.keyboardHidden = Configuration.KEYBOARDHIDDEN_NO;
} else {
config.keyboardHidden = Configuration.KEYBOARDHIDDEN_YES;
}
}
/** {@inheritDoc} */
public int windowTypeToLayerLw(int type) {
if (type >= FIRST_APPLICATION_WINDOW && type <= LAST_APPLICATION_WINDOW) {