Merge "Update getLayoutDirectionFromLocale() for using ICU"
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 @@
             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 @@
 
 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 {