aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values/keyboard-heights.xml12
-rw-r--r--java/res/values/keypress-vibration-durations.xml10
-rw-r--r--java/res/values/keypress-volumes.xml14
-rw-r--r--java/res/values/phantom-sudden-move-event-device-list.xml4
-rw-r--r--java/res/values/sudden-jumping-touch-event-device-list.xml6
-rw-r--r--java/src/com/android/inputmethod/latin/ResourceUtils.java14
-rw-r--r--java/src/com/android/inputmethod/latin/StringUtils.java21
7 files changed, 44 insertions, 37 deletions
diff --git a/java/res/values/keyboard-heights.xml b/java/res/values/keyboard-heights.xml
index 418d3e5b6..1c0277c2c 100644
--- a/java/res/values/keyboard-heights.xml
+++ b/java/res/values/keyboard-heights.xml
@@ -19,20 +19,20 @@
-->
<resources>
- <!-- Build.HARDWARE,keyboard_height_in_dp -->
+ <!-- Build condition,keyboard_height_in_dp -->
<string-array name="keyboard_heights" translatable="false">
<!-- Preferable keyboard height in absolute scale: 1.285in -->
<!-- Droid -->
- <item>sholes,227.0167</item>
+ <item>HARDWARE=sholes,227.0167</item>
<!-- Nexus One -->
- <item>mahimahi,217.5932</item>
+ <item>HARDWARE=mahimahi,217.5932</item>
<!-- Nexus S -->
- <item>herring,200.8554</item>
+ <item>HARDWARE=herring,200.8554</item>
<!-- Galaxy Nexus -->
- <item>tuna,202.5869</item>
+ <item>HARDWARE=tuna,202.5869</item>
<!-- Preferable keyboard height in absolute scale: 48.0mm -->
<!-- Xoom -->
- <item>stingray,283.1337</item>
+ <item>HARDWARE=stingray,283.1337</item>
<!-- Default value for unknown device: empty string -->
<item>DEFAULT,</item>
</string-array>
diff --git a/java/res/values/keypress-vibration-durations.xml b/java/res/values/keypress-vibration-durations.xml
index 10400be83..45c51e71b 100644
--- a/java/res/values/keypress-vibration-durations.xml
+++ b/java/res/values/keypress-vibration-durations.xml
@@ -18,16 +18,16 @@
*/
-->
<resources>
- <!-- Build.HARDWARE,duration_in_milliseconds -->
+ <!-- Build condition,duration_in_milliseconds -->
<string-array name="keypress_vibration_durations" translatable="false">
<!-- Nexus S -->
- <item>herring,5</item>
+ <item>HARDWARE=herring,5</item>
<!-- Galaxy Nexus -->
- <item>tuna,5</item>
+ <item>HARDWARE=tuna,5</item>
<!-- Nexus 4 -->
- <item>mako,5</item>
+ <item>HARDWARE=mako,5</item>
<!-- Nexus 10 -->
- <item>manta,16</item>
+ <item>HARDWARE=manta,16</item>
<!-- Default value for unknown device -->
<item>DEFAULT,20</item>
</string-array>
diff --git a/java/res/values/keypress-volumes.xml b/java/res/values/keypress-volumes.xml
index 047fe0c5f..7061f1310 100644
--- a/java/res/values/keypress-volumes.xml
+++ b/java/res/values/keypress-volumes.xml
@@ -18,14 +18,14 @@
*/
-->
<resources>
+ <!-- Build condition,volume -->
<string-array name="keypress_volumes" translatable="false">
- <!-- Build.HARDWARE,volume -->
- <item>herring,0.5f</item>
- <item>tuna,0.5f</item>
- <item>stingray,0.4f</item>
- <item>grouper,0.3f</item>
- <item>mako,0.3f</item>
- <item>manta,0.2f</item>
+ <item>HARDWARE=herring,0.5f</item>
+ <item>HARDWARE=tuna,0.5f</item>
+ <item>HARDWARE=stingray,0.4f</item>
+ <item>HARDWARE=grouper,0.3f</item>
+ <item>HARDWARE=mako,0.3f</item>
+ <item>HARDWARE=manta,0.2f</item>
<!-- Default value for unknown device -->
<item>DEFAULT,0.2f</item>
</string-array>
diff --git a/java/res/values/phantom-sudden-move-event-device-list.xml b/java/res/values/phantom-sudden-move-event-device-list.xml
index 22f510229..d0895b158 100644
--- a/java/res/values/phantom-sudden-move-event-device-list.xml
+++ b/java/res/values/phantom-sudden-move-event-device-list.xml
@@ -19,10 +19,10 @@
-->
<resources>
<string-array name="phantom_sudden_move_event_device_list" translatable="false">
- <!-- "Build.HARDWARE,true" that needs "phantom sudden move event" hack.
+ <!-- "Build condition,true" that needs "phantom sudden move event" hack.
See {@link com.android.inputmethod.keyboard.PointerTracker}. -->
<!-- Xoom -->
- <item>stingray,true</item>
+ <item>HARDWARE=stingray,true</item>
<!-- Default value for unknown device -->
<item>DEFAULT,false</item>
</string-array>
diff --git a/java/res/values/sudden-jumping-touch-event-device-list.xml b/java/res/values/sudden-jumping-touch-event-device-list.xml
index 3fdc0c7e3..73e30c17d 100644
--- a/java/res/values/sudden-jumping-touch-event-device-list.xml
+++ b/java/res/values/sudden-jumping-touch-event-device-list.xml
@@ -19,12 +19,12 @@
-->
<resources>
<string-array name="sudden_jumping_touch_event_device_list" translatable="false">
- <!-- "Build.HARDWARE,true" that needs "sudden jump touch event" hack.
+ <!-- "Build condition,true" that needs "sudden jump touch event" hack.
See {@link com.android.inputmethod.keyboard.SuddenJumpingTouchEventHandler}. -->
<!-- Nexus One -->
- <item>mahimahi,true</item>
+ <item>HARDWARE=mahimahi,true</item>
<!-- Droid -->
- <item>sholes,true</item>
+ <item>HARDWARE=sholes,true</item>
<!-- Default value for unknown device -->
<item>DEFAULT,false</item>
</string-array>
diff --git a/java/src/com/android/inputmethod/latin/ResourceUtils.java b/java/src/com/android/inputmethod/latin/ResourceUtils.java
index b74b979b5..f0bfe75fe 100644
--- a/java/src/com/android/inputmethod/latin/ResourceUtils.java
+++ b/java/src/com/android/inputmethod/latin/ResourceUtils.java
@@ -35,8 +35,7 @@ public final class ResourceUtils {
// This utility class is not publicly instantiable.
}
- private static final String DEFAULT_PREFIX = "DEFAULT,";
- private static final String HARDWARE_PREFIX = Build.HARDWARE + ",";
+ private static final String DEFAULT_KEY = "DEFAULT";
private static final HashMap<String, String> sDeviceOverrideValueMap =
CollectionUtils.newHashMap();
@@ -48,28 +47,29 @@ public final class ResourceUtils {
}
final String[] overrideArray = res.getStringArray(overrideResId);
- final String overrideValue = StringUtils.findPrefixedString(HARDWARE_PREFIX, overrideArray);
+ final String hardwareKey = "HARDWARE=" + Build.HARDWARE;
+ final String overrideValue = StringUtils.findValueOfKey(hardwareKey, overrideArray);
// The overrideValue might be an empty string.
if (overrideValue != null) {
if (DEBUG) {
Log.d(TAG, "Find override value:"
+ " resource="+ res.getResourceEntryName(overrideResId)
- + " Build.HARDWARE=" + Build.HARDWARE + " override=" + overrideValue);
+ + " " + hardwareKey + " override=" + overrideValue);
}
sDeviceOverrideValueMap.put(key, overrideValue);
return overrideValue;
}
- final String defaultValue = StringUtils.findPrefixedString(DEFAULT_PREFIX, overrideArray);
+ final String defaultValue = StringUtils.findValueOfKey(DEFAULT_KEY, overrideArray);
// The defaultValue might be an empty string.
if (defaultValue == null) {
Log.w(TAG, "Couldn't find override value nor default value:"
+ " resource="+ res.getResourceEntryName(overrideResId)
- + " Build.HARDWARE=" + Build.HARDWARE);
+ + " " + hardwareKey);
} else if (DEBUG) {
Log.d(TAG, "Found default value:"
+ " resource="+ res.getResourceEntryName(overrideResId)
- + " Build.HARDWARE=" + Build.HARDWARE + " default=" + defaultValue);
+ + " " + hardwareKey + " " + DEFAULT_KEY + "=" + defaultValue);
}
sDeviceOverrideValueMap.put(key, defaultValue);
return defaultValue;
diff --git a/java/src/com/android/inputmethod/latin/StringUtils.java b/java/src/com/android/inputmethod/latin/StringUtils.java
index d5ee58a63..5ff101f7a 100644
--- a/java/src/com/android/inputmethod/latin/StringUtils.java
+++ b/java/src/com/android/inputmethod/latin/StringUtils.java
@@ -65,17 +65,24 @@ public final class StringUtils {
}
/**
- * Find a string that start with specified prefix from an array.
+ * Find a value that has a specified key from an array of key-comma-value.
*
- * @param prefix a prefix string to find.
- * @param array an string array to be searched.
- * @return the rest part of the string that starts with the prefix.
+ * @param key a key string to find.
+ * @param array an array of key-comma-value string to be searched.
+ * @return the value part of the first string that has a specified key.
* Returns null if it couldn't be found.
*/
- public static String findPrefixedString(final String prefix, final String[] array) {
+ public static String findValueOfKey(final String key, final String[] array) {
+ if (array == null) {
+ return null;
+ }
for (final String element : array) {
- if (element.startsWith(prefix)) {
- return element.substring(prefix.length());
+ final int posComma = element.indexOf(',');
+ if (posComma < 0) {
+ throw new RuntimeException("Element has no comma: " + element);
+ }
+ if (element.substring(0, posComma).equals(key)) {
+ return element.substring(posComma + 1);
}
}
return null;