summaryrefslogtreecommitdiffstats
path: root/core/java/android/util/LocaleUtil.java
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2011-06-16 02:25:35 -0700
committerKenny Root <kroot@google.com>2011-06-16 02:28:00 -0700
commit49e3b372ab288992a4705dfe7f37fbd732d06aed (patch)
treed6cc08c6161be590c1bf8913c839d9bdfdab9c72 /core/java/android/util/LocaleUtil.java
parentfb2f3a530f74f1dfa3ce3dc4079729b5e6607f43 (diff)
downloadframeworks_base-49e3b372ab288992a4705dfe7f37fbd732d06aed.zip
frameworks_base-49e3b372ab288992a4705dfe7f37fbd732d06aed.tar.gz
frameworks_base-49e3b372ab288992a4705dfe7f37fbd732d06aed.tar.bz2
Fix crash determining direction of invalid locale
The layoutlib is used in the SDK which might not have a default Locale, so the language string will be some kind of junk. This causes a crash in the new LocaleUtils Change-Id: I24e5115c56e39d394dcf89ec6cff609525b3c73e
Diffstat (limited to 'core/java/android/util/LocaleUtil.java')
-rw-r--r--core/java/android/util/LocaleUtil.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/util/LocaleUtil.java b/core/java/android/util/LocaleUtil.java
index 4511d94..e767a85 100644
--- a/core/java/android/util/LocaleUtil.java
+++ b/core/java/android/util/LocaleUtil.java
@@ -71,8 +71,9 @@ public class LocaleUtil {
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.charAt(2) != UNDERSCORE_CHAR ||
- localeWithSubtags.charAt(7) != UNDERSCORE_CHAR) {
+ if (localeWithSubtags.length() <= 7
+ || localeWithSubtags.charAt(2) != UNDERSCORE_CHAR
+ || localeWithSubtags.charAt(7) != UNDERSCORE_CHAR) {
return getLayoutDirectionFromFirstChar(locale);
}
// Extract the script subtag