Merge "Fix special handling of a fake language code "tl"." am: 9fd2af6b32 am: 30e321b54a
am: d42df4f68e

* commit 'd42df4f68e16bc3800d4d944caddbcbe79986fe8':
  Fix special handling of a fake language code "tl".
diff --git a/core/java/com/android/internal/inputmethod/InputMethodUtils.java b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
index 01ac22e..f0c1094 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@ -371,17 +371,17 @@
         }
         // TODO: Use {@link Locale#toLanguageTag()} and {@link Locale#forLanguageTag(languageTag)}.
         String[] localeParams = localeStr.split("_", 3);
+        if (localeParams.length >= 1 && "tl".equals(localeParams[0])) {
+             // Convert a locale whose language is "tl" to one whose language is "fil".
+             // For example, "tl_PH" will get converted to "fil_PH".
+             // Versions of Android earlier than Lollipop did not support three letter language
+             // codes, and used "tl" (Tagalog) as the language string for "fil" (Filipino).
+             // On Lollipop and above, the current three letter version must be used.
+             localeParams[0] = "fil";
+        }
         // The length of localeStr is guaranteed to always return a 1 <= value <= 3
         // because localeStr is not empty.
         if (localeParams.length == 1) {
-            if (localeParams.length >= 1 && "tl".equals(localeParams[0])) {
-                // Convert a locale whose language is "tl" to one whose language is "fil".
-                // For example, "tl_PH" will get converted to "fil_PH".
-                // Versions of Android earlier than Lollipop did not support three letter language
-                // codes, and used "tl" (Tagalog) as the language string for "fil" (Filipino).
-                // On Lollipop and above, the current three letter version must be used.
-                localeParams[0] = "fil";
-            }
             return new Locale(localeParams[0]);
         } else if (localeParams.length == 2) {
             return new Locale(localeParams[0], localeParams[1]);