diff options
| -rw-r--r-- | services/core/java/com/android/server/inputmethod/LocaleUtils.java | 10 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/inputmethod/LocaleUtils.java b/services/core/java/com/android/server/inputmethod/LocaleUtils.java index 7d090dbcc5d8..0b16af29da28 100644 --- a/services/core/java/com/android/server/inputmethod/LocaleUtils.java +++ b/services/core/java/com/android/server/inputmethod/LocaleUtils.java @@ -212,10 +212,16 @@ final class LocaleUtils { /** * Returns the language component of a given locale string. - * TODO: Use {@link Locale#toLanguageTag()} and {@link Locale#forLanguageTag(String)} + * TODO(b/321064051): Switch to {@link + * com.android.internal.inputmethod.SubtypeLocaleUtils#constructLocaleFromString(String)} */ static String getLanguageFromLocaleString(String locale) { - return Locale.forLanguageTag(locale).getLanguage(); + final int idx = locale.indexOf('_'); + if (idx < 0) { + return locale; + } else { + return locale.substring(0, idx); + } } static Locale getSystemLocaleFromContext(Context context) { diff --git a/services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java b/services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java index 255cb6499d8a..01f8129c2cd7 100644 --- a/services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java +++ b/services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java @@ -392,6 +392,6 @@ public class LocaleUtilsTest { @Test public void testGetLanguageFromLocaleString() { assertThat(LocaleUtils.getLanguageFromLocaleString("en")).isEqualTo("en"); - assertThat(LocaleUtils.getLanguageFromLocaleString("en-US")).isEqualTo("en"); + assertThat(LocaleUtils.getLanguageFromLocaleString("en_US")).isEqualTo("en"); } } |