summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2014-03-14 00:40:11 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-14 00:40:11 +0000
commitb61d39957b5af68138e7bb80c6ef0bbd7796ec95 (patch)
treeb0a9dfa9609432470505ee38fb82a54432999c9c /core
parentdec3c628de9c8d9e9e9cc6c9a3da196462c190fa (diff)
parent898d6d964cb3b650b5c9bed2276310547e5455e0 (diff)
downloadframeworks_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.java39
-rw-r--r--core/res/res/values/config.xml8
-rw-r--r--core/res/res/values/symbols.xml1
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" />