Fix upper case Eszett more key

Bug: 6773873
Change-Id: I1a533c729c312a53663fb142cb6fcb4915b53206
main
Tadashi G. Takaoka 2012-07-05 14:13:21 +09:00
parent 7aeb7ef1ab
commit 5946838b8e
1 changed files with 11 additions and 3 deletions

View File

@ -68,12 +68,20 @@ public class KeySpecParser {
public MoreKeySpec(final String moreKeySpec, boolean needsToUpperCase, Locale locale,
final KeyboardCodesSet codesSet) {
mCode = toUpperCaseOfCodeForLocale(getCode(moreKeySpec, codesSet),
needsToUpperCase, locale);
mLabel = toUpperCaseOfStringForLocale(getLabel(moreKeySpec),
needsToUpperCase, locale);
mOutputText = toUpperCaseOfStringForLocale(getOutputText(moreKeySpec),
final int code = toUpperCaseOfCodeForLocale(getCode(moreKeySpec, codesSet),
needsToUpperCase, locale);
if (code == Keyboard.CODE_UNSPECIFIED) {
// Some letter, for example German Eszett (U+00DF: "ß"), has multiple characters
// upper case representation ("SS").
mCode = Keyboard.CODE_OUTPUT_TEXT;
mOutputText = mLabel;
} else {
mCode = code;
mOutputText = toUpperCaseOfStringForLocale(getOutputText(moreKeySpec),
needsToUpperCase, locale);
}
mIconId = getIconId(moreKeySpec);
}
}