am 8d4faa9e: Merge change 7977 into donut

Merge commit '8d4faa9ec3e29695b8d5d039bc8ac12d9bd655a8'

* commit '8d4faa9ec3e29695b8d5d039bc8ac12d9bd655a8':
  Add a way to override the display names for locales in the locale picker.
This commit is contained in:
Android (Google) Code Review
2009-07-21 14:38:09 -07:00
committed by Android Git Automerger
2 changed files with 34 additions and 6 deletions

View File

@@ -39,6 +39,8 @@ public class LocalePicker extends ListActivity {
private static final String TAG = "LocalePicker";
Loc[] mLocales;
String[] mSpecialLocaleCodes;
String[] mSpecialLocaleNames;
private static class Loc implements Comparable {
static Collator sCollator = Collator.getInstance();
@@ -70,6 +72,9 @@ public class LocalePicker extends ListActivity {
super.onCreate(icicle);
setContentView(getContentView());
mSpecialLocaleCodes = getResources().getStringArray(R.array.special_locale_codes);
mSpecialLocaleNames = getResources().getStringArray(R.array.special_locale_names);
String[] locales = getAssets().getLocales();
Arrays.sort(locales);
@@ -98,15 +103,13 @@ public class LocalePicker extends ListActivity {
language)) {
Log.v(TAG, "backing up and fixing "+
preprocess[finalSize-1].label+" to "+
preprocess[finalSize-1].locale.
getDisplayName(l));
getDisplayName(preprocess[finalSize-1].locale));
preprocess[finalSize-1].label = toTitleCase(
preprocess[finalSize-1].
locale.getDisplayName(l));
getDisplayName(preprocess[finalSize-1].locale));
Log.v(TAG, " and adding "+
toTitleCase(l.getDisplayName(l)));
toTitleCase(getDisplayName(l)));
preprocess[finalSize++] =
new Loc(toTitleCase(l.getDisplayName(l)), l);
new Loc(toTitleCase(getDisplayName(l)), l);
} else {
String displayName;
if (s.equals("zz_ZZ")) {
@@ -140,6 +143,18 @@ public class LocalePicker extends ListActivity {
return Character.toUpperCase(s.charAt(0)) + s.substring(1);
}
private String getDisplayName(Locale l) {
String code = l.toString();
for (int i = 0; i < mSpecialLocaleCodes.length; i++) {
if (mSpecialLocaleCodes[i].equals(code)) {
return mSpecialLocaleNames[i];
}
}
return l.getDisplayName(l);
}
@Override
public void onResume() {
super.onResume();