aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-02-05 15:17:51 +0900
committerTadashi G. Takaoka <takaoka@google.com>2014-02-05 17:57:44 +0900
commitf7d8b8fcbcfe137c1c25ca7ea5bd83f856f06b9e (patch)
tree84fe1619701cc03e81317b8d279b1a70f9f4d97a /java/src
parentd9c6b332090c90e4d4840e62fe3eb45c834b2e14 (diff)
downloadlatinime-f7d8b8fcbcfe137c1c25ca7ea5bd83f856f06b9e.tar.gz
latinime-f7d8b8fcbcfe137c1c25ca7ea5bd83f856f06b9e.tar.xz
latinime-f7d8b8fcbcfe137c1c25ca7ea5bd83f856f06b9e.zip
Treat a sole "|" as a special case of key label
Change-Id: Ia72c31d15c891fa522935ba9792e88fd5d8ce7f7
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 2a0dad678..2925a4b76 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -84,14 +84,18 @@ public final class KeySpecParser {
}
private static int indexOfLabelEnd(final String keySpec) {
+ final int length = keySpec.length();
if (keySpec.indexOf(BACKSLASH) < 0) {
final int labelEnd = keySpec.indexOf(VERTICAL_BAR);
if (labelEnd == 0) {
+ if (length == 1) {
+ // Treat a sole vertical bar as a special case of key label.
+ return -1;
+ }
throw new KeySpecParserError("Empty label");
}
return labelEnd;
}
- final int length = keySpec.length();
for (int pos = 0; pos < length; pos++) {
final char c = keySpec.charAt(pos);
if (c == BACKSLASH && pos + 1 < length) {