diff options
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 37 | 
1 files changed, 23 insertions, 14 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index a4275a3d1f5b..b0cd11ae9cee 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -885,20 +885,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {                  com.android.internal.R.integer.config_lidNavigationAccessibility);          mLidControlsSleep = mContext.getResources().getBoolean(                  com.android.internal.R.bool.config_lidControlsSleep); - -        mLongPressOnHomeBehavior = mContext.getResources().getInteger( -                com.android.internal.R.integer.config_longPressOnHomeBehavior); -        if (mLongPressOnHomeBehavior < LONG_PRESS_HOME_NOTHING || -                mLongPressOnHomeBehavior > LONG_PRESS_HOME_ASSIST) { -            mLongPressOnHomeBehavior = LONG_PRESS_HOME_NOTHING; -        } - -        mDoubleTapOnHomeBehavior = mContext.getResources().getInteger( -                com.android.internal.R.integer.config_doubleTapOnHomeBehavior); -        if (mDoubleTapOnHomeBehavior < DOUBLE_TAP_HOME_NOTHING || -                mDoubleTapOnHomeBehavior > DOUBLE_TAP_HOME_RECENT_SYSTEM_UI) { -            mDoubleTapOnHomeBehavior = LONG_PRESS_HOME_NOTHING; -        } +        readConfigurationDependentBehaviors();          // register for dock events          IntentFilter filter = new IntentFilter(); @@ -952,6 +939,27 @@ public class PhoneWindowManager implements WindowManagerPolicy {          }      } +    /** +     * Read values from config.xml that may be overridden depending on +     * the configuration of the device. +     * eg. Disable long press on home goes to recents on sw600dp. +     */ +    private void readConfigurationDependentBehaviors() { +        mLongPressOnHomeBehavior = mContext.getResources().getInteger( +                com.android.internal.R.integer.config_longPressOnHomeBehavior); +        if (mLongPressOnHomeBehavior < LONG_PRESS_HOME_NOTHING || +                mLongPressOnHomeBehavior > LONG_PRESS_HOME_ASSIST) { +            mLongPressOnHomeBehavior = LONG_PRESS_HOME_NOTHING; +        } + +        mDoubleTapOnHomeBehavior = mContext.getResources().getInteger( +                com.android.internal.R.integer.config_doubleTapOnHomeBehavior); +        if (mDoubleTapOnHomeBehavior < DOUBLE_TAP_HOME_NOTHING || +                mDoubleTapOnHomeBehavior > DOUBLE_TAP_HOME_RECENT_SYSTEM_UI) { +            mDoubleTapOnHomeBehavior = LONG_PRESS_HOME_NOTHING; +        } +    } +      @Override      public void setInitialDisplaySize(Display display, int width, int height, int density) {          if (display.getDisplayId() != Display.DEFAULT_DISPLAY) { @@ -1332,6 +1340,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {              int navigationPresence) {          mHaveBuiltInKeyboard = (keyboardPresence & PRESENCE_INTERNAL) != 0; +        readConfigurationDependentBehaviors();          readLidState();          applyLidSwitchState();  |