diff options
author | 2012-02-03 18:37:30 +0900 | |
---|---|---|
committer | 2012-02-03 18:48:01 +0900 | |
commit | 24cd2617f527d3d52c7fa36463002c47024083c8 (patch) | |
tree | 69e1f88ced6958aca1606a1d2fe39a75d1751979 /java/src | |
parent | 909b2940db78adcc4c3b7fc22d032bfb106d7d39 (diff) | |
download | latinime-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.java | 18 |
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()]); } } |