History log of /frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
46699675aa046423fba17c5ccac9d989e7b81908 30-Mar-2017 Tadashi G. Takaoka <takaoka@google.com> Remove supportsDismissingSelfWindow attribute of IME

This partially reverts CL I0f6b130a7df57557e40b52a7b7ac00be965a17c3.

Fixes: 34133139
Test: Confirm that unit test passed.
adb install out/target/product/.../data/app/FrameworksCoreTests/FrameworksCoreTests.apk
adb shell am instrument -w \
-e class android.view.inputmethod.InputMethodInfoTest \
com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I2b94263b2a0bf330bf9973567fea2d35176754d7
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
ddad4b93fac5258e29c0f1d2e871b055cae6e6b8 02-Feb-2017 Yohei Yukawa <yukawa@google.com> Simplify the constructor of InputMethodInfo

This is a preparation CL for fixing Bug 32343335, where we aim to
avoid unnecessary reconstruction of InputMethodInfo objects by caching
immutable part of those metadata by APK revisions.

The reason why we have had to pass additional subtypes not just as
List<InputMethodSubtype> but as Map<String, List<InputMethodSubtype>>
to create an instance of InputMethodInfo is that how to compute
so-called IME ID is not exposed from InputMethodInfo even as @hide
method.

In practice it has been calculated as
new ComponentName(packageName, serviceName).flattenToShortString()
and those IDs are already stored here and there including secure
settings. It is almost impossible to change the rule anymore hence
we should consider them to be a kind of public API.

This CL adds a @hide static method InputMethodInfo#computeId() to
make it clear. This also enables us to simplify the constructor
of InputMethodInfo finally, because we have used IME IDs as keys
in subtypes.xml, where additional subtypes are stored.

Test: Manually verified that addtional subtypes still work
Test: checkbuild
Bug: 32343335
Change-Id: I1deaa470e042eac749e7a847933d14448a0d9e03
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
e12a6fff1400b57d307daa1af662a74eb2f1d261 11-Jan-2017 Tadashi G. Takaoka <takaoka@google.com> Add supportsDismissingSelfWindow attribute of IME

When a virtual keyboard is shown on some configurations (e.g. Phone),
the System UI may change the back navigation button to a different UI
element in order to dismiss the virtual keyboard. Such UI modification
is unnecessary when the virtual keyboard has a dismissing button on
its own window. This new attribute hints the System UI that the
virtual keyboard may have a UI element to dismiss itself. This will be
also useful for Tablet System UI which may not show a navigation bar
when a virtual keyboard is shown.

Bug: 34133139
Test: Add unit test InputMethodInfoTest
Change-Id: I0f6b130a7df57557e40b52a7b7ac00be965a17c3
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
67e2ae86396c6d0f989285275cbf908dee5e71f7 12-Oct-2016 Aurimas Liutikas <aurimas@google.com> Fix import statement in view|transition|animation packages.

This change also remove trailing whitespace.

Test: code still compiles
Change-Id: I7eff4546320d67d2bae58d31bad0625ea0791b8f
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
e65e860ca88726d8b1f9a0cbe6fac89f1721c906 04-Aug-2016 Keisuke Kuroyanagi <ksk@google.com> Catch more Exceptions for reading InputMethodSubtype.

Bug: 30568284

Change-Id: I21d256a81e4c79ef072b20e35162bc8cb7d48e70
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
d9550a754501d094c542f56f15b107f0e4acaf9b 20-Feb-2016 Yohei Yukawa <yukawa@google.com> Remove unused InputMethodInfo#isEncryptionAware().

This logically reverts a previous CL [1], which added
InputMethodInfo#isEncryptionAware() for File-Based Encryption (FBE)
support, since it turns out that the method in question is unnecessary
to make InputMethodManagerService encryption-aware.

[1]: Icf921fe3661eccf4a589b08b616d05decc561356
69811a98f161a04af8e8ec9978c3a5efe1ea0f29

Bug: 26279466
Change-Id: Ia4884bf5922ad453d4b9e5e3c6f0d17b36dc205d
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
37db07216e7aa7baf18b7996b79ff9028aca6fb1 09-Feb-2016 Yohei Yukawa <yukawa@google.com> Make InputMethodInfo#isEncryptionAware() strict.

This is a follow up CL to the previous CL [1], which unintentionally
relied on whether the entire application rather than the
InputMethodService is marked to be encryption-aware. This wasn't
obvious because right now LatinIME is entirely marked to be
encryption-aware, which probably needs to be reconsidered in subsequent
CLs.

This CL drops "encryptionAware" line from InputMethodInfo#dump() as it
is redundant. The same information is already dumped in the
'ServiceInfo' section.

[1] Icf921fe3661eccf4a589b08b616d05decc561356
69811a98f161a04af8e8ec9978c3a5efe1ea0f29

Bug: 26279466
Change-Id: I6cea5fe5731f4a6a64ea722b854b99c5154a15ae
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
69811a98f161a04af8e8ec9978c3a5efe1ea0f29 08-Feb-2016 Yohei Yukawa <yukawa@google.com> Add a utility method to InputMethodInfo for FBE.

This is another preparation for Bug 26279466. Whether an input method
is marked to be encryption-aware or not would become the thing here and
there in the Framework code. Having a utility method and debug info
in dumpsys should make our lives easier.

Bug: 26279466
Change-Id: Icf921fe3661eccf4a589b08b616d05decc561356
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
285765014f80d5c515d1727e71bda41c810327b6 08-Feb-2016 Yohei Yukawa <yukawa@google.com> Fix style issues in InputMethodInfo.java.

This has nothing to do with Bug 26279466 but might be something nice to
fix just as a preparation.

Bug: 26279466
Change-Id: Ie1a8ee2248081a70728c29e52c657b3a0ed919b1
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
b8456a6a483ce62c81b92f613561fb761be0f3e8 22-Jan-2016 Yohei Yukawa <yukawa@google.com> Initialize InputMethodSubtype with "languageTag".

My previous commit [1] introduced a new XML attribute "languageTag" for
subtypes but forgot to initialize InputMethodSubtype object with that
attribute. As a result, InputMethodSubtype#getLanguageTag() has always
returned null even if "languageTag" attribute is specified.

[1]: I77db5b99a7cf745d800db75baf135bb60ad04820
8d6eeb01df72891acd3aa75e64aa1595a41cc96e

With this CL, InputMethodSubtype#getLanguageTag() starts returning the
value specified in the XML resource.

Bug: 22859862
Change-Id: I251d3d999afd13c0d618f2cb59e8ed3d47f21c98
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
71fbb81b14958b80fe55738607740c6630e4e9da 30-Nov-2015 Neil Fuller <nfuller@google.com> Fix @code escapes

The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
d742bfda068cefe64fac29c2824ed03b2fa28f2a 14-Oct-2015 Seigo Nonaka <nona@google.com> Dump mSupportsSwitchingToNextInputMethod value

Bug: 24280547
Change-Id: Ibfdf09a0a2b3e907ae3e900ee541437725650463
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
fcedfa01907d8a5f804974a4a3585498e8d6c261 19-Sep-2014 Yohei Yukawa <yukawa@google.com> Speculative fix of IMMS crash

This CL is a follow up CL for I6571d464a46453934f0a8f5e790.

Do not propagate Resources.NotFoundException to the caller
of InputMethodInfo.isDefault().

BUG: 17553712
BUG: 17549437
BUG: 17517332

Change-Id: Ie95880c1f68f49eb63518e69b7dfa20af3ce8737
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.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/android/view/inputmethod/InputMethodInfo.java
d1da11529813f6d3f51518b5fe028e0b8084f5cc 01-May-2014 Yohei Yukawa <yukawa@google.com> Add unit tests for InputMethodSubtypeSwitchingController

This CL adds unit tests for InputMethodSubtypeSwitchingController
as a ground work to make it aware of
supportsSwitchingToNextInputMethod in a subsequent CL.

This CL never changes existing behavior.

BUG: 12981505
Change-Id: I3b2c46c47c7686b811fa248ad549f20875367425
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
f06569561fe1c6e898debf8bb9f37331a9f87323 03-Mar-2014 Yohei Yukawa <yukawa@google.com> Introduce InputMethodSubtypeArray for memory efficient IPCs

This CL introduces InputMethodSubtypeArray which compresses
multiple instances of InputMethodSubtype to reduce the risk
of TransactionTooLargeException during IPCs.

There are some IMEs which rapidly adding new subtypes into
their supported language list. One problem here is that each
instance of InputMethodInfo internally owns the list of
supported subtypes. Basically it requires additional
200 ~ 300 bytes for each subtype when InputMethodInfo is
transffered via IPCs. We should keep the size less than
100 KB in typical scenario.

With this CL, the list of InputMethodSubtype is marshalled
with GZIP compression. Approximately one InputMethodInfo is
marshalled within 10 KB even when it has 100 subtypes.

No negative performance impact is observed so far. The cost of
decompression seems to be compensated by another optimization
in this CL. Actually marshalling cost is reduced with this CL
by caching the compressed data on demand.

BUG: 12954290
Change-Id: Ibb2940fcc02f3b3b51ba6bbe127d646fd7de7c45
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
66996dafa7137ebac795347576fb8fde14d1e142 24-Feb-2014 Yohei Yukawa <yukawa@google.com> Remove trailing spaces and tabs

Actual fix will be covered by subsequent patches.

BUG: 12954290
Change-Id: I55f2374fd447d5b3d5a696de6f9b493e32f4e17a
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
5df0631003392c416c9617458dc2814f9eaec317 19-Oct-2013 Scott Main <smain@google.com> add xml attributes to IME javadoc

Change-Id: I7a3505753188ba23777391a286d8595ed64777cb
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
69da2690e5a990987adba8f68dcf3d8a17d1a0fc 15-Aug-2013 Satoshi Kataoka <satok@google.com> Add an API supportsSwitchingToNextInput

To let the system know an IME supports switching to a next input method

Bug: 8364845
Change-Id: Iabf4f106893ee6a262ad0cd44dbec0c661bf0ff2
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
660e6c96e3133f28b1fe95902674ce34ca1a35eb 01-Aug-2013 Satoshi Kataoka <satok@google.com> Small cleanup on InputMethodInfo

Change-Id: I7879a8d9fe83fcd7362ecc4ab60460a3212ac8c4
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
dc8abf6cee0bcf44e2cad8155f0c151105d46471 12-Mar-2013 Satoshi Kataoka <satok@google.com> Cleanup InputMethodSubtype and add "isAsciiCapable".

Bug: 8364845
Change-Id: Ic3ace4b6e0432d56696bcbc0be336aec1dc744a5
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.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/android/view/inputmethod/InputMethodInfo.java
e62e6d8731ab1e02c1632ebc011792d07b902af8 02-Jul-2012 Satoshi Kataoka <satok@google.com> Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed

Bug: 6752230
Change-Id: I3a2d512e395fe8645edf6ab82108948b927c629a
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
dbfba8560dda9de810c4265b765d49952519e841 05-Sep-2011 satok <satok@google.com> Add a function to check auxiliary ime.

Change-Id: Ibda3d0a11c7dd77aa1304d34fc858bb7d941c626
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
a86f5e448cd6d29340ca6cbe509bc6384bc0d711 02-Sep-2011 satok <satok@google.com> Add an option for the implicitly selected subtype

Bug: 5057886
Change-Id: Iddde4724891501b4f18cade6a3d2c64b6124e58a
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
e7c6998e0a953ae55487d4fe122739646f9280aa 03-Jun-2011 satok <satok@google.com> API to set additional subtypes

Bug: 4321667

- Due to the voice team's strong request

Change-Id: Ia8bbc277c0987bde996e6f65541877cec96a3ca1
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
4f31353cb3b00c77c9420ef27ec949fd570ede3b 01-Jun-2011 satok <satok@google.com> Add an api to get the display name for InputMethodSubtype

Bug: 4321667

Change-Id: I55aa844ff33dae0cf8ef00072e87727992eb77c1
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
c50232d517d7b99ae3c3e073f04eb6799c876e8c 25-Mar-2011 satok <satok@google.com> Add hashCode to InputMethodInfo

The uniqueness of InputMethodInfo was guaranteed by mId (like InputMethodInfo#equals), but the hashCode was not implemented in the same way.
This change fixes a problem happening when the user gets the hashCode of InputMethodInfo obtained through IPC.

Change-Id: Ib876c5cb0d778481100597ec31202f94fb7b8f37
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
586f051375d8d7aeece05329921f9f66fc6164cb 20-Jan-2011 Ken Wakasa <kwakasa@google.com> Refine InputMethodInfo API

bug: 3370297
Change-Id: I2a18f3bdbe2fccb22e22cdae0f75aec5c703ad6d
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
9ef0283bdcd9534cc09ae37eb2b78771b95247b5 04-Nov-2010 satok <satok@google.com> Change API for getting InputMethodSubtype's mode from resource id to String

Change-Id: I00aa99f8ab9901d40806a6bb336ab718eb857e8b
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
ab751aa085433e9f735d2e7603459c6c7e9d2fb0 14-Sep-2010 satok <satok@google.com> Add methods for managing subtypes

- added showInputMethodSubtypePicker to public API
-- show the selector dialog for subtypes
- added getter, setter and event handler to InputMethodManagerService
- extract InputMethodSubtype to the top level class for using it in aidl
- TODO: make an enabler for input method subtypes
- TODO: handle the event of changing an input method subtype in LatinIME

Change-Id: I49f8c6675ac4b06511635d14a37bd398738eff33
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
7eb84256e57ce85bece610e6a01e20fa12e0f3fe 04-Aug-2010 satok <satok@google.com> Enhancement of method.xml for Fast IME switching

- (Public API) Add public attrs: imeSubtypeExtraValue, imeSubtypeLanguage, imeSubtypeMode
-- (Public API) Add InputMethodSubtype class
-- (Public API) Add getSubtypes to InputMethodInfo
- Add parser for the enhanced method.xml

Change-Id: Ie7965fd29fd9615ef9c9418075c9f5f1c3365eb6
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
20cb56e26e91df91bd64d4251222e0d421cdbe47 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix some bugs.

Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
eb034652c2037a47ebfd99779e8383bb8bb528af 07-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement all of the infrastructure for configuring wallpapers.

Actually being able to configure a wallpaper relies on additional
work in the launcher and wallpapers that will be in another change.
Also note that this breaks all existing wallpapers, since they now
need to include a meta-data item about themselves. This also
will be fixed in another change.

Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.java