diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-05-06 14:06:08 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-05-06 14:06:08 -0700 |
commit | 729a901b2a9ca163d6395983711cea1fdc7b5eb5 (patch) | |
tree | 64dece0f1c5d2bb3c6065c1fb7316ede4860fb1d | |
parent | f7598245489c6d28c2673acd269ada2e6e834065 (diff) | |
parent | 027405155ff25ebe760dff03128519fb13cb8311 (diff) | |
download | frameworks_base-729a901b2a9ca163d6395983711cea1fdc7b5eb5.zip frameworks_base-729a901b2a9ca163d6395983711cea1fdc7b5eb5.tar.gz frameworks_base-729a901b2a9ca163d6395983711cea1fdc7b5eb5.tar.bz2 |
Merge change 1099 into donut
* changes:
Fix Phone-based locale selection to never choose a lang-only locale.
-rw-r--r-- | telephony/java/com/android/internal/telephony/PhoneBase.java | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/telephony/java/com/android/internal/telephony/PhoneBase.java b/telephony/java/com/android/internal/telephony/PhoneBase.java index 20c54fb..1ff0f7e 100644 --- a/telephony/java/com/android/internal/telephony/PhoneBase.java +++ b/telephony/java/com/android/internal/telephony/PhoneBase.java @@ -490,7 +490,7 @@ public abstract class PhoneBase implements Phone { if (null == language) { return; // no match possible } - language.toLowerCase(); + language = language.toLowerCase(); if (null == country) { country = ""; } @@ -503,13 +503,12 @@ public abstract class PhoneBase implements Phone { final int N = locales.length; String bestMatch = null; for(int i = 0; i < N; i++) { - if (locales[i]!=null && locales[i].length() >= 2 && + // only match full (lang + country) locales + if (locales[i]!=null && locales[i].length() >= 5 && locales[i].substring(0,2).equals(language)) { - if (locales[i].length() >= 5) { - if (locales[i].substring(3,5).equals(country)) { - bestMatch = locales[i]; - break; - } + if (locales[i].substring(3,5).equals(country)) { + bestMatch = locales[i]; + break; } else if (null == bestMatch) { bestMatch = locales[i]; } @@ -518,12 +517,8 @@ public abstract class PhoneBase implements Phone { if (null != bestMatch) { IActivityManager am = ActivityManagerNative.getDefault(); Configuration config = am.getConfiguration(); - if (bestMatch.length() >= 5) { - config.locale = new Locale(bestMatch.substring(0,2), - bestMatch.substring(3,5)); - } else { - config.locale = new Locale(bestMatch.substring(0,2)); - } + config.locale = new Locale(bestMatch.substring(0,2), + bestMatch.substring(3,5)); config.userSetLocale = true; am.updateConfiguration(config); } |