diff options
author | Adam Powell <adamp@google.com> | 2014-03-14 00:40:11 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-14 00:40:11 +0000 |
commit | b61d39957b5af68138e7bb80c6ef0bbd7796ec95 (patch) | |
tree | b0a9dfa9609432470505ee38fb82a54432999c9c /core | |
parent | dec3c628de9c8d9e9e9cc6c9a3da196462c190fa (diff) | |
parent | 898d6d964cb3b650b5c9bed2276310547e5455e0 (diff) | |
download | frameworks_base-b61d39957b5af68138e7bb80c6ef0bbd7796ec95.zip frameworks_base-b61d39957b5af68138e7bb80c6ef0bbd7796ec95.tar.gz frameworks_base-b61d39957b5af68138e7bb80c6ef0bbd7796ec95.tar.bz2 |
am 898d6d96: am 7f2c9e94: Merge "Add a config override for ViewConfiguration#hasPermanentMenuKey" into klp-dev
* commit '898d6d964cb3b650b5c9bed2276310547e5455e0':
Add a config override for ViewConfiguration#hasPermanentMenuKey
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/ViewConfiguration.java | 39 | ||||
-rw-r--r-- | core/res/res/values/config.xml | 8 | ||||
-rw-r--r-- | core/res/res/values/symbols.xml | 1 |
3 files changed, 42 insertions, 6 deletions
diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index c3f064f..e67659c 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -212,6 +212,14 @@ public class ViewConfiguration { */ private static final int OVERFLING_DISTANCE = 6; + /** + * Configuration values for overriding {@link #hasPermanentMenuKey()} behavior. + * These constants must match the definition in res/values/config.xml. + */ + private static final int HAS_PERMANENT_MENU_KEY_AUTODETECT = 0; + private static final int HAS_PERMANENT_MENU_KEY_TRUE = 1; + private static final int HAS_PERMANENT_MENU_KEY_FALSE = 2; + private final int mEdgeSlop; private final int mFadingEdgeLength; private final int mMinimumFlingVelocity; @@ -296,12 +304,31 @@ public class ViewConfiguration { mOverflingDistance = (int) (sizeAndDensity * OVERFLING_DISTANCE + 0.5f); if (!sHasPermanentMenuKeySet) { - IWindowManager wm = WindowManagerGlobal.getWindowManagerService(); - try { - sHasPermanentMenuKey = !wm.hasNavigationBar(); - sHasPermanentMenuKeySet = true; - } catch (RemoteException ex) { - sHasPermanentMenuKey = false; + final int configVal = res.getInteger( + com.android.internal.R.integer.config_overrideHasPermanentMenuKey); + + switch (configVal) { + default: + case HAS_PERMANENT_MENU_KEY_AUTODETECT: { + IWindowManager wm = WindowManagerGlobal.getWindowManagerService(); + try { + sHasPermanentMenuKey = !wm.hasNavigationBar(); + sHasPermanentMenuKeySet = true; + } catch (RemoteException ex) { + sHasPermanentMenuKey = false; + } + } + break; + + case HAS_PERMANENT_MENU_KEY_TRUE: + sHasPermanentMenuKey = true; + sHasPermanentMenuKeySet = true; + break; + + case HAS_PERMANENT_MENU_KEY_FALSE: + sHasPermanentMenuKey = false; + sHasPermanentMenuKeySet = true; + break; } } diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index b34c792..50b3a35 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1304,4 +1304,12 @@ <item>333</item> <item>353</item> </string-array> + + <!-- Override the default detection behavior for the framework method + android.view.ViewConfiguration#hasPermanentMenuKey(). + Valid settings are: + 0 - No change. Use the default autodetection behavior. + 1 - The device DOES have a permanent menu key; ignore autodetection. + 2 - The device DOES NOT have a permanent menu key; ignore autodetection. --> + <integer name="config_overrideHasPermanentMenuKey">0</integer> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index b635039..4171355 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -318,6 +318,7 @@ <java-symbol type="integer" name="config_mobile_mtu" /> <java-symbol type="integer" name="config_volte_replacement_rat"/> <java-symbol type="integer" name="config_valid_wappush_index" /> + <java-symbol type="integer" name="config_overrideHasPermanentMenuKey" /> <java-symbol type="color" name="tab_indicator_text_v4" /> |