aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-02-03 18:37:30 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-02-03 18:48:01 +0900
commit24cd2617f527d3d52c7fa36463002c47024083c8 (patch)
tree69e1f88ced6958aca1606a1d2fe39a75d1751979 /java/src
parent909b2940db78adcc4c3b7fc22d032bfb106d7d39 (diff)
downloadlatinime-24cd2617f527d3d52c7fa36463002c47024083c8.tar.gz
latinime-24cd2617f527d3d52c7fa36463002c47024083c8.tar.xz
latinime-24cd2617f527d3d52c7fa36463002c47024083c8.zip
Filter out empty entry from more keys CSV
Change-Id: I9a26aaa58f0f502b3bfef9de422370d2b0add8d8
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 4e290024c..adb5f4759 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -325,7 +325,7 @@ public class KeySpecParser {
return null;
}
if (Utils.codePointCount(text) == 1) {
- return new String[] { text };
+ return text.codePointAt(0) == COMMA ? null : new String[] { text };
}
ArrayList<String> list = null;
@@ -333,10 +333,13 @@ public class KeySpecParser {
for (int pos = 0; pos < size; pos++) {
final char c = text.charAt(pos);
if (c == COMMA) {
- if (list == null) {
- list = new ArrayList<String>();
+ // Skip empty entry.
+ if (pos - start > 0) {
+ if (list == null) {
+ list = new ArrayList<String>();
+ }
+ list.add(text.substring(start, pos));
}
- list.add(text.substring(start, pos));
// Skip comma
start = pos + 1;
} else if (c == ESCAPE_CHAR) {
@@ -344,10 +347,13 @@ public class KeySpecParser {
pos++;
}
}
+ final String remain = (size - start > 0) ? text.substring(start) : null;
if (list == null) {
- return new String[] { text.substring(start) };
+ return remain != null ? new String[] { remain } : null;
} else {
- list.add(text.substring(start));
+ if (remain != null) {
+ list.add(remain);
+ }
return list.toArray(new String[list.size()]);
}
}