85df698df50262602ee2ac622d5c46f630c18f02 |
|
09-Mar-2016 |
Yohei Yukawa <yukawa@google.com> |
Dump spell checker service info from TSMS. This is a preparation CL to make TextServicesManagerService (TSMS) encryption-aware. This CL changes nothing except for the output of TSMS#dump(). To diagnose File-Based Encryption (FBE) related issues, it would be useful if we can see if each spell checker service is encryption-aware or not. To do that this CL updates TSMS#dump() so that it can include the result of ResolveInfo#dump() as we have done in InputMethodManagerService. This CL also updates TSMS#dump() so that its output can be more consistent with IMMS#dump(). Bug: 27456430 Change-Id: Ie2321278f1d52533a3cd74d98f1f84c950a8f6d0
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.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/textservice/SpellCheckerInfo.java
|
0894319162a2a1f4260805938d4807c4ffcbcb0f |
|
05-Dec-2015 |
Yohei Yukawa <yukawa@google.com> |
Add subtypeId for SpellCheckerSubtype. What this CL actually does is just copying the existing concept "subtypeId" from InputMethodSubtype to SpellCheckerSubtype. To recap, the underlying problem is that the system has stored only the return value of SpellCheckerSubtype#hashCode() to track the set of enabled subtypes, and SpellCheckerSubtype#hashCode() has been implemented as Arrays.hashCode(new Object[] {locale, extraValue}), which is problematic because: - Spell checker developers cannot change "locale" and/or 'extraValue' if they want to keep enabled subtypes enabled. - Android Framework developers cannot change the hash function even when new fields are added if they want to keep enabled subtypes enabled. InputMethodSubtype has had the same issue, and what we did was introducing a concept "subtypeId", which allows IME developers to specify the return value of #hashCode(). For instance, suppose that a subtype X has already been used in production with the following attributes: - locale: "tl_PH" - extraValues: "key1=value1,key2=value2" With "subtypeId", you can change the attributes of subtype X without losing the enabled state of subtype X on devices as follows. - locale: "fil_PH" - extraValues: "key1=value1,key2=value2,key3=value3" - subtypeId: Arrays.hashCode(new Object[] { "tl_PH", "key1=value1,key2=value2"}) This CL also deprecates existing public constructor of SpellCheckerSubtype, which was probably published as a public API by mistake. Note that the constructor of SpellCheckerInfo class is @hide. Also there is no public API that receives SpellCheckerSubtype object instantiated by developers with custom data. Making developers to be able to instantiate SpellCheckerSubtype does not make sense right now. Bug: 11736916 Bug: 22858221 Change-Id: I98f05c1e9421c47a93769bc4a6fe11b678bc2509
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
c7ee1b9369ffd7c21a70738056a82dc4238e7fc1 |
|
11-Apr-2012 |
satok <satok@google.com> |
Get rid of "isSentenceLevelSpellCheckSupported" Bug: 6320351 Change-Id: I0e931b7248f8c65268b60af599c07432d58d2f1f
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
f6710615c6cc1746d1ecc7aebc9afed457dcca41 |
|
30-Mar-2012 |
satok <satok@google.com> |
Supplement for I772164d9c67e95876c228efcce2 This should be merged with I1519258dd3ce95ad01 Change-Id: I48c5f86ff43f51913eb69d697bb1d75714b67aa3
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 |
|
09-Mar-2012 |
Ken Wakasa <kwakasa@google.com> |
Fix obvious typos under frameworks/base/core Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
2388a7ba6218f44400ee78016282cb96c02dfc54 |
|
26-Aug-2011 |
satok <satok@google.com> |
Add getServiceInfo to SpellCheckerInfo Change-Id: I11634b88cf65182465869b131cfdcc8815e74965
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
03b2ea1102d9e3e9f189173878706ab04533eea3 |
|
03-Aug-2011 |
satok <satok@google.com> |
Support xml configuration file for the spell checker and add the spell checker subtype Change-Id: I74715855525fc0a1282238d593ad37aefd42bfc3
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
562ab585f9e413d9696ee250e5ec02f95889a157 |
|
25-Jul-2011 |
satok <satok@google.com> |
[Step 2] Add apis for spell checker settings Bug: 5057977 Change-Id: I4617b7f1487349c5de385e7392dbc39c69fa2ebc
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|
988323c57bd25a58f05dfa492d9b9c8ab62c5153 |
|
22-Jun-2011 |
satok <satok@google.com> |
Create TextServiceManager and SpellCheckerService Bug: 4176026 This CL inherits https://android-git.corp.google.com/g/112600 Spec of TextServiceManager - Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..) for each locale Spec of SpellCheckerService - Returns whether the given string is a correct word or not - Returns Suggestions for the given string Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
/frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.java
|