am 5a88787e
: Merge "Add SubtypeLocale class" into honeycomb
* commit '5a88787e674a2079f964f5ffaca7ae01cf979600': Add SubtypeLocale class
This commit is contained in:
commit
cb547f6ddb
3 changed files with 59 additions and 1 deletions
|
@ -138,4 +138,14 @@
|
||||||
<item>4</item>
|
<item>4</item>
|
||||||
<item>5</item>
|
<item>5</item>
|
||||||
</string-array>
|
</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>
|
</resources>
|
||||||
|
|
46
java/src/com/android/inputmethod/latin/SubtypeLocale.java
Normal file
46
java/src/com/android/inputmethod/latin/SubtypeLocale.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -83,6 +83,8 @@ public class SubtypeSwitcher {
|
||||||
sInstance.mPrefs = prefs;
|
sInstance.mPrefs = prefs;
|
||||||
sInstance.resetParams(service);
|
sInstance.resetParams(service);
|
||||||
sInstance.updateAllParameters();
|
sInstance.updateAllParameters();
|
||||||
|
|
||||||
|
SubtypeLocale.init(service);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SubtypeSwitcher() {
|
private SubtypeSwitcher() {
|
||||||
|
@ -430,7 +432,7 @@ public class SubtypeSwitcher {
|
||||||
|
|
||||||
public static String getFullDisplayName(Locale locale, boolean returnsNameInThisLocale) {
|
public static String getFullDisplayName(Locale locale, boolean returnsNameInThisLocale) {
|
||||||
if (returnsNameInThisLocale) {
|
if (returnsNameInThisLocale) {
|
||||||
return toTitleCase(locale.getDisplayName(locale));
|
return toTitleCase(SubtypeLocale.getFullDisplayName(locale));
|
||||||
} else {
|
} else {
|
||||||
return toTitleCase(locale.getDisplayName());
|
return toTitleCase(locale.getDisplayName());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue