am 5a88787e: Merge "Add SubtypeLocale class" into honeycomb

* commit '5a88787e674a2079f964f5ffaca7ae01cf979600':
  Add SubtypeLocale class
This commit is contained in:
Tadashi G. Takaoka 2011-01-14 05:26:55 -08:00 committed by Android Git Automerger
commit cb547f6ddb
3 changed files with 59 additions and 1 deletions

View file

@ -138,4 +138,14 @@
<item>4</item>
<item>5</item>
</string-array>
<!-- Subtype locale name exceptions -->
<string-array name="subtype_locale_exception_keys">
<item>en_US</item>
<item>en_GB</item>
</string-array>
<string-array name="subtype_locale_exception_values">
<item>English (US)</item>
<item>English (UK)</item>
</string-array>
</resources>

View file

@ -0,0 +1,46 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.inputmethod.latin;
import android.content.Context;
import android.content.res.Resources;
import java.util.Locale;
public class SubtypeLocale {
private static String[] sExceptionKeys;
private static String[] sExceptionValues;
private SubtypeLocale() {
// Intentional empty constructor for utility class.
}
public static void init(Context context) {
final Resources res = context.getResources();
sExceptionKeys = res.getStringArray(R.array.subtype_locale_exception_keys);
sExceptionValues = res.getStringArray(R.array.subtype_locale_exception_values);
}
public static String getFullDisplayName(Locale locale) {
String localeCode = locale.toString();
for (int index = 0; index < sExceptionKeys.length; index++) {
if (sExceptionKeys[index].equals(localeCode))
return sExceptionValues[index];
}
return locale.getDisplayName(locale);
}
}

View file

@ -83,6 +83,8 @@ public class SubtypeSwitcher {
sInstance.mPrefs = prefs;
sInstance.resetParams(service);
sInstance.updateAllParameters();
SubtypeLocale.init(service);
}
private SubtypeSwitcher() {
@ -430,7 +432,7 @@ public class SubtypeSwitcher {
public static String getFullDisplayName(Locale locale, boolean returnsNameInThisLocale) {
if (returnsNameInThisLocale) {
return toTitleCase(locale.getDisplayName(locale));
return toTitleCase(SubtypeLocale.getFullDisplayName(locale));
} else {
return toTitleCase(locale.getDisplayName());
}