summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/inputmethod/LocaleUtils.java10
-rw-r--r--services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java2
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");
}
}