From a245be6819459ce065d87d00d160df7a1f92097c Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Mon, 23 Apr 2012 12:03:47 +0900 Subject: [PATCH] Fix using keyboard layout display name in custom input style spinner Change-Id: I80626591574aa9995011202cf868f9c2c5168303 --- .../latin/AdditionalSubtypeSettings.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java index b67f327d7..613c20304 100644 --- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java +++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java @@ -109,18 +109,15 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } static class KeyboardLayoutSetItem extends Pair { - public KeyboardLayoutSetItem(String keyboardLayoutSetName) { - super(keyboardLayoutSetName, getDisplayName(keyboardLayoutSetName)); + public KeyboardLayoutSetItem(InputMethodSubtype subtype) { + super(SubtypeLocale.getKeyboardLayoutSetName(subtype), + SubtypeLocale.getKeyboardLayoutSetDisplayName(subtype)); } @Override public String toString() { return second; } - - private static String getDisplayName(String keyboardLayoutSetName) { - return keyboardLayoutSetName.toUpperCase(); - } } static class KeyboardLayoutSetAdapter extends ArrayAdapter { @@ -130,7 +127,10 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { // TODO: Should filter out already existing combinations of locale and layout. for (final String layout : SubtypeLocale.getPredefinedKeyboardLayoutSet()) { - add(new KeyboardLayoutSetItem(layout)); + // This is a dummy subtype with NO_LANGUAGE, only for display. + final InputMethodSubtype subtype = AdditionalSubtype.createAdditionalSubtype( + SubtypeLocale.NO_LANGUAGE, layout, null); + add(new KeyboardLayoutSetItem(subtype)); } } } @@ -196,8 +196,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { .setNegativeButton(R.string.remove, this); final SubtypeLocaleItem localeItem = SubtypeLocaleAdapter.createItem( context, mSubtype.getLocale()); - final KeyboardLayoutSetItem layoutItem = new KeyboardLayoutSetItem( - SubtypeLocale.getKeyboardLayoutSetName(mSubtype)); + final KeyboardLayoutSetItem layoutItem = new KeyboardLayoutSetItem(mSubtype); setSpinnerPosition(mSubtypeLocaleSpinner, localeItem); setSpinnerPosition(mKeyboardLayoutSetSpinner, layoutItem); }