diff options
author | 2012-05-06 10:46:07 -0700 | |
---|---|---|
committer | 2012-05-06 10:46:07 -0700 | |
commit | 4e6c60464580213cda67c46499259d2ff0bbc493 (patch) | |
tree | 8c9a65e32a9697a2c2a4095c5668160e53114347 /java/src | |
parent | 3665e2a8fc29c9bbe98d1c73e00af26abd6a5421 (diff) | |
parent | ca934420269e18c843181c0dc98cd61cce67dd19 (diff) | |
download | latinime-4e6c60464580213cda67c46499259d2ff0bbc493.tar.gz latinime-4e6c60464580213cda67c46499259d2ff0bbc493.tar.xz latinime-4e6c60464580213cda67c46499259d2ff0bbc493.zip |
Merge "Fix newly created custom input style display name" into jb-dev
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/SubtypeLocale.java | 22 |
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) |