From 707430279852e0afea8c7daa7c253777c68e9c5e Mon Sep 17 00:00:00 2001 From: Helium314 Date: Mon, 25 Sep 2023 15:22:30 +0200 Subject: [PATCH] add language tags to method.xml (using language codes and python module langcodes) --- .../latin/settings/SubtypeSettings.kt | 6 +- .../latin/utils/AdditionalSubtypeUtils.java | 10 +- app/src/main/res/xml/method.xml | 98 +++++++++++++++++-- 3 files changed, 103 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SubtypeSettings.kt b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SubtypeSettings.kt index df9ebd139..85b31a6b4 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SubtypeSettings.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/SubtypeSettings.kt @@ -262,7 +262,9 @@ private const val SUBTYPE_SEPARATOR = ";" private const val LOCALE_LAYOUT_SEPARATOR = ":" @Suppress("deprecation") // it's deprecated, but no replacement for API < 24 -// todo: add language tags in method.xml, and adjust this method to use locale only if necessary -// but then language tag should be converted to locale, or other way! +// todo: subtypes should now have language tags -> use them for api >= 24 +// but only replace subtype-related usage, otherwise the api mess will be horrible +// maybe rather return a locale instead of a string... +// is this acceptable for performance? any place where there are many call to locale()? // see also InputMethodSubtypeCompatUtils fun InputMethodSubtype.locale() = locale diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/AdditionalSubtypeUtils.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/AdditionalSubtypeUtils.java index bd3ee47ff..f21db55c2 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/AdditionalSubtypeUtils.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/AdditionalSubtypeUtils.java @@ -16,12 +16,14 @@ package org.dslul.openboard.inputmethod.latin.utils; +import android.os.Build; import android.text.TextUtils; import android.util.Log; import android.view.inputmethod.InputMethodSubtype; import org.dslul.openboard.inputmethod.annotations.UsedForTesting; import org.dslul.openboard.inputmethod.latin.R; +import org.dslul.openboard.inputmethod.latin.common.LocaleUtils; import org.dslul.openboard.inputmethod.latin.common.StringUtils; import java.util.ArrayList; @@ -64,7 +66,7 @@ public final class AdditionalSubtypeUtils { localeString, keyboardLayoutSetName, isAsciiCapable, isEmojiCapable); final int platformVersionIndependentSubtypeId = getPlatformVersionIndependentSubtypeId(localeString, keyboardLayoutSetName); - return new InputMethodSubtype.InputMethodSubtypeBuilder() + final InputMethodSubtype.InputMethodSubtypeBuilder builder = new InputMethodSubtype.InputMethodSubtypeBuilder() .setSubtypeNameResId(nameId) .setSubtypeIconResId(R.drawable.ic_ime_switcher_dark) .setSubtypeLocale(localeString) @@ -73,8 +75,10 @@ public final class AdditionalSubtypeUtils { .setIsAuxiliary(false) .setOverridesImplicitlyEnabledSubtype(false) .setSubtypeId(platformVersionIndependentSubtypeId) - .setIsAsciiCapable(isAsciiCapable) - .build(); + .setIsAsciiCapable(isAsciiCapable); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + builder.setLanguageTag(LocaleUtils.constructLocaleFromString(localeString).toLanguageTag()); + return builder.build(); } public static InputMethodSubtype createDummyAdditionalSubtype( diff --git a/app/src/main/res/xml/method.xml b/app/src/main/res/xml/method.xml index 43177a981..7385a0977 100644 --- a/app/src/main/res/xml/method.xml +++ b/app/src/main/res/xml/method.xml @@ -127,6 +127,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xc9194f97" android:imeSubtypeLocale="en_AU" + android:languageTag="en-AU" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -153,6 +154,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x6f972360" android:imeSubtypeLocale="af" + android:languageTag="af" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -161,6 +163,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x590dde40" android:imeSubtypeLocale="ar" + android:languageTag="ar" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -169,6 +172,7 @@ android:label="@string/subtype_arabic_pc" android:subtypeId="0x590dde41" android:imeSubtypeLocale="ar" + android:languageTag="ar" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=arabic_pc,EmojiCapable" android:isAsciiCapable="false" @@ -177,6 +181,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x70b0f974" android:imeSubtypeLocale="az_AZ" + android:languageTag="az-AZ" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -185,6 +190,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x1dc3a859" android:imeSubtypeLocale="be_BY" + android:languageTag="be-BY" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable" android:isAsciiCapable="false" @@ -193,6 +199,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x0ba9c0e8" android:imeSubtypeLocale="bg" + android:languageTag="bg" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian,EmojiCapable" android:isAsciiCapable="false" @@ -201,6 +208,7 @@ android:label="@string/subtype_bulgarian_bds" android:subtypeId="0x5f51ba9a" android:imeSubtypeLocale="bg" + android:languageTag="bg" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian_bds,EmojiCapable" android:isAsciiCapable="false" @@ -209,6 +217,7 @@ android:label="@string/subtype_bulgarian_bekl" android:subtypeId="0x5f51ba9b" android:imeSubtypeLocale="bg" + android:languageTag="bg" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian_bekl,EmojiCapable" android:isAsciiCapable="false" @@ -217,6 +226,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xa2144b0c" android:imeSubtypeLocale="bn_BD" + android:languageTag="bn-BD" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=bengali_unijoy,EmojiCapable" android:isAsciiCapable="false" @@ -225,6 +235,7 @@ android:label="@string/subtype_with_layout_bn_BD" android:subtypeId="0xa2144b0d" android:imeSubtypeLocale="bn_BD" + android:languageTag="bn-BD" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=bengali_akkhor,EmojiCapable" android:isAsciiCapable="false" @@ -233,6 +244,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xbff5986c" android:imeSubtypeLocale="bn_IN" + android:languageTag="bn-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=bengali,EmojiCapable" android:isAsciiCapable="false" @@ -241,6 +253,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xd2e520d5" android:imeSubtypeLocale="ca" + android:languageTag="ca" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -249,6 +262,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x2d3d2ed0" android:imeSubtypeLocale="cs" + android:languageTag="cs" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -257,6 +271,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x2df4605d" android:imeSubtypeLocale="da" + android:languageTag="da" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -265,6 +280,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x2e2cbe61" android:imeSubtypeLocale="de" + android:languageTag="de" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -273,6 +289,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x7acfd0aa" android:imeSubtypeLocale="de_CH" + android:languageTag="de-CH" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=swiss,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -281,6 +298,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x00" android:imeSubtypeLocale="de_DE" + android:languageTag="de-DE" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=german,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -289,6 +307,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x0e7802d3" android:imeSubtypeLocale="el" + android:languageTag="el" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=greek,EmojiCapable" android:isAsciiCapable="false" @@ -297,6 +316,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8d58fc2d" android:imeSubtypeLocale="en_IN" + android:languageTag="en-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -305,6 +325,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x4090554a" android:imeSubtypeLocale="eo" + android:languageTag="eo" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,EmojiCapable" android:isAsciiCapable="false" @@ -313,6 +334,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x30a6e00e" android:imeSubtypeLocale="es" + android:languageTag="es" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -321,6 +343,7 @@ android:label="@string/subtype_es_US" android:subtypeId="0x84d2efc6" android:imeSubtypeLocale="es_US" + android:languageTag="es-US" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -329,6 +352,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xa23e5d19" android:imeSubtypeLocale="es_419" + android:languageTag="es-419" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -337,6 +361,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xec2d3955" android:imeSubtypeLocale="et_EE" + android:languageTag="et-EE" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -345,6 +370,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x070e5c07" android:imeSubtypeLocale="eu_ES" + android:languageTag="eu-ES" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -353,6 +379,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xbe66c254" android:imeSubtypeLocale="fa" + android:languageTag="fa" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=farsi,EmojiCapable" android:isAsciiCapable="false" @@ -361,6 +388,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x31cecda3" android:imeSubtypeLocale="fi" + android:languageTag="fi" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -396,6 +424,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xb939573c" android:imeSubtypeLocale="gl_ES" + android:languageTag="gl-ES" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -404,6 +433,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x39753b7f" android:imeSubtypeLocale="hi" + android:languageTag="hi" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi,EmojiCapable" android:isAsciiCapable="false" @@ -412,6 +442,7 @@ android:label="@string/subtype_generic_compact" android:subtypeId="0xe49c89a1" android:imeSubtypeLocale="hi" + android:languageTag="hi" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi_compact,EmojiCapable" android:isAsciiCapable="false" @@ -423,6 +454,7 @@ android:label="@string/subtype_hi_ZZ" android:subtypeId="0x352eb37c" android:imeSubtypeLocale="hi_ZZ" + android:languageTag="hi-ZZ" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,KeyboardLayoutSet=qwerty,EmojiCapable" android:isAsciiCapable="true" @@ -431,6 +463,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x35b7526a" android:imeSubtypeLocale="hr" + android:languageTag="hr" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -439,6 +472,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x35e198ed" android:imeSubtypeLocale="hu" + android:languageTag="hu" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -447,6 +481,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xe39ac3ca" android:imeSubtypeLocale="hy_AM" + android:languageTag="hy-AM" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=armenian_phonetic,EmojiCapable" android:isAsciiCapable="false" @@ -456,6 +491,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x7daea460" android:imeSubtypeLocale="in" + android:languageTag="id" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -464,6 +500,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x7df519e5" android:imeSubtypeLocale="is" + android:languageTag="is" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -472,6 +509,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x37885a0b" android:imeSubtypeLocale="it" + android:languageTag="it" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -480,6 +518,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xd914fe1a" android:imeSubtypeLocale="it_CH" + android:languageTag="it-CH" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=swiss,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -489,6 +528,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x66fb18bd" android:imeSubtypeLocale="iw" + android:languageTag="he" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -497,6 +537,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x6e119e6a" android:imeSubtypeLocale="ka_GE" + android:languageTag="ka-GE" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=georgian,EmojiCapable" android:isAsciiCapable="false" @@ -505,6 +546,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x2d73d2f6" android:imeSubtypeLocale="kk" + android:languageTag="kk" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable" android:isAsciiCapable="false" @@ -513,6 +555,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x1365683a" android:imeSubtypeLocale="km_KH" + android:languageTag="km-KH" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=khmer,EmojiCapable" android:isAsciiCapable="false" @@ -521,6 +564,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8c78064f" android:imeSubtypeLocale="kn_IN" + android:languageTag="kn-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=kannada,EmojiCapable" android:isAsciiCapable="false" @@ -529,6 +573,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x456d04f2" android:imeSubtypeLocale="ko" + android:languageTag="ko" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=korean,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -537,6 +582,7 @@ android:label="@string/subtype_generic_sebeolsik_390" android:subtypeId="0xb0bbe261" android:imeSubtypeLocale="ko" + android:languageTag="ko" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=korean_sebeolsik_390,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -545,6 +591,7 @@ android:label="@string/subtype_generic_sebeolsik_final" android:subtypeId="0xb6774038" android:imeSubtypeLocale="ko" + android:languageTag="ko" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=korean_sebeolsik_final,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -553,6 +600,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x2e391c04" android:imeSubtypeLocale="ky" + android:languageTag="ky" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable" android:isAsciiCapable="false" @@ -561,6 +609,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x6c624c55" android:imeSubtypeLocale="lb" + android:languageTag="lb" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable,EmojiCapable" /> @@ -568,6 +617,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8315772c" android:imeSubtypeLocale="lo_LA" + android:languageTag="lo-LA" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=lao,EmojiCapable" android:isAsciiCapable="false" @@ -576,6 +626,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8321bb43" android:imeSubtypeLocale="lt" + android:languageTag="lt" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -584,6 +635,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x833dea45" android:imeSubtypeLocale="lv" + android:languageTag="lv" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -592,6 +644,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xaf50ab7c" android:imeSubtypeLocale="mk" + android:languageTag="mk" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=south_slavic,EmojiCapable" android:isAsciiCapable="false" @@ -600,6 +653,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xc182ebd4" android:imeSubtypeLocale="ml_IN" + android:languageTag="ml-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=malayalam,EmojiCapable" android:isAsciiCapable="false" @@ -608,6 +662,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xcdcfc3ab" android:imeSubtypeLocale="mn_MN" + android:languageTag="mn-MN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=mongolian,EmojiCapable" android:isAsciiCapable="false" @@ -616,6 +671,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x747b9f03" android:imeSubtypeLocale="mr_IN" + android:languageTag="mr-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=marathi,EmojiCapable" android:isAsciiCapable="false" @@ -624,6 +680,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x84c87c61" android:imeSubtypeLocale="ms_MY" + android:languageTag="ms-MY" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -632,6 +689,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x3f12ee14" android:imeSubtypeLocale="nb" + android:languageTag="nb" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -640,6 +698,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xd80a4cee" android:imeSubtypeLocale="ne_NP" + android:languageTag="ne-NP" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=nepali_romanized,EmojiCapable" android:isAsciiCapable="false" @@ -648,6 +707,7 @@ android:label="@string/subtype_generic_traditional" android:subtypeId="0x5fafea88" android:imeSubtypeLocale="ne_NP" + android:languageTag="ne-NP" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=nepali_traditional,EmojiCapable" android:isAsciiCapable="false" @@ -656,6 +716,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x3f9fd91e" android:imeSubtypeLocale="nl" + android:languageTag="nl" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -664,6 +725,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x500ca92c" android:imeSubtypeLocale="nl_BE" + android:languageTag="nl-BE" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=azerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -672,6 +734,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x43098a5c" android:imeSubtypeLocale="pl" + android:languageTag="pl" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -680,6 +743,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xcafff4a6" android:imeSubtypeLocale="pt_BR" + android:languageTag="pt-BR" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -688,6 +752,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xe2fffc5a" android:imeSubtypeLocale="pt_PT" + android:languageTag="pt-PT" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -696,6 +761,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8d185978" android:imeSubtypeLocale="ro" + android:languageTag="ro" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -704,6 +770,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x763a8752" android:imeSubtypeLocale="ru" + android:languageTag="ru" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -715,6 +782,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x5c6b3bde" android:imeSubtypeLocale="si_LK" + android:languageTag="si-LK" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=sinhala,EmojiCapable" android:isAsciiCapable="false" @@ -724,6 +792,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8e94d413" android:imeSubtypeLocale="sk" + android:languageTag="sk" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -732,6 +801,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8ea2eb94" android:imeSubtypeLocale="sl" + android:languageTag="sl" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -740,6 +810,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x77c5196e" android:imeSubtypeLocale="sr" + android:languageTag="sr" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" @@ -759,6 +830,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x48b4ff43" android:imeSubtypeLocale="sv" + android:languageTag="sv" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -767,6 +839,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x8f3dee1f" android:imeSubtypeLocale="sw" + android:languageTag="sw" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -775,6 +848,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x67acea2a" android:imeSubtypeLocale="ta_IN" + android:languageTag="ta-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=tamil,EmojiCapable" android:isAsciiCapable="false" @@ -785,6 +859,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x6ca12d84" android:imeSubtypeLocale="ta_LK" + android:languageTag="ta-LK" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=tamil,EmojiCapable" android:isAsciiCapable="false" @@ -794,6 +869,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x785abbd9" android:imeSubtypeLocale="ta_SG" + android:languageTag="ta-SG" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=tamil,EmojiCapable" android:isAsciiCapable="false" @@ -802,6 +878,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x1e177389" android:imeSubtypeLocale="te_IN" + android:languageTag="te-IN" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=telugu,EmojiCapable" android:isAsciiCapable="false" @@ -810,6 +887,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x1f94d5d4" android:imeSubtypeLocale="th" + android:languageTag="th" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=thai,EmojiCapable" android:isAsciiCapable="false" @@ -827,6 +905,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x4a3179de" android:imeSubtypeLocale="tr" + android:languageTag="tr" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="true" @@ -835,17 +914,19 @@ android:label="@string/subtype_generic" android:subtypeId="0x3e84492c" android:imeSubtypeLocale="uk" + android:languageTag="uk" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable" android:isAsciiCapable="false" /> @@ -853,6 +934,7 @@ android:label="@string/subtype_generic" android:subtypeId="0xad5cf7f6" android:imeSubtypeLocale="uz_UZ" + android:languageTag="uz-UZ" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=uzbek,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -861,6 +943,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x93972eee" android:imeSubtypeLocale="vi" + android:languageTag="vi" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -869,6 +952,7 @@ android:label="@string/subtype_generic" android:subtypeId="0x9b13ab76" android:imeSubtypeLocale="zu" + android:languageTag="zu" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -877,6 +961,7 @@ android:label="@string/subtype_no_language_qwerty" android:subtypeId="0xa239ebad" android:imeSubtypeLocale="zz" + android:languageTag="zz" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EnabledWhenDefaultIsNotAsciiCapable,EmojiCapable" android:isAsciiCapable="true" @@ -888,6 +973,7 @@ android:label="@string/subtype_emoji" android:subtypeId="0xc14d88b2" android:imeSubtypeLocale="zz" + android:languageTag="zz" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=emoji,EmojiCapable" android:isAsciiCapable="false"