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

Commit c1f9486a authored by Fabrice Di Meglio's avatar Fabrice Di Meglio Committed by Android (Google) Code Review
Browse files

Merge "Update getLayoutDirectionFromLocale() for using ICU"

parents b47f2f95 c01924f1
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line
@@ -67,17 +67,8 @@ public class LocaleUtil {
            return TEXT_LAYOUT_DIRECTION_UNDEFINED_DO_NOT_USE;
        }

        final String localeWithSubtags = ICU.addLikelySubtags(locale.toString());
        if (localeWithSubtags == null) return getLayoutDirectionFromFirstChar(locale);

        // Need to check if we can extract the script subtag. For example, "Latn" in  "en_Latn_US"
        if (localeWithSubtags.length() <= 7
                || localeWithSubtags.charAt(2) != UNDERSCORE_CHAR
                || localeWithSubtags.charAt(7) != UNDERSCORE_CHAR) {
            return getLayoutDirectionFromFirstChar(locale);
        }
        // Extract the script subtag
        final String scriptSubtag = localeWithSubtags.substring(3, 7);
        final String scriptSubtag = ICU.getScript(ICU.addLikelySubtags(locale.toString()));
        if (scriptSubtag == null) return getLayoutDirectionFromFirstChar(locale);

        if (scriptSubtag.equalsIgnoreCase(ARAB_SCRIPT_SUBTAG) ||
                scriptSubtag.equalsIgnoreCase(HEBR_SCRIPT_SUBTAG)) {
+1 −3
Original line number Diff line number Diff line
@@ -18,14 +18,12 @@ package android.util;

import java.util.Locale;

import android.content.res.Configuration;
import android.test.AndroidTestCase;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;

import static android.util.LocaleUtil.TEXT_LAYOUT_DIRECTION_UNDEFINED_DO_NOT_USE;
import static android.util.LocaleUtil.TEXT_LAYOUT_DIRECTION_LTR_DO_NOT_USE;
import static android.util.LocaleUtil.TEXT_LAYOUT_DIRECTION_RTL_DO_NOT_USE;
import static android.util.LocaleUtil.TEXT_LAYOUT_DIRECTION_UNDEFINED_DO_NOT_USE;

public class LocaleUtilTest extends AndroidTestCase {