From f7d8b8fcbcfe137c1c25ca7ea5bd83f856f06b9e Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Wed, 5 Feb 2014 15:17:51 +0900 Subject: Treat a sole "|" as a special case of key label Change-Id: Ia72c31d15c891fa522935ba9792e88fd5d8ce7f7 --- .../com/android/inputmethod/keyboard/internal/KeySpecParser.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'java/src') 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) { -- cgit v1.2.3-83-g751a