History log of /frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.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/tests/inputmethodtests/src/android/os/InputMethodTest.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/tests/inputmethodtests/src/android/os/InputMethodTest.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/tests/inputmethodtests/src/android/os/InputMethodTest.java
59cccf93d28648a77860a30349e52b7eeb98436c 12-Sep-2014 Yohei Yukawa <yukawa@google.com> Enrich test cases when enabling default IMEs part 4

This is another groundwork for subsequent fixes.

Notable changes in test cases are:
- simplified test cases for voice IMEs.
- added more test cases for keyboard IMEs.
- introduced assertDefaultEnabledImes() to reduce code duplicate.

BUG: 17347871
Change-Id: I8cf61cfa18ac425a2cccc7823474c3f06dc0fa1e
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.java
d77adfe52d44396c54a4ce3a7f1e823e8618f27c 11-Sep-2014 Yohei Yukawa <yukawa@google.com> Enrich test cases when enabling default IMEs part 3

This is another groundwork for subsequent fixes.

Notable changes in test cases are:
- A dummy Hinglish IME ("en_US" + "hi") is added
- Added test cases where system locale is "en_GB",
"en_IN", and "hi" as well as "en_US".

BUG: 17347871
Change-Id: Iacf0f47c4dbc147f8153df50ba58fc4da4dacd29
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.java
bca817b2e2623c49bbb618f78fe207bedf57f266 11-Sep-2014 Yohei Yukawa <yukawa@google.com> Enrich test cases when enabling default IMEs part 2

This is another groundwork for subsequent fixes.

Notable changes in test cases are:
- isSystemReady == false is now coverted.
- tests can run even when the system locale of test
environment is different from "en_US"

BUG: 17347871

Change-Id: I9434270735d3b37d8b788d41250b23d7950aaeed
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.java
cfcbddaff269cbb35192c21e557d34aece2f3d6c 10-Sep-2014 Yohei Yukawa <yukawa@google.com> Enrich test cases when enabling default IMEs

This is another groundwork for subsequent fixes.

Notable changes in test cases are:
- isAsciiCapable is now annotated accordingly.
- "dummy.keyboard0" now has several subtypes like
"en_GB", "en_IN", "hi", "hi_ZZ" like the AOSP
LatinIME.

BUG: 17347871
Change-Id: Ide698ed11c2539ba5862e6b37ea63ed19f8ce566
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.java
443c2bafd824779a75cd4b922b6839a8df9795e9 10-Sep-2014 Yohei Yukawa <yukawa@google.com> Use public APIs to instantiate InputMethodSubtype

This is a groundwork for subsequent CLs that are
supposed to improve default input method selection
logics.

Historically we have had a @hide constructor of
InputMethodSubtype. However, this contructor is
a bit obsolete because we can not specify some
parameters that were added in recent platform
releases. We should use InputMethodSubtypeBuilder
instead.

BUG: 17347871
Change-Id: I72ad79682a58344e14380eb20e26edf98aee37cd
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.java
c18cd393f65146fac03a9bdfa45380a69460ee98 03-Mar-2014 Yohei Yukawa <yukawa@google.com> Make sure InputMethodInfo implements Parcelable transitively

This CL adds one more test to make sure InputMethodInfo
implements Parcelable correctly. This test makes sure that
one can marshall and unmarshall again from an unmarshalled
copy of InputMethodInfo.

BUG: 12954290
Change-Id: I5aa1552a8089fe0bac54513ba224e5bfc494be97
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.java
589800485d770cab7b159ffcf4b18c10ae2aee6d 27-Feb-2014 Yohei Yukawa <yukawa@google.com> Add unit test for InputMethodInfo

This CL adds a unit test to make sure that InputMethodInfo
implements Parcelable correctly.

BUG: 12954290
Change-Id: I0abe8c266b4b035bf8ef4688d11069b355fabe9f
/frameworks/base/core/tests/inputmethodtests/src/android/os/InputMethodTest.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/tests/inputmethodtests/src/android/os/InputMethodTest.java