AI 146502: am: CL 145995 am: CL 145993 Fix Phone-oriented default-locale selection.

When several locales for a given language are available we were always
  selecting the first.
  Original author: rgreenwalt
  Merged from: //branches/cupcake/...
  Original author: android-build

Automated import of CL 146502
This commit is contained in:
Robert Greenwalt
2009-04-16 11:06:10 -07:00
committed by The Android Open Source Project
parent d3d7817268
commit a6872ae008

View File

@@ -491,7 +491,7 @@ public abstract class PhoneBase implements Phone {
return; // no match possible
}
language.toLowerCase();
if (null != country) {
if (null == country) {
country = "";
}
country = country.toUpperCase();
@@ -505,10 +505,11 @@ public abstract class PhoneBase implements Phone {
for(int i = 0; i < N; i++) {
if (locales[i]!=null && locales[i].length() >= 2 &&
locales[i].substring(0,2).equals(language)) {
if (locales[i].length() >= 5 &&
locales[i].substring(3,5).equals(country)) {
bestMatch = locales[i];
break;
if (locales[i].length() >= 5) {
if (locales[i].substring(3,5).equals(country)) {
bestMatch = locales[i];
break;
}
} else if (null == bestMatch) {
bestMatch = locales[i];
}
@@ -517,7 +518,6 @@ 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));