From feabd2c7304f05eab30eebeb50016b073735443b Mon Sep 17 00:00:00 2001 From: Justin Koh Date: Fri, 2 May 2014 10:02:44 -0700 Subject: [PATCH] Make global action key timeout configurable. Make global action key timeout configurable: deprecated the old public method and created a new one: getDeviceGlobalActionKeyTimeout. Bug: 14441321 Change-Id: Ifa9b136984a9f02cfe4040baeff11275174967c5 --- api/current.txt | 3 ++- core/java/android/view/ViewConfiguration.java | 16 ++++++++++++++++ core/res/res/values/config.xml | 3 +++ core/res/res/values/symbols.xml | 1 + .../internal/policy/impl/PhoneWindowManager.java | 7 ++++--- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/api/current.txt b/api/current.txt index 2464e38eae22a..2638ee45260f6 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28382,10 +28382,11 @@ package android.view { public class ViewConfiguration { ctor public deprecated ViewConfiguration(); method public static android.view.ViewConfiguration get(android.content.Context); + method public long getDeviceGlobalActionKeyTimeout(); method public static int getDoubleTapTimeout(); method public static deprecated int getEdgeSlop(); method public static deprecated int getFadingEdgeLength(); - method public static long getGlobalActionKeyTimeout(); + method public static deprecated long getGlobalActionKeyTimeout(); method public static int getJumpTapTimeout(); method public static int getKeyRepeatDelay(); method public static int getKeyRepeatTimeout(); diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index 7417abb881f72..4b8541eb710d1 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -234,6 +234,7 @@ public class ViewConfiguration { private final int mOverscrollDistance; private final int mOverflingDistance; private final boolean mFadingMarqueeEnabled; + private final long mGlobalActionsKeyTimeout; private boolean sHasPermanentMenuKey; private boolean sHasPermanentMenuKeySet; @@ -261,6 +262,7 @@ public class ViewConfiguration { mOverscrollDistance = OVERSCROLL_DISTANCE; mOverflingDistance = OVERFLING_DISTANCE; mFadingMarqueeEnabled = true; + mGlobalActionsKeyTimeout = GLOBAL_ACTIONS_KEY_TIMEOUT; } /** @@ -342,6 +344,8 @@ public class ViewConfiguration { com.android.internal.R.dimen.config_viewMinFlingVelocity); mMaximumFlingVelocity = res.getDimensionPixelSize( com.android.internal.R.dimen.config_viewMaxFlingVelocity); + mGlobalActionsKeyTimeout = res.getInteger( + com.android.internal.R.integer.config_globalActionsKeyTimeout); } /** @@ -698,11 +702,23 @@ public class ViewConfiguration { * * @return how long a user needs to press the relevant key to bring up * the global actions dialog. + * @deprecated use getDeviceGlobalActionKeyTimeout */ public static long getGlobalActionKeyTimeout() { return GLOBAL_ACTIONS_KEY_TIMEOUT; } + /** + * The amount of time a user needs to press the relevant key to bring up + * the global actions dialog. + * + * @return how long a user needs to press the relevant key to bring up + * the global actions dialog. + */ + public long getDeviceGlobalActionKeyTimeout() { + return mGlobalActionsKeyTimeout; + } + /** * The amount of friction applied to scrolls and flings. * diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 602c4f6fe1be8..9d27164c55630 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1191,6 +1191,9 @@ 8000dp + + 500 + 2 diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index f027da0c1a188..e2e7a34a7736d 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1637,6 +1637,7 @@ + diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 2b7bbd0424f47..dd7abb6eb1035 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -668,7 +668,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { private void interceptPowerKeyDown(boolean handled) { mPowerKeyHandled = handled; if (!handled) { - mHandler.postDelayed(mPowerLongPress, ViewConfiguration.getGlobalActionKeyTimeout()); + mHandler.postDelayed(mPowerLongPress, + ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); } } @@ -707,9 +708,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mKeyguardDelegate.isShowing()) { // Double the time it takes to take a screenshot from the keyguard return (long) (KEYGUARD_SCREENSHOT_CHORD_DELAY_MULTIPLIER * - ViewConfiguration.getGlobalActionKeyTimeout()); + ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); } - return ViewConfiguration.getGlobalActionKeyTimeout(); + return ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout(); } private void cancelPendingScreenshotChordAction() {