From c01924f156710e0c92bef13ec0b1a1e057b793d1 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Wed, 15 Jun 2011 17:41:13 -0700 Subject: Update getLayoutDirectionFromLocale() for using ICU - now relying on ICU.getScript() and ICU.addLikelySubtags() for getting the locale script - clean unit tests imports Change-Id: Icdc45fa78490d1e2dde0e83bca0feea8aa205cdf --- core/java/android/util/LocaleUtil.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'core/java/android/util') diff --git a/core/java/android/util/LocaleUtil.java b/core/java/android/util/LocaleUtil.java index e767a85..74a930f 100644 --- a/core/java/android/util/LocaleUtil.java +++ b/core/java/android/util/LocaleUtil.java @@ -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)) { -- cgit v1.1