From 23a7998edde3b25d4dc7a14b8a653ccd325d2405 Mon Sep 17 00:00:00 2001 From: Dan Zivkovic Date: Fri, 27 Mar 2015 12:19:47 -0700 Subject: [PATCH] Not all cyrillic scripts use east_slavic layout. Bug 19963288. Change-Id: I6d61110be11b260a4ec8e8c85fa0a32064e051e3 --- .../latin/spellcheck/AndroidSpellCheckerService.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java index 00f69f158..7d8517078 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java @@ -125,7 +125,12 @@ public final class AndroidSpellCheckerService extends SpellCheckerService return mRecommendedThreshold; } - private static String getKeyboardLayoutNameForScript(final int script) { + private static String getKeyboardLayoutNameForLocale(final Locale locale) { + // See b/19963288. + if (locale.getLanguage().equals("sr")) { + return "south_slavic"; + } + final int script = ScriptUtils.getScriptFromSpellCheckerLocale(locale); switch (script) { case ScriptUtils.SCRIPT_LATIN: return "qwerty"; @@ -247,8 +252,7 @@ public final class AndroidSpellCheckerService extends SpellCheckerService } private Keyboard createKeyboardForLocale(final Locale locale) { - final int script = ScriptUtils.getScriptFromSpellCheckerLocale(locale); - final String keyboardLayoutName = getKeyboardLayoutNameForScript(script); + final String keyboardLayoutName = getKeyboardLayoutNameForLocale(locale); final InputMethodSubtype subtype = AdditionalSubtypeUtils.createDummyAdditionalSubtype( locale.toString(), keyboardLayoutName); final KeyboardLayoutSet keyboardLayoutSet = createKeyboardSetForSpellChecker(subtype);