Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed65bc0c authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Fix special handling of a fake language code "tl".

My previous CL 92280cd3 [1] had a silly
mistake that "tl" is converted to "fil" but "tl_PH" is not.

  [1] I94f203bddceb9c87710cb187cc3cc0ee6d9092a5

With this CL, the compatibility rewrite-rule from "tl" to "fil" starts
working regardless of the existence of countly/variant subtags in locale
string.  So far the only affected platfrom is API Level 23.

Bug: 20696126
Change-Id: Ica9cd2baac002c406f92331aadd7725d7424046a
parent be161337
Loading
Loading
Loading
Loading
+8 −8
Original line number Original line Diff line number Diff line
@@ -377,9 +377,6 @@ public class InputMethodUtils {
        }
        }
        // TODO: Use {@link Locale#toLanguageTag()} and {@link Locale#forLanguageTag(languageTag)}.
        // TODO: Use {@link Locale#toLanguageTag()} and {@link Locale#forLanguageTag(languageTag)}.
        String[] localeParams = localeStr.split("_", 3);
        String[] localeParams = localeStr.split("_", 3);
        // 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])) {
        if (localeParams.length >= 1 && "tl".equals(localeParams[0])) {
             // Convert a locale whose language is "tl" to one whose language is "fil".
             // Convert a locale whose language is "tl" to one whose language is "fil".
             // For example, "tl_PH" will get converted to "fil_PH".
             // For example, "tl_PH" will get converted to "fil_PH".
@@ -388,6 +385,9 @@ public class InputMethodUtils {
             // On Lollipop and above, the current three letter version must be used.
             // On Lollipop and above, the current three letter version must be used.
             localeParams[0] = "fil";
             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) {
            return new Locale(localeParams[0]);
            return new Locale(localeParams[0]);
        } else if (localeParams.length == 2) {
        } else if (localeParams.length == 2) {
            return new Locale(localeParams[0], localeParams[1]);
            return new Locale(localeParams[0], localeParams[1]);