Merge "Stop displaying locale string on short space bar"

main
Tadashi G. Takaoka 2014-03-28 04:49:17 +00:00 committed by Android (Google) Code Review
commit f173b12b03
3 changed files with 34 additions and 80 deletions

View File

@ -930,11 +930,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
return middleText; return middleText;
} }
final String shortText = SubtypeLocaleUtils.getShortDisplayName(subtype);
if (fitsTextIntoWidth(width, shortText, paint)) {
return shortText;
}
return ""; return "";
} }

View File

@ -201,11 +201,11 @@ public final class SubtypeLocaleUtils {
// fr_CH swiss F Français (Suisse) // fr_CH swiss F Français (Suisse)
// de qwertz F Deutsch // de qwertz F Deutsch
// de_CH swiss T Deutsch (Schweiz) // de_CH swiss T Deutsch (Schweiz)
// zz qwerty F No language (QWERTY) in system locale // zz qwerty F Alphabet (QWERTY) in system locale
// fr qwertz T Français (QWERTZ) // fr qwertz T Français (QWERTZ)
// de qwerty T Deutsch (QWERTY) // de qwerty T Deutsch (QWERTY)
// en_US azerty T English (US) (AZERTY) exception // en_US azerty T English (US) (AZERTY) exception
// zz azerty T No language (AZERTY) in system locale // zz azerty T Alphabet (AZERTY) in system locale
private static String getReplacementString(final InputMethodSubtype subtype, private static String getReplacementString(final InputMethodSubtype subtype,
final Locale displayLocale) { final Locale displayLocale) {
@ -294,21 +294,21 @@ public final class SubtypeLocaleUtils {
// InputMethodSubtype's display name for spacebar text in its locale. // InputMethodSubtype's display name for spacebar text in its locale.
// isAdditionalSubtype (T=true, F=false) // isAdditionalSubtype (T=true, F=false)
// locale layout | Short Middle Full // locale layout | Middle Full
// ------ ------- - ---- --------- ---------------------- // ------ ------- - --------- ----------------------
// en_US qwerty F En English English (US) exception // en_US qwerty F English English (US) exception
// en_GB qwerty F En English English (UK) exception // en_GB qwerty F English English (UK) exception
// es_US spanish F Es Español Español (EE.UU.) exception // es_US spanish F Español Español (EE.UU.) exception
// fr azerty F Fr Français Français // fr azerty F Français Français
// fr_CA qwerty F Fr Français Français (Canada) // fr_CA qwerty F Français Français (Canada)
// fr_CH swiss F Fr Français Français (Suisse) // fr_CH swiss F Français Français (Suisse)
// de qwertz F De Deutsch Deutsch // de qwertz F Deutsch Deutsch
// de_CH swiss T De Deutsch Deutsch (Schweiz) // de_CH swiss T Deutsch Deutsch (Schweiz)
// zz qwerty F QWERTY QWERTY // zz qwerty F QWERTY QWERTY
// fr qwertz T Fr Français Français // fr qwertz T Français Français
// de qwerty T De Deutsch Deutsch // de qwerty T Deutsch Deutsch
// en_US azerty T En English English (US) // en_US azerty T English English (US)
// zz azerty T AZERTY AZERTY // zz azerty T AZERTY AZERTY
// Get InputMethodSubtype's full display name in its locale. // Get InputMethodSubtype's full display name in its locale.
public static String getFullDisplayName(final InputMethodSubtype subtype) { public static String getFullDisplayName(final InputMethodSubtype subtype) {
@ -327,15 +327,6 @@ public final class SubtypeLocaleUtils {
return getSubtypeLocaleDisplayName(locale.getLanguage()); return getSubtypeLocaleDisplayName(locale.getLanguage());
} }
// Get InputMethodSubtype's short display name in its locale.
public static String getShortDisplayName(final InputMethodSubtype subtype) {
if (isNoLanguage(subtype)) {
return "";
}
final Locale locale = getSubtypeLocale(subtype);
return StringUtils.capitalizeFirstCodePoint(locale.getLanguage(), locale);
}
// TODO: Get this information from the framework instead of maintaining here by ourselves. // TODO: Get this information from the framework instead of maintaining here by ourselves.
// Sorted list of known Right-To-Left language codes. // Sorted list of known Right-To-Left language codes.
private static final String[] SORTED_RTL_LANGUAGES = { private static final String[] SORTED_RTL_LANGUAGES = {

View File

@ -213,13 +213,13 @@ public class SubtypeLocaleUtilsTests extends AndroidTestCase {
// fr_CH swiss F Français (Suisse) // fr_CH swiss F Français (Suisse)
// de qwertz F Allemand // de qwertz F Allemand
// de_CH swiss F Allemand (Suisse) // de_CH swiss F Allemand (Suisse)
// zz qwerty F Aucune langue (QWERTY) // zz qwerty F Alphabet latin (QWERTY)
// fr qwertz T Français (QWERTZ) // fr qwertz T Français (QWERTZ)
// de qwerty T Allemand (QWERTY) // de qwerty T Allemand (QWERTY)
// en_US azerty T Anglais (États-Unis) (AZERTY) exception // en_US azerty T Anglais (États-Unis) (AZERTY) exception
// en_UK dvorak T Anglais (Royaume-Uni) (Dvorak) exception // en_UK dvorak T Anglais (Royaume-Uni) (Dvorak) exception
// es_US colemak T Espagnol (États-Unis) (Colemak) exception // es_US colemak T Espagnol (États-Unis) (Colemak) exception
// zz pc T Alphabet (PC) // zz pc T Alphabet latin (PC)
public void testPredefinedSubtypesInFrenchSystemLocale() { public void testPredefinedSubtypesInFrenchSystemLocale() {
final RunInLocale<Void> tests = new RunInLocale<Void>() { final RunInLocale<Void> tests = new RunInLocale<Void>() {
@ -303,39 +303,23 @@ public class SubtypeLocaleUtilsTests extends AndroidTestCase {
} }
} }
public void testAllShortDisplayNameForSpacebar() {
for (final InputMethodSubtype subtype : mSubtypesList) {
final String subtypeName = SubtypeLocaleUtils
.getSubtypeDisplayNameInSystemLocale(subtype);
final Locale locale = SubtypeLocaleUtils.getSubtypeLocale(subtype);
final String spacebarText = SubtypeLocaleUtils.getShortDisplayName(subtype);
final String languageCode = StringUtils.capitalizeFirstCodePoint(
locale.getLanguage(), locale);
if (SubtypeLocaleUtils.isNoLanguage(subtype)) {
assertEquals(subtypeName, "", spacebarText);
} else {
assertEquals(subtypeName, languageCode, spacebarText);
}
}
}
// InputMethodSubtype's display name for spacebar text in its locale. // InputMethodSubtype's display name for spacebar text in its locale.
// isAdditionalSubtype (T=true, F=false) // isAdditionalSubtype (T=true, F=false)
// locale layout | Short Middle Full // locale layout | Middle Full
// ------ ------- - ---- --------- ---------------------- // ------ ------- - --------- ----------------------
// en_US qwerty F En English English (US) exception // en_US qwerty F English English (US) exception
// en_GB qwerty F En English English (UK) exception // en_GB qwerty F English English (UK) exception
// es_US spanish F Es Español Español (EE.UU.) exception // es_US spanish F Español Español (EE.UU.) exception
// fr azerty F Fr Français Français // fr azerty F Français Français
// fr_CA qwerty F Fr Français Français (Canada) // fr_CA qwerty F Français Français (Canada)
// fr_CH swiss F Fr Français Français (Suisse) // fr_CH swiss F Français Français (Suisse)
// de qwertz F De Deutsch Deutsch // de qwertz F Deutsch Deutsch
// de_CH swiss F De Deutsch Deutsch (Schweiz) // de_CH swiss F Deutsch Deutsch (Schweiz)
// zz qwerty F QWERTY QWERTY // zz qwerty F QWERTY QWERTY
// fr qwertz T Fr Français Français // fr qwertz T Français Français
// de qwerty T De Deutsch Deutsch // de qwerty T Deutsch Deutsch
// en_US azerty T En English English (US) // en_US azerty T English English (US)
// zz azerty T AZERTY AZERTY // zz azerty T AZERTY AZERTY
private final RunInLocale<Void> testsPredefinedSubtypesForSpacebar = new RunInLocale<Void>() { private final RunInLocale<Void> testsPredefinedSubtypesForSpacebar = new RunInLocale<Void>() {
@Override @Override
@ -363,16 +347,6 @@ public class SubtypeLocaleUtilsTests extends AndroidTestCase {
assertEquals("de ", "Deutsch", SubtypeLocaleUtils.getMiddleDisplayName(DE)); assertEquals("de ", "Deutsch", SubtypeLocaleUtils.getMiddleDisplayName(DE));
assertEquals("de_CH", "Deutsch", SubtypeLocaleUtils.getMiddleDisplayName(DE_CH)); assertEquals("de_CH", "Deutsch", SubtypeLocaleUtils.getMiddleDisplayName(DE_CH));
assertEquals("zz ", "QWERTY", SubtypeLocaleUtils.getMiddleDisplayName(ZZ)); assertEquals("zz ", "QWERTY", SubtypeLocaleUtils.getMiddleDisplayName(ZZ));
assertEquals("en_US", "En", SubtypeLocaleUtils.getShortDisplayName(EN_US));
assertEquals("en_GB", "En", SubtypeLocaleUtils.getShortDisplayName(EN_GB));
assertEquals("es_US", "Es", SubtypeLocaleUtils.getShortDisplayName(ES_US));
assertEquals("fr ", "Fr", SubtypeLocaleUtils.getShortDisplayName(FR));
assertEquals("fr_CA", "Fr", SubtypeLocaleUtils.getShortDisplayName(FR_CA));
assertEquals("fr_CH", "Fr", SubtypeLocaleUtils.getShortDisplayName(FR_CH));
assertEquals("de ", "De", SubtypeLocaleUtils.getShortDisplayName(DE));
assertEquals("de_CH", "De", SubtypeLocaleUtils.getShortDisplayName(DE_CH));
assertEquals("zz ", "", SubtypeLocaleUtils.getShortDisplayName(ZZ));
return null; return null;
} }
}; };
@ -397,12 +371,6 @@ public class SubtypeLocaleUtilsTests extends AndroidTestCase {
SubtypeLocaleUtils.getMiddleDisplayName(EN_US_AZERTY)); SubtypeLocaleUtils.getMiddleDisplayName(EN_US_AZERTY));
assertEquals("zz azerty", "AZERTY", assertEquals("zz azerty", "AZERTY",
SubtypeLocaleUtils.getMiddleDisplayName(ZZ_AZERTY)); SubtypeLocaleUtils.getMiddleDisplayName(ZZ_AZERTY));
assertEquals("fr qwertz", "Fr", SubtypeLocaleUtils.getShortDisplayName(FR_QWERTZ));
assertEquals("de qwerty", "De", SubtypeLocaleUtils.getShortDisplayName(DE_QWERTY));
assertEquals("en_US azerty", "En",
SubtypeLocaleUtils.getShortDisplayName(EN_US_AZERTY));
assertEquals("zz azerty", "", SubtypeLocaleUtils.getShortDisplayName(ZZ_AZERTY));
return null; return null;
} }
}; };