summaryrefslogtreecommitdiffstats
path: root/core/java/android/util/LocaleUtil.java
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2011-06-15 17:41:13 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2011-06-16 14:40:31 -0700
commitc01924f156710e0c92bef13ec0b1a1e057b793d1 (patch)
tree48673dc59f5da3b46b8101dca3006de6c7be3d21 /core/java/android/util/LocaleUtil.java
parent179cfcf65499e0da07d44b38cbb657a4ca898e63 (diff)
downloadframeworks_base-c01924f156710e0c92bef13ec0b1a1e057b793d1.zip
frameworks_base-c01924f156710e0c92bef13ec0b1a1e057b793d1.tar.gz
frameworks_base-c01924f156710e0c92bef13ec0b1a1e057b793d1.tar.bz2
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
Diffstat (limited to 'core/java/android/util/LocaleUtil.java')
-rw-r--r--core/java/android/util/LocaleUtil.java13
1 files changed, 2 insertions, 11 deletions
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)) {