With this CL, LatinIME switches the current subtype from its enabled
subtypes based on the first locale in EditorInfo#hintLocales.
This functionality is still experimental, and will be triggered only
when EditorInfo#hintLocales is specified by the application.
Bug: 22859862
Change-Id: Ibd0559b370d8aa0d50d1bada8ecfdac0ed8db898
This CL updates LatinIME's compatibility library so that we can access
EditorInfo#hintLocales without directly depending on unreleased SDK.
Bug: 22859862
Change-Id: I4ba7d294bc314002c3abf8842f097a4249783364
With this CL, RichInputMethodSubtype#getLocale() starts returning
a Locale object that is initialized with "languageTag" when it is
specified. No behavior change is intended when "languageTag" attribute
is not available or specified.
Bug: 22858221
Change-Id: I23f2e479b8e284ce589c6950b071ba84c5dd8ce1
With previous CLs [1][2], now we can associate a BCP 47 language tag for
each InputMethodSubtype in XML resource file by "languageTag" attribute.
In order to test that the functionality, we start using "languageTag"
for some subtypes.
Note that specifying "languageTag" for all the existing subtypes is
beyond the goal of this CL, which should be handled in subsequent CLs.
Here is the list of subtypes that start having "languageTag" attribute.
- android:imeSubtypeLocale="en_US" -> android:languageTag="en-US"
- android:imeSubtypeLocale="en_GB" -> android:languageTag="en-GB"
- android:imeSubtypeLocale="fr " -> android:languageTag="fr"
- android:imeSubtypeLocale="fr_CA" -> android:languageTag="fr-CA"
- android:imeSubtypeLocale="fr_CH" -> android:languageTag="fr-CH"
- android:imeSubtypeLocale="tl" -> android:languageTag="fil"
[1]: I77db5b99a7cf745d800db75baf135bb60ad04820
8d6eeb01df72891acd3aa75e64aa1595a41cc96e
[2]: I251d3d999afd13c0d618f2cb59e8ed3d47f21c98
b8456a6a483ce62c81b92f613561fb761be0f3e8
Bug: 22858221
Change-Id: I37cb9ce196f2e23589e60ce34475504405778bbb
Starting in N, we are going to have new APIs to officially support the
situation where apps need to run before the user has unlocked their
device for the first time. For IME developers those APIs would be
important not only because IMEs developers may want to support other
apps that support that feature but also because IMEs developers have
already needed to pay attention to the same situation where the IME is
running so that the user can enter the initial password (e.g. for an
encrypted device).
Bug 11270326 is a perfect example of this scenario. Now we can disable
settings-key until the device is unlocked by using the new API when
running in Android N devices.
Bug: 11270326
Change-Id: Ie1c6efa63b60b91430f1a78dde624d0f3dff3c69