History log of /frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e489baf96df2837a3a63b626d9023a4a8b322c28 12-Apr-2016 Yohei Yukawa <yukawa@google.com> Improve captalization in InputMethodSubtype#getDisplayName().

The goal of this CL is to enable
InputMethodSubtype#getLocaleDisplayName() to return more natural locale
display name in terms of capitalization rules.

The key idea here is to use LocaleDisplayNames#localeDisplayName() with
an appropriate DisplayContext.CAPITALIZATION_FOR_* parameter rather than
relying on Locale#getDisplayName().

Bug: 22845728
Change-Id: If105082ce703db7a86738455db7e9fb37f3c6fe8
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
66baf69042720e15c97a125cd034010ac456fc44 11-Apr-2016 Yohei Yukawa <yukawa@google.com> Make additional IME Subtype ID persistent.

It turns out that IME subtypes specified to
InputMethodManager#setAdditionalInputMethodSubtypes() are stored in the
presistent storate without subtype IDs. As a result, when the system is
rebooted, the system would no longer consider those additional subtypes
as enabled due to subtype ID mismatch, until the IME re-adds those
additional subtypes again with the original subtype IDs.

Bug: 28104337
Change-Id: I1445213e0b83d76631a839b974ec1ab9b28ad7d2
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
868d19b93b1e20c802a001c7304f8bcac5fe5114 08-Dec-2015 Yohei Yukawa <yukawa@google.com> Use BCP-47 LanguageTag in IME/Spell-Checker.

The primary goal of this CL is to make it clear that BCP-47 is the
expected format to annotate locale information for each
{InputMethod, SpellCkecker}Subtype. In order to avoid possible
compatibility issues, this CL introduce a new "languageTag" attribute
instead of reusing existing "imeSubtypeMode" and "subtypeLocale"
attributes.

For IME developers, this CL changes nothing unless "languageTag"
attribute is specified. To summarize:

A: If only legacy locale-string is specified
(existing IMEs/Spell-Checkers fall into this category):
-> The system uses locale-string.

B: If only LanguageTag is specified:
-> The system uses LanguageTag.

C: If both locale-string and languageTag are specified:
-> The system uses LanguageTag. Legacy locale-string is ignored.

For application developers, there should be some follow-ups CLs because
even with this CL most likely they would still have to take care of
previous versions of Android where:
- Locale#forLanguageTag() (N/A in API Level 20 and prior)
- Locale#toLanguageTag() (N/A in API Level 20 and prior)
- InputMethodSubtype#getLocale() (Deprecated in N)
- SpellCheckerSubtype#getLocale() (Deprecated in N)
- InputMethodSubtype#getLanguageTag() (N/A in M and prior)
- SpellCheckerSubtype#getLanguageTag() (N/A in M and prior)
One idea would be is in the official support library to provide a utility
method that takes care of above tasks and just returns a Locale object.
If we had a utility method in the support library, probably not
returning a Locale object from #getLanguageTag() would make sense.

From performance point of view both existing legacy locale-string
attribute and new LanguageTag attribute are just String objects that
travel from XML manifest to system services to applications via IPCs.
Hence there are no performance implications except for having one more
String objects.

Bug: 22858221
Change-Id: I6db107ad2afc7709167f7c4e5d24bd589ac8bd70
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.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/InputMethodSubtype.java
92280cd309b0f5967dd253280962d8581844db89 03-Jun-2015 Yohei Yukawa <yukawa@google.com> Convert subtypes whose locale is "tl" to "fil".

On Android, "tl" is a historic hack for what should really
be "fil". Now that we properly support 3-letter language codes,
we should be using "fil" throughout. Given this historical usage,
IMEs that really want to support Tagalog (and not Filipino)
should use the ISO-639-3 code for Tagalog, which is "tgl".

For backward compatibility reasons, this CL uses the similar
approach to I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10.
InputMethodSubtype.getLocale() continues to return the "locale"
string parameter passed to the constructor as is, but in the
Android framework we do normalizations/conversions whenever
we need a valid ISO-639-3 code.

In I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10, we rely on the
conversion in the Locale constructor. In this CL, we do replace
"tl" with "fil" by ourselves.

This CL also adds InputMethodSubtype#getLocaleObject() a hidden
API so that we can start relying on the Locale object at least
in the framework.

This CL is based on the investigation by Narayan Kamath and his
patch.

Bug: 20696126
Change-Id: I94f203bddceb9c87710cb187cc3cc0ee6d9092a5
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
f487e0e395a4e49f28c6448339d57357667756c6 20-Feb-2015 Yohei Yukawa <yukawa@google.com> Normalize deprecated 2-letter language code when necessary.

This is a follow up CL for I7d932e60311b80c05be8f02c9e803f18da0e0054,
which revealed that we could not use deprecated 2-letter code like "in"
to query subtype which has new language codes like "id".

This CL addresses the above issue by normalizing the language code
with Locale#Locale(String, String) before comparing one to another.

Change-Id: I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.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/java/android/view/inputmethod/InputMethodSubtype.java
4335047ea409506bb5a0ec773946f9b645462ce0 14-Nov-2013 Satoshi Kataoka <satok@google.com> am b97e102c: am 1b570b57: am 5fd5aa3d: Fix compatibility issue on InputMethodSubtype

* commit 'b97e102c4b9041ea8c5bb753743f2e1d7d3cf06a':
Fix compatibility issue on InputMethodSubtype
5fd5aa3d066fc12c92b5b6541d85ac243556223f 13-Nov-2013 Satoshi Kataoka <satok@google.com> Fix compatibility issue on InputMethodSubtype

Bug: 11032428
Change-Id: If722bbbfb69d00e1830007582d46a33319203eea
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
942d0d6a8cb64381575882323e676d44320fe3d2 21-Oct-2013 Scott Main <smain@google.com> am 48f2a25a: am e26c353c: am bab3348f: Merge "add xml attributes to IME javadoc" into klp-dev

* commit '48f2a25a7ffd2c89ca54e7b1873545a4e3b476f4':
add xml attributes to IME javadoc
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/InputMethodSubtype.java
92a6f3018ace5aa2d5ea74e7d378b6960b5e053e 03-Oct-2013 Satoshi Kataoka <satok@google.com> Fix InputMethodSubtype#equals corresponding to hashCode

Change-Id: Ic9305a6f0f5d753f0ad674ad6c9ee648cc8a6ce9
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.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/InputMethodSubtype.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/InputMethodSubtype.java
e52eb4e289bf8d7b04582803b0d0f9ab7399c1af 08-May-2012 satok <satok@google.com> Make InputMethodSubtype thread safe

Bug: 6327800
Change-Id: I549d1ec377793e918800d919b39fd8f4b6f0db41
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
83e675f5ecf9f5615f3179ac102176faa3ae2596 25-Mar-2012 satok <satok@google.com> Support UntranslatableReplacementStringInSubtypeName

Bug: 6210256

Change-Id: I54016f2dcfc6563ed3753e1d4fa1bbd2cfb9d08c
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
9a74476c0ab1aaa59e9aed6ecdeba43d5b4d3495 06-Jan-2012 Ken Wakasa <kwakasa@google.com> Comment clean up for InputMethodSubtype.

Change-Id: I50bca715f4caa669cb341b36a3d46358e1ad1ded
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
44b75030931d9c65c9e495a86d11d71da59b4429 14-Oct-2011 satok <satok@google.com> Add documents for the spell checker framework and the input method subtype

Bug: 4973788

Change-Id: I7e650f336ba1bb8949899e8b2355e6d492a2e4b2
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
8b83a7297680911d666546ee0b3a464514dc2c27 09-Sep-2011 Ken Wakasa <kwakasa@google.com> Fix a bug in InputMethodSubtype constructor

bug: 5249480

Change-Id: I707e45cc0606dae7824c478ab586fc24d3f417f8
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.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/InputMethodSubtype.java
3889e492bcad3c6f565d30da4e02d0dcde09d084 02-Sep-2011 satok <satok@google.com> Make the constructor of InputMethodSubtype hidden.

The constructor is not open sourced yet.

Change-Id: I69385b05cb3b5ee761a5ece9be877a8682c5fe55
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
35412d63ee59b99a43725e466c5deef52b2324df 04-Jul-2011 satok <satok@google.com> Fix NPE in InputMethodSubtype

Change-Id: Iec8b2f95660db3edec18c2fc38db8f16395739b5
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
a9778d4d442db65344e32318b1fd43ab54898389 08-Jun-2011 satok <satok@google.com> Fix the display name of InputMethodSubtype

- Also fixed hashCode

Change-Id: I4ef4bf42e4b73d11e23a89c5df3947411e654c04
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.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/InputMethodSubtype.java
9aabb95781bee6a44684a6f6feb155e115d24983 06-May-2011 satok <satok@google.com> Add one shot flag to the subtype

Bug: 4257258

Change-Id: I21da9e11c882eea056beb84a2dfb0f28da8a98b1
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
ece92d34fcf273f68f33d2fd8e5764764fc0c66d 27-Apr-2011 satok <satok@google.com> Fix a bug in InputMethodSubtype#hashCode

Bug: 4345760

Not to use resource ids for calculating hashCode

Change-Id: I29d2555aeb7d0e51205d9f1fe0da708df0890942
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
9c4cc03a354922df08efacfc486ef0e80144d3ea 14-Feb-2011 satok <satok@google.com> Add a method to check a string contained in ExtraValue of InputMethodSubtype

Change-Id: I34390537eaacd3ff8cfd336eaf5b9ca0d3e4b802
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
7265d9bd6d80c5bedaa6de2b80f6619a301a07c8 14-Feb-2011 satok <satok@google.com> Add sort method to InputMethodSubtype

Bug: 3364167

Change-Id: I94ad55b8eab49dc9b233dcb4e74429863b406fb4
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
e31e9424554d5f032f578830556913b4ba78f7f9 21-Jan-2011 Ken Wakasa <kwakasa@google.com> Update class doc for InputMethodSubtype

bug: 3370290
Change-Id: Ib86f81c1a5f6c9acca34b586d810c6e94db1b552
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.java
af4bf400abab86baee44dacbcdf13444d06ee46e 30-Nov-2010 satok <satok@google.com> Fix a bug of equals in InputMethodSubtype

Change-Id: I68b4726bedfb55d4737cf859ad3cb54bc19f9511
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.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/InputMethodSubtype.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/InputMethodSubtype.java