Skip to content

Commit

Permalink
Fallback to en_US
Browse files Browse the repository at this point in the history
  • Loading branch information
rkkr committed Jan 29, 2020
1 parent 14bd2e6 commit a7502cf
Show file tree
Hide file tree
Showing 86 changed files with 8 additions and 284 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public void setLocale(final Locale locale, final Resources res,
final String resourcePackageName) {
mResources = res;
// Null means the current system locale.
mResourceLocale = SubtypeLocaleUtils.NO_LANGUAGE.equals(locale.toString()) ? null : locale;
mResourceLocale = locale;
mResourcePackageName = resourcePackageName;
mTextsTable = KeyboardTextsTable.getTextsTable(locale);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,13 @@
package rkr.simplekeyboard.inputmethod.latin;

import android.os.Build;
import android.util.Log;
import android.view.inputmethod.InputMethodSubtype;

import java.util.HashMap;
import java.util.Locale;

import rkr.simplekeyboard.inputmethod.R;
import rkr.simplekeyboard.inputmethod.compat.InputMethodSubtypeCompatUtils;
import rkr.simplekeyboard.inputmethod.latin.common.Constants;
import rkr.simplekeyboard.inputmethod.latin.utils.AdditionalSubtypeUtils;
import rkr.simplekeyboard.inputmethod.latin.utils.SubtypeLocaleUtils;

import static rkr.simplekeyboard.inputmethod.latin.common.Constants.Subtype.KEYBOARD_MODE;
Expand All @@ -37,8 +35,6 @@
*/
// non final for easy mocking.
public class RichInputMethodSubtype {
private static final String TAG = RichInputMethodSubtype.class.getSimpleName();

private static final HashMap<Locale, Locale> sLocaleMap = initializeLocaleMap();
private static final HashMap<Locale, Locale> initializeLocaleMap() {
final HashMap<Locale, Locale> map = new HashMap<>();
Expand Down Expand Up @@ -67,10 +63,6 @@ public String getExtraValueOf(final String key) {
return mSubtype.getExtraValueOf(key);
}

public boolean isNoLanguage() {
return SubtypeLocaleUtils.NO_LANGUAGE.equals(mSubtype.getLocale());
}

public String getNameForLogging() {
return toString();
}
Expand All @@ -94,17 +86,11 @@ public String getNameForLogging() {
// zz azerty T AZERTY AZERTY
// Get the RichInputMethodSubtype's full display name in its locale.
public String getFullDisplayName() {
if (isNoLanguage()) {
return SubtypeLocaleUtils.getKeyboardLayoutSetDisplayName(mSubtype);
}
return SubtypeLocaleUtils.getSubtypeLocaleDisplayName(mSubtype.getLocale());
}

// Get the RichInputMethodSubtype's middle display name in its locale.
public String getMiddleDisplayName() {
if (isNoLanguage()) {
return SubtypeLocaleUtils.getKeyboardLayoutSetDisplayName(mSubtype);
}
return SubtypeLocaleUtils.getSubtypeLanguageDisplayName(mSubtype.getLocale());
}

Expand Down Expand Up @@ -138,50 +124,10 @@ public String getKeyboardLayoutSetName() {
return SubtypeLocaleUtils.getKeyboardLayoutSetName(mSubtype);
}

public static RichInputMethodSubtype getRichInputMethodSubtype(
final InputMethodSubtype subtype) {
public static RichInputMethodSubtype getRichInputMethodSubtype(InputMethodSubtype subtype) {
if (subtype == null) {
return getNoLanguageSubtype();
} else {
return new RichInputMethodSubtype(subtype);
}
}

// Dummy no language QWERTY subtype. See {@link R.xml.method}.
private static final int SUBTYPE_ID_OF_DUMMY_NO_LANGUAGE_SUBTYPE = 0xdde0bfd3;
private static final String EXTRA_VALUE_OF_DUMMY_NO_LANGUAGE_SUBTYPE =
"KeyboardLayoutSet=" + SubtypeLocaleUtils.QWERTY
+ "," + Constants.Subtype.ExtraValue.ASCII_CAPABLE
+ "," + Constants.Subtype.ExtraValue.ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE;
private static RichInputMethodSubtype sNoLanguageSubtype;

public static RichInputMethodSubtype getNoLanguageSubtype() {
RichInputMethodSubtype noLanguageSubtype = sNoLanguageSubtype;
if (noLanguageSubtype == null) {
final InputMethodSubtype rawNoLanguageSubtype = RichInputMethodManager.getInstance()
.findSubtypeByLocaleAndKeyboardLayoutSet(
SubtypeLocaleUtils.NO_LANGUAGE, SubtypeLocaleUtils.QWERTY);
if (rawNoLanguageSubtype != null) {
noLanguageSubtype = new RichInputMethodSubtype(rawNoLanguageSubtype);
}
}
if (noLanguageSubtype != null) {
sNoLanguageSubtype = noLanguageSubtype;
return noLanguageSubtype;
subtype = AdditionalSubtypeUtils.createDummyAdditionalSubtype("en_US", SubtypeLocaleUtils.QWERTY);
}
Log.w(TAG, "Can't find any language with QWERTY subtype");
Log.w(TAG, "No input method subtype found; returning dummy subtype");

InputMethodSubtype.InputMethodSubtypeBuilder builder = new InputMethodSubtype.InputMethodSubtypeBuilder();

builder.setSubtypeNameResId(R.string.subtype_no_language_qwerty)
.setSubtypeIconResId(R.drawable.ic_ime_switcher_dark)
.setSubtypeLocale(SubtypeLocaleUtils.NO_LANGUAGE)
.setSubtypeMode(KEYBOARD_MODE)
.setSubtypeExtraValue(EXTRA_VALUE_OF_DUMMY_NO_LANGUAGE_SUBTYPE)
.setOverridesImplicitlyEnabledSubtype(false)
.setIsAuxiliary(false)
.setSubtypeId(SUBTYPE_ID_OF_DUMMY_NO_LANGUAGE_SUBTYPE);
return new RichInputMethodSubtype(builder.build());
return new RichInputMethodSubtype(subtype);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,6 @@ public static final class ExtraValue {
*/
public static final String ASCII_CAPABLE = "AsciiCapable";

/**
* The subtype extra value used to indicate that this subtype is enabled
* when the default subtype is not marked as ascii capable.
*/
public static final String ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE =
"EnabledWhenDefaultIsNotAsciiCapable";

/**
* The subtype extra value used to indicate that the display name of this subtype
* contains a "%s" for printf-like replacement and it should be replaced by
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,9 +335,7 @@ public KeyboardLayoutSetAdapter(final Context context) {
// TODO: Should filter out already existing combinations of locale and layout.
for (final String layout : predefinedKeyboardLayoutSet) {
// This is a dummy subtype with NO_LANGUAGE, only for display.
final InputMethodSubtype subtype =
AdditionalSubtypeUtils.createDummyAdditionalSubtype(
SubtypeLocaleUtils.NO_LANGUAGE, layout);
final InputMethodSubtype subtype = AdditionalSubtypeUtils.createDummyAdditionalSubtype("en_US", layout);
add(new KeyboardLayoutSetItem(subtype));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,6 @@ private LanguageOnSpacebarUtils() {

public static int getLanguageOnSpacebarFormatType(
final RichInputMethodSubtype subtype) {
if (subtype.isNoLanguage()) {
return FORMAT_TYPE_FULL_LOCALE;
}
// Only this subtype is enabled and equals to the system locale.
if (sEnabledSubtypes.size() < 2 && sIsSystemLanguageSameAsInputLanguage) {
return FORMAT_TYPE_NONE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ public final class SubtypeLocaleUtils {
// This reference class {@link R} must be located in the same package as LatinIME.java.
private static final String RESOURCE_PACKAGE_NAME = R.class.getPackage().getName();

// Special language code to represent "no language".
public static final String NO_LANGUAGE = "zz";
public static final String QWERTY = "qwerty";
public static final int UNKNOWN_KEYBOARD_LAYOUT = R.string.subtype_generic;

Expand All @@ -67,8 +65,6 @@ public final class SubtypeLocaleUtils {
"string/subtype_generic_";
private static final String SUBTYPE_NAME_RESOURCE_WITH_LAYOUT_PREFIX =
"string/subtype_with_layout_";
private static final String SUBTYPE_NAME_RESOURCE_NO_LANGUAGE_PREFIX =
"string/subtype_no_language_";
private static final String SUBTYPE_NAME_RESOURCE_IN_ROOT_LOCALE_PREFIX =
"string/subtype_in_root_locale_";
// Keyboard layout set name for the subtypes that don't have a keyboardLayoutSet extra value.
Expand Down Expand Up @@ -103,12 +99,6 @@ private static void initLocked(final Context context) {
final String resourceName = SUBTYPE_NAME_RESOURCE_GENERIC_PREFIX + layoutName;
final int resId = res.getIdentifier(resourceName, null, RESOURCE_PACKAGE_NAME);
sKeyboardLayoutToNameIdsMap.put(layoutName, resId);
// Register subtype name resource id of "No language" with key "zz_<layout>"
final String noLanguageResName = SUBTYPE_NAME_RESOURCE_NO_LANGUAGE_PREFIX + layoutName;
final int noLanguageResId = res.getIdentifier(
noLanguageResName, null, RESOURCE_PACKAGE_NAME);
final String key = getNoLanguageLayoutKey(layoutName);
sKeyboardLayoutToNameIdsMap.put(key, noLanguageResId);
}

final String[] exceptionalLocaleInRootLocale = res.getStringArray(
Expand Down Expand Up @@ -147,25 +137,15 @@ public static boolean isExceptionalLocale(final String localeString) {
return sExceptionalLocaleToNameIdsMap.containsKey(localeString);
}

private static final String getNoLanguageLayoutKey(final String keyboardLayoutName) {
return NO_LANGUAGE + "_" + keyboardLayoutName;
}

public static int getSubtypeNameId(final String localeString, final String keyboardLayoutName) {
if (isExceptionalLocale(localeString)) {
return sExceptionalLocaleToWithLayoutNameIdsMap.get(localeString);
}
final String key = NO_LANGUAGE.equals(localeString)
? getNoLanguageLayoutKey(keyboardLayoutName)
: keyboardLayoutName;
final Integer nameId = sKeyboardLayoutToNameIdsMap.get(key);
final Integer nameId = sKeyboardLayoutToNameIdsMap.get(keyboardLayoutName);
return nameId == null ? UNKNOWN_KEYBOARD_LAYOUT : nameId;
}

public static Locale getDisplayLocaleOfSubtypeLocale(final String localeString) {
if (NO_LANGUAGE.equals(localeString)) {
return sResources.getConfiguration().locale;
}
if (sExceptionalLocaleDisplayedInRootLocale.containsKey(localeString)) {
return Locale.ROOT;
}
Expand Down Expand Up @@ -196,10 +176,6 @@ public static String getSubtypeLanguageDisplayName(final String localeString) {

private static String getSubtypeLocaleDisplayNameInternal(final String localeString,
final Locale displayLocale) {
if (NO_LANGUAGE.equals(localeString)) {
// No language subtype should be displayed in system locale.
return sResources.getString(R.string.subtype_no_language);
}
final Integer exceptionalNameResId;
if (displayLocale.equals(Locale.ROOT)
&& sExceptionalLocaleDisplayedInRootLocale.containsKey(localeString)) {
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-af/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Serwies (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Tradisioneel)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Kompak)"</string>
<string name="subtype_no_language">"Geen taal nie (alfabet)"</string>
<string name="subtype_no_language_qwerty">"Alfabet (QWERTY)"</string>
<string name="custom_input_styles_title">"Gepasmaakte invoerstyle"</string>
<string name="add_style">"Voeg styl by"</string>
<string name="add">"Voeg by"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-am/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"ሰርቢያኛ (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (ተለምዷዊ)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (እስግ)"</string>
<string name="subtype_no_language">"ምንም ቋንቋ (ፊደላት)"</string>
<string name="subtype_no_language_qwerty">"ፊደላት (QWERTY)"</string>
<string name="custom_input_styles_title">"የተበጁ የግቤት ስታይሎች"</string>
<string name="add_style">"ስታይል አክል"</string>
<string name="add">"አክል"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"الصربية (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (التقليدية)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (مكثفة)"</string>
<string name="subtype_no_language">"بدون لغة (أبجدية)"</string>
<string name="subtype_no_language_qwerty">"‏الأبجدية (QWERTY)"</string>
<string name="custom_input_styles_title">"أنماط الإدخال المخصصة"</string>
<string name="add_style">"إضافة نمط"</string>
<string name="add">"إضافة"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-az-rAZ/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Serb (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Ənənəvi)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Kompakt)"</string>
<string name="subtype_no_language">"Dil yoxdur (Əlifba)"</string>
<string name="subtype_no_language_qwerty">"Əlifba (QWERTY)"</string>
<string name="custom_input_styles_title">"Xüsusi daxiletmə üslubları"</string>
<string name="add_style">"Stil əlavə et"</string>
<string name="add">"Əlavə et"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-b+sr+Latn/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"srpski (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradicionalni)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (kompaktna)"</string>
<string name="subtype_no_language">"Nema jezika (abeceda)"</string>
<string name="subtype_no_language_qwerty">"abeceda (QWERTY)"</string>
<string name="custom_input_styles_title">"Prilagođeni stilovi unosa"</string>
<string name="add_style">"Dodajte stil"</string>
<string name="add">"Dodaj"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-be-rBY/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Сербская (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (традыцыйная)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (кампактная)"</string>
<string name="subtype_no_language">"Мова не выбрана (лацініца)"</string>
<string name="subtype_no_language_qwerty">"Лацініца (QWERTY)"</string>
<string name="custom_input_styles_title">"Карыстальніцкія стылі ўводу"</string>
<string name="add_style">"Дадаць стыль"</string>
<string name="add">"Дадаць"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Сръбска (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (традиционна клавиатура)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (компактна)"</string>
<string name="subtype_no_language">"Без език (латиница)"</string>
<string name="subtype_no_language_qwerty">"латиница (QWERTY)"</string>
<string name="custom_input_styles_title">"Персон. стилове за въвежд."</string>
<string name="add_style">"+ стил"</string>
<string name="add">"Добавяне"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-bn-rBD/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"সার্বিয়ান (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (ঐতিহ্যবাহি)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (কম্প্যাক্ট)"</string>
<string name="subtype_no_language">"কোনো ভাষা নয় (বর্ণমালা)"</string>
<string name="subtype_no_language_qwerty">"বর্ণমালা (QWERTY)"</string>
<string name="custom_input_styles_title">"কাস্টম ইনপুট শৈলীগুলি"</string>
<string name="add_style">"শৈলী জুড়ুন"</string>
<string name="add">"জুড়ুন"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-bs-rBA/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Srpski (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradicionalan)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (kompaktan)"</string>
<string name="subtype_no_language">"Nema jezika (abeceda)"</string>
<string name="subtype_no_language_qwerty">"Abeceda (QWERTY)"</string>
<string name="custom_input_styles_title">"Prilagođeni stilovi unosa"</string>
<string name="add_style">"Dodaj stil"</string>
<string name="add">"Dodaj"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-ca/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Serbi (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradicional)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (compacte)"</string>
<string name="subtype_no_language">"cap idioma (alfabet)"</string>
<string name="subtype_no_language_qwerty">"Alfabet (QWERTY)"</string>
<string name="custom_input_styles_title">"Estils d\'introdució personalitzats"</string>
<string name="add_style">"Afegeix estil"</string>
<string name="add">"Afegeix"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-cs/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"srbština (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradiční)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (kompaktní)"</string>
<string name="subtype_no_language">"Žádný jazyk (latinka)"</string>
<string name="subtype_no_language_qwerty">"Latinka (QWERTY)"</string>
<string name="custom_input_styles_title">"Vlastní styl zadávání"</string>
<string name="add_style">"Přidat styl"</string>
<string name="add">"Přidat"</string>
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/res/values-da/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
<string name="subtype_with_layout_sr_ZZ">"Serbisk (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_generic_traditional">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (traditionelt)"</string>
<string name="subtype_generic_compact">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (kompakt)"</string>
<string name="subtype_no_language">"Intet sprog (Alfabet)"</string>
<string name="subtype_no_language_qwerty">"Alfabet (QWERTY)"</string>
<string name="custom_input_styles_title">"Tilpasset inputtypografi"</string>
<string name="add_style">"Tilføj typografi"</string>
<string name="add">"Tilføj"</string>
Expand Down
Loading

0 comments on commit a7502cf

Please sign in to comment.