History log of /frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b21220efae92a56ff7b4b781fa614a6e3a8a3007 01-Nov-2014 Yohei Yukawa <yukawa@google.com> Minimize the number of default enabled IMEs part 4

This is a follow up CL for recent attempt to minimize
the number of default enabled IMEs.
- part1: I831502db502f4073c9c2f50ce7705a4e45e2e1e3
- part2: Ife93d909fb8a24471c425c903e2b7048826e17a3
- part3: I6571d464a46453934f0a8f5e79018a67a9a3c845

It turned out that the changes made in part2 and part3 are
a bit overkill, and users will see no software keyboards
in some particular situations. The problem we missed in
the previous CLs is the fact that
InputMethodInfo#isDefault is indeed a locale-dependent
value, hence it may vary depending on the system locale.
Existing unittests also failed to abstract such
locale-dependent nature.

In order to addresses that regression, the selection logic
is a bit widely reorganized in this CL. Now the logic is
implemented as a series of fallback rules.

Also, unit tests are updated to be able to 1) test the
order of the enabled IMEs, and 2) emulate the
locale-dependent behavior of InputMethodInfo#isDefault
to enrich test cases.

BUG: 17347871
BUG: 18192576
Change-Id: I871ccda787eb0f1099ba3574356c1da4b33681f3
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
e63b5fae8d099d2f5d4d5a5cf7a8d5a86266c0fe 19-Sep-2014 Yohei Yukawa <yukawa@google.com> Work on issue #17506095: Plumb a new configuration to IMMS

This CL makes a plumbing from SystemConfig to IMMS.

Change-Id: Ia70b870723acf647e0c27f24aff91b40d6f85543
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
dc489241cfb3691a87942344cf55efd3d98c1107 13-Sep-2014 Yohei Yukawa <yukawa@google.com> Minimize the number of default enabled IMEs part 3

With this CL, the behavior of getDefaultEnabledImes() changes
as follows:

- Previously system IMEs are always enabled by default as long
as it is a software keyboard that supports En_* subtype. With
this CL, getDefaultEnabledImes() relies on the locale returned
from getFallbackLocaleForDefaultIme() instead of calling
isSystemImeThatHasEnglishKeyboardSubtype() to minimize the
number of enabled IMEs.
- Previously default enabled system IMEs are chosen in a
country-agnostic way. As a result, "en_IN" is enabled even
when the system locale is "en_US". With this CL, the system
first tries to find IMEs with taking the coutnry into account,
and use the country-agnostic way when and only when fallback
logic is required.

BUG: 17347871
Change-Id: I6571d464a46453934f0a8f5e79018a67a9a3c845
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
68c860bb29861e54fd9b868bd5af701b054a1dc0 13-Sep-2014 Yohei Yukawa <yukawa@google.com> Minimize the number of default enabled IMEs part 2

Previously the system tried to enable at least one auxiliary IME
even when the system is not ready. However, this doesn't make
much sense because the user should be able to set up their phone
without auxiliary IMEs. Also, IMEs enabled before the system
becomes ready are kept to be enabled after the system becomes
ready. Thus, we should minimize the number of enabled IMEs
until the system becomes ready.

BUG: 17347871
Change-Id: Ife93d909fb8a24471c425c903e2b7048826e17a3
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
5e5c60a43a93a0b5f16680042f2fecf6e0ecd0d7 12-Sep-2014 Yohei Yukawa <yukawa@google.com> Minimize the number of default enabled IMEs part 1

Basically this CL does following clean-ups as groundwork.
- Embed isDefaultEnabledIme into its only one caller
- Fix a typo in isSystemAuxilialyImeThatHashAutomaticSubtype()
- Use exit-early style in getMostApplicableDefaultIME()

No behavior change is intended by this CL.

BUG: 17347871
Change-Id: I831502db502f4073c9c2f50ce7705a4e45e2e1e3
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
7b5a96ba8364d5c180780b2f878f5a2b949cfdac 10-Aug-2014 Michael Wright <michaelwr@google.com> Persist Show IME option.

Add a new setting to persist whether to show the IME when a hard
keyboard is connected.

Bug: 14066881
Change-Id: I2237ded850a0d4ab43ca441d0b7df13e0958e630
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
77cbcb6637e3733e9b80a93d37745f27ec4d4561 12-Jul-2014 Tadashi G. Takaoka <takaoka@google.com> Make InputMethodUtils.getLanguageFromLocaleString public

Change-Id: I3e26eded21e59106a3b0edcf9ad05afbe9a30670
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
4d8c132609c9a87d8e05cba65bf6832b38afd1ff 11-Jul-2014 Narayan Kamath <narayan@google.com> Allow 3 letter language codes in InputMethodUtils.

Replace locale.substring(0, 2) with a function that always
returns the first component of the locale (assumed to be the
language).

bug: 10090157
Change-Id: Ibb9eb9f65323795d139b16d76b7e7e36a4e0568c
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
f4824a06884e096beef921646cba4be29d7f36fc 02-Apr-2014 Kenny Guy <kennyguy@google.com> Fix issue with not allowing activities for current user.

Change-Id: Ic2e30c3f4990a03aac9801ee9bf5f270a5e90ef8
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
2a764949c943681a4d25a17a0b203a0127a4a486 02-Apr-2014 Kenny Guy <kennyguy@google.com> Rename related users to profiles.

Rename the related user concept as profiles.
When returning profiles of a user include the
user as a profile of itself.

Change-Id: Id5d4f29017b7ca6844632ce643f10331ad733e1d
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
734983fff35d9ed2b7a9848bdfbca401887d0dd8 05-Mar-2014 Amith Yamasani <yamasani@google.com> Allow related users to show activities on primary user

Make ActivityManager and WindowManager understand related users.

Task stack will now contain interleaved tasks for related users,
but still group regular users separately from groups of related users.

InputMethodManagerService permits related users to invoke IME and receive
key events.

Change-Id: I3bd87b32aec69c3f8d470c8b29b144f4e849c808
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
d787f6953371c4520bd51d6bf8eccc59f1d0f945 25-Oct-2013 Satoshi Kataoka <satok@google.com> Refactor InputMethodAndSubtypeCircularList

Change-Id: I452bb01d4af7097d214f2c2e7ed58bf1ca9fa219
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
7ce7f32257a1e49493d38b96f503069226e98c9a 05-Aug-2013 Satoshi Kataoka <satok@google.com> Open an internal utility of InputMethodUtils

Change-Id: I240e914bc21efce8554145619c403d547a17ad19
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
87c291421544821fe9d10a08ee4e9f31b62d5052 31-Jul-2013 Satoshi Kataoka <satok@google.com> Add a debug utility for InputMethodUtils

Change-Id: I59f6001bf20640e36e19b09cf117b8579120ba7d
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
0766eb045c0e2ecbc4317743b025618654ddea38 31-Jul-2013 Satoshi Kataoka <satok@google.com> Small refactor on InputMethodUtils

Change-Id: Ie4f797508c02abb13c7fe1be162ec4dc18829925
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
eb219ee190b4ceb662b81a93e6d4369bcd5e7dc0 29-Jul-2013 Satoshi Kataoka <satok@google.com> Change visibility of the hidden input method utility

Change-Id: I66303bc9e056388fef8cc884d7d98b0660ccdd15
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
b282726d8604dad3ac06e9d8bf167f19332a05d7 04-Jul-2013 Satoshi Kataoka <satok@google.com> Consolidate InputMethodUtils

Change-Id: Ib5a5f3af8ea9eaaa81697d13c20abe28121e7373
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
ed1cdb24ba986231629fbfb244ed758fc2add0fc 17-Apr-2013 Satoshi Kataoka <satok@google.com> Change the initial disabled state of disabled IMEs

Bug: 8365223

This change is a supplement for I77f01c70610d82ce9070d4a
The disabled state of disabled pre-installed imes should be changed
to ENABLED_STATE_DISABLED_UNTIL_USED on boot or user switch.

Change-Id: If8ff1b2b95c36d33148def2ab87bd006aa520cc0
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
f1367b7e903a2a69a8f833bb272e91d77abd57c6 25-Jan-2013 Satoshi Kataoka <satok@google.com> Do not turn on imes unexpectedly with unit tests

Bug: 7872918

Change-Id: Ie1d74c9fac27de140e7aa85f2eaefcb89aa06ea7
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
fd7adedebf88427162a3ce27fcc9cfd3893c869d 23-Jan-2013 Dianne Hackborn <hackbod@google.com> Add new disabled state for "optional" built-in apps.

The disabled state allows you to make an app disabled
except for whatever parts of the system still want to
provide access to them and automatically enable them
if the user want to use it.

Currently the input method manager service is the only
part of the system that supports this, so you can put
an IME in this state and it will generally look disabled
but still be available in the IME list and once selected
switched to the enabled state.

Change-Id: I77f01c70610d82ce9070d4aabbadec8ae2cff2a3
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
8e303cc5dd4860b6050d5725ce60ca7e6fb00c7b 11-Jan-2013 Satoshi Kataoka <satok@google.com> Refactor utilities for InputMethodManagerSerivce that we want to share with the Settings application

Bug: 7872918

Change-Id: I0bc9954f163a3ec38d08b9ba842a8a31176eb6a6
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java