OSDN Git Service

Convert subtypes whose locale is "tl" to "fil".
authorYohei Yukawa <yukawa@google.com>
Tue, 2 Jun 2015 23:50:14 +0000 (16:50 -0700)
committerYohei Yukawa <yukawa@google.com>
Wed, 3 Jun 2015 00:09:50 +0000 (17:09 -0700)
commit92280cd309b0f5967dd253280962d8581844db89
tree5f71fb2d687bf63b39a60c7f430cafa898bcc73d
parentc5ff0020a2467e0b7aed590d790b5a1b4b082f56
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
core/java/android/view/inputmethod/InputMethodSubtype.java
core/java/com/android/internal/inputmethod/InputMethodUtils.java
core/tests/inputmethodtests/src/android/os/InputMethodSubtypeTest.java