diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2011-06-15 17:41:13 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2011-06-16 14:40:31 -0700 |
commit | c01924f156710e0c92bef13ec0b1a1e057b793d1 (patch) | |
tree | 48673dc59f5da3b46b8101dca3006de6c7be3d21 | |
parent | 179cfcf65499e0da07d44b38cbb657a4ca898e63 (diff) | |
download | frameworks_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
-rw-r--r-- | core/java/android/util/LocaleUtil.java | 13 | ||||
-rw-r--r-- | core/tests/coretests/src/android/util/LocaleUtilTest.java | 4 |
2 files changed, 3 insertions, 14 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)) { diff --git a/core/tests/coretests/src/android/util/LocaleUtilTest.java b/core/tests/coretests/src/android/util/LocaleUtilTest.java index 5aa99c1..203781f 100644 --- a/core/tests/coretests/src/android/util/LocaleUtilTest.java +++ b/core/tests/coretests/src/android/util/LocaleUtilTest.java @@ -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 { |