aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-05-05 16:33:51 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-05-07 02:42:08 +0900
commitca934420269e18c843181c0dc98cd61cce67dd19 (patch)
tree3a1a3565bd5395da1316d9b6f52cfedc1ac2cf40 /java/src
parent4c9bdcc9579288ca379c49d36c0ba0ec81515ef7 (diff)
downloadlatinime-ca934420269e18c843181c0dc98cd61cce67dd19.tar.gz
latinime-ca934420269e18c843181c0dc98cd61cce67dd19.tar.xz
latinime-ca934420269e18c843181c0dc98cd61cce67dd19.zip
Fix newly created custom input style display name
This will revert I4263632e Bug: 6443665 Bug: 6410653 Change-Id: Id9ad1a204ed9802488abfc2c536a95d62d55afe0
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeLocale.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index 7694b56fc..b7e488410 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -20,6 +20,7 @@ import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOAR
import android.content.Context;
import android.content.res.Resources;
+import android.util.Log;
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.latin.LocaleUtils.RunInLocale;
@@ -28,7 +29,7 @@ import java.util.HashMap;
import java.util.Locale;
public class SubtypeLocale {
- private static final String TAG = SubtypeLocale.class.getSimpleName();
+ static final String TAG = SubtypeLocale.class.getSimpleName();
// This class must be located in the same package as LatinIME.java.
private static final String RESOURCE_PACKAGE_NAME =
DictionaryFactory.class.getPackage().getName();
@@ -38,7 +39,6 @@ public class SubtypeLocale {
public static final String QWERTY = "qwerty";
public static final int UNKNOWN_KEYBOARD_LAYOUT = R.string.subtype_generic;
- private static Context sContext;
private static String[] sPredefinedKeyboardLayoutSet;
// Keyboard layout to its display name map.
private static final HashMap<String, String> sKeyboardKayoutToDisplayNameMap =
@@ -59,7 +59,6 @@ public class SubtypeLocale {
}
public static void init(Context context) {
- sContext = context;
final Resources res = context.getResources();
final String[] predefinedLayoutSet = res.getStringArray(R.array.predefined_layouts);
@@ -129,16 +128,23 @@ public class SubtypeLocale {
// en_US azerty T English (US) (AZERTY)
// zz azerty T No language (AZERTY) in system locale
- public static String getSubtypeDisplayName(InputMethodSubtype subtype, Resources res) {
- // TODO: Remove this check when InputMethodManager.getLastInputMethodSubtype is
- // fixed.
- if (!ImfUtils.checkIfSubtypeBelongsToThisIme(sContext, subtype)) return "";
+ public static String getSubtypeDisplayName(final InputMethodSubtype subtype, Resources res) {
final String language = getSubtypeLocaleDisplayName(subtype.getLocale());
final int nameResId = subtype.getNameResId();
final RunInLocale<String> getSubtypeName = new RunInLocale<String>() {
@Override
protected String job(Resources res) {
- return res.getString(nameResId, language);
+ try {
+ return res.getString(nameResId, language);
+ } catch (Resources.NotFoundException e) {
+ // TODO: Remove this catch when InputMethodManager.getCurrentInputMethodSubtype
+ // is fixed.
+ Log.w(TAG, "Unknown subtype: mode=" + subtype.getMode()
+ + " locale=" + subtype.getLocale()
+ + " extra=" + subtype.getExtraValue()
+ + "\n" + Utils.getStackTrace());
+ return "";
+ }
}
};
final Locale locale = isNoLanguage(subtype)