0cf7b310125ea283f2177d705cb134e895ff32bd |
21-Mar-2018 |
Yohei Yukawa <yukawa@google.com> |
Fix confusing Log.e message in SpellCheckerSession With this CL, calling SpellCheckerSession#close() multiple times will no longer show the following error message in logcat, which was quite confusing. E SpellCheckerSession: ignoring processOrEnqueueTask due to unexpected mState=TASK_CLOSE scp.mWhat=TASK_CLOSE Note that with a recent CL [1], we now more often see the above message. A typical scenario is: 1. App creates SpellCheckerSession x. 2. App calls x.close(). 3. x is garbage-collected. ART calls x.finalize(), which internally calls x.close() again. [1]: I4e00c3a2cec93d1dacff20546e481fe757279661 9b64367193ffb252f869fb9f65a60b51a654119e Bug: 72974646 Fix: 72974646 Test: Made sure that no error message in question with a test app that calls SpellCheckerSession#close() multiple times then trigger SpellCheckerSession#finalize(). Change-Id: Ie9690860e6d0406dc6746cd03c28f693e65c1dde
pellCheckerSession.java
|
3f8c568883e5df9dd0c44d19c5c4d23edd3756c3 |
01-Mar-2018 |
Yohei Yukawa <yukawa@google.com> |
Re-enable cross-profile use of spell checker APIs Recently we successfully removed the restriction that up to one SpellCheckerService can be active at the same time [1]. This still makes much sense at high level, but at the ecosystem level there are still some products / components that depend on the previous behavior that child profile users can use parent profile's spell checker service, which was originally introduced as a stopgap solution for Android N MR1 [2]. Our decision for Android P for now is to revert back to the previous behavior only when the calling process is running under work profile. At the implementation level, we can summarize the new behavior as follows: * When TextServicesManager APIs are called from work-profile processes, those API calls will be evaluated with parent-profile's user ID to match the previous behavior [2]. * If the currently selected spell checker is not a pre-installed one, then API calls from work profile will fail to match the previous behavior [2]. * When TextServicesManager APIs are called from non work-profile processes, those API calls will continue being evaluated with calling user ID, as we planned for Android P [1]. * TextServicesData will not be created for child profile users. [1]: I06c27ef834203a21cc445dc126602c799384527b 06a2624049f09e1ad68f8ab74fdb525aacd5c1e5 [2]: Iae9045ba5baccd04ed68906e7afb9160677ec4a5 095fa371643b1d8e829067ea4ed93c357b39e773 Bug: 63041121 Bug: 64718412 Bug: 70922751 Bug: 73609140 Fix: 73862883 Test: atest FrameworksCoreTests:com.android.internal.textservice.LazyIntToIntMapTest Test: Manually tested with Test DPC as follows: * When AOSP Spell Checker is pre-installed and the current spell checker, both main profile and work profile can use AOSP spell checker. * When SampleSpellCheckerService is side-loaded and the current spell checker, only main profile can use SampleSpellCheckerService. Change-Id: Ic046f832f203115106409a53418a5746eb6d4939
extServicesManager.java
|
46a54e8be637c0e7922bcbec0bf5bc308dcdf69d |
23-Jun-2017 |
Guliz Tuncay <gulizseray@google.com> |
Remove the internal APIs of TSM to change spell checker settings Previously, TextServicesManager was exposing APIs to system services to modify spell checker settings. However, Settings application is the only client of these APIs and there is no need to expose it to all the other services. Settings app already has the WRITE_SECURE_SETTINGS permission and can directly update the spell checker settings. Hence, we can remove these APIs from TSM. Fixes: 62950392 Test: Manually as follows. 1. Build and flash an OS image. 2. Complete the setup wizard (if any). 3. Make sure AOSP Keyboard (com.android.inputmethod.latin) is installed 4. Install SampleSpellCheckerService 4.1 tapas SampleSpellCheckerService 4.2. make -j 4.3. adb install -r out/target/product/generic/system/app/SampleSpellCheckerService/SampleSpellCheckerService.apk 5. Set the current spell checker service to be AOSP SCS by adb shell settings put secure selected_spell_checker com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService 6. Run a test program that has TextView and tap on one of the TextViews and type some text. 7. Observe that there is a connection to AOSP SCS by adb shell dumpsys textservices 8. Set the current spell checker service to be SampleSpellCheckerService SCS by adb shell settings put secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService 9. Observe that there is a connection to SampleSpellCheckerService SCS by adb shell dumpsys textservices Change-Id: I4513ca661788f00785f684c21d7244c233b6e33e
extServicesManager.java
|
ec68b46bc85b2317053da7e2933876fc6e51ac2f |
06-Jun-2017 |
Jeff Sharkey <jsharkey@google.com> |
Merge "Annotate @SystemApi with required permissions." into oc-dev am: c1406978a4 am: 7a2e4a8486 Change-Id: Ib629e25dbf047c110feaf03e4ff744b5c6df9aeb
|
d86b8fea43ebb6e5c31691b44d8ceb0d8d3c9072 |
03-Jun-2017 |
Jeff Sharkey <jsharkey@android.com> |
Annotate @SystemApi with required permissions. Most @SystemApi methods should be protected with system (or higher) permissions, so annotate common methods with @RequiresPermission to make automatic verification easier. Verification is really only relevant when calling into system services (where permissions checking can happen on the other side of a Binder call), so annotate managers with the new @SystemService annotation, which is now automatically documented. This is purely a docs change; no logic changes are being made. Test: make -j32 update-api && make -j32 offline-sdk-docs Bug: 62263906 Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
extServicesManager.java
|
9b64367193ffb252f869fb9f65a60b51a654119e |
22-Mar-2017 |
Narayan Kamath <narayan@google.com> |
SpellCheckerSession: Fix brittle finalizer pattern. Always call super.finalize, also make sure super-class finalizers are called last (i.e in reverse order of construction). While we're here, we can switch to dalvik.system.CloseGuard to warn if the object hasn't been properly closed. Test: make Bug: 35609098 Change-Id: I4e00c3a2cec93d1dacff20546e481fe757279661
pellCheckerSession.java
|
06b4be771cc59bcc64e86d5763eee41431a03523 |
29-Jan-2017 |
Yohei Yukawa <yukawa@google.com> |
Minor code clean-ups with no behavior change As another preparation CL to work on Bug 7254002, this CL cleans up miscellaneous minor coding style issues that do not cause any user-visible problems. - Add final keyboard to classes that are not intended to be extended. - Add static keyboard to nested classes if possible. - Fix a typo in log message. - Remove a redundant synchronized keyword in method signature. - Remove unused class fields. Test: checkbuild Bug: 7254002 Change-Id: I3b54179116a74cafc99a3dfd3f2a429a7111c12e
pellCheckerSession.java
extServicesManager.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
pellCheckerInfo.java
pellCheckerSession.java
pellCheckerSubtype.java
uggestionsInfo.java
|
49ca529a850e60482ddcc8c0762105b4aa10f35f |
10-May-2016 |
Jeff Sharkey <jsharkey@android.com> |
Avoid caching services with missing binders. When fetching system services early during boot, if the underlying binder interface hasn't been published yet, we end up caching a manager class that is broken for the remainder of the process lifetime, and innocent downstream callers end up using the broken cached manager. Fix this by using an explicit exception to quickly abort manager creation when the underlying binder is missing. The exception is only used to skip the remainder of the manager creation, and it doesn't actually crash the process. Bug: 28634953 Change-Id: I0cb62261e6d6833660704b93a11185aa11a2ac97
extServicesManager.java
|
514c5ef8d5774d8820ed1bf90fe53af1606cf106 |
25-May-2016 |
Aurimas Liutikas <aurimas@google.com> |
Add missing @Deprecated annotations. Add missing @Deprecated annotations for methods with @deprecated tag in javadoc. Change-Id: I35b78ccb97832d86b914c21a300444ba29e33844
pellCheckerSubtype.java
|
ad150ee271d9a0d27289407bd023924e23ec2b26 |
17-Mar-2016 |
Yohei Yukawa <yukawa@google.com> |
Remove an unnecessary int to String conversion. This is a safe refactoring to remove an unnecessary int to String conversion in TextServicesSettings. Settings.Secure.SELECTED_SPELL_CHECKER_SUBTYPE is a integer value that indicates subtype ID (or SpellCheckerSubtype#hashCode() if the subtype ID is not specified), and we can just rely on Settings.Secure#putIntForUser() rather than converting int to String by ourselves then pass it to Settings.Secure#putStringForUser(). Note that this change is still OK for existing users because Settings.Secure#putIntForUser() has been internally doing exactly the same thing. Bug: 27687531 Change-Id: Ibcf12746f1295c12bec095300ea7f6ced0a51d09
pellCheckerSubtype.java
|
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
pellCheckerInfo.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
pellCheckerInfo.java
pellCheckerSubtype.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
pellCheckerInfo.java
pellCheckerSubtype.java
|
eae60ba5a4a39d59940e9749a4ad26281d016d03 |
04-Dec-2015 |
Yohei Yukawa <yukawa@google.com> |
Rewrite a fake language code "tl" in SpellChecker. With following CLs, we already have a special rewrite rule of "tl" to "fil" for IMEs that are targeting older versions of Android earlier than Lollipop that did not support three letter language codes and used "tl" (Tagalog) as the language string for "fil" (Filipino). - 92280cd309b0f5967dd253280962d8581844db89 [1] - ed65bc0c62ca99a118057db7ad54c4ccc14d52d0 [2] [1]: I94f203bddceb9c87710cb187cc3cc0ee6d9092a5 [2]: Ica9cd2baac002c406f92331aadd7725d7424046a With this CL, we have the same rewrite rule for spell checker services. Bug: 20696126 Change-Id: I0af0f520a15337e33973391c9965364e3ae1ee4c
pellCheckerSubtype.java
|
658c29e86ef7c2d4c3a3fa8ebad5726d692e7c68 |
04-Dec-2015 |
Yohei Yukawa <yukawa@google.com> |
retry: Add @hide SpellCheckerSubtype#getLocaleObject(). This is the 2nd try of I39dc0c310158ad23ba6c987efce07deaf30ce693. This is a mechanical refactoring with no behavior change. With this CL, InputMethodSubtype and SpellCheckerSubtype have the same getLocaleObject() hidden API, which makes it easy to share the logic in subsequent CLs. No behavior change is intended. Bug: 11736916 Bug: 20696126 Bug: 22858221 Change-Id: I51be014c752b736a808e2b0d56e664941a218a2f
pellCheckerSubtype.java
|
80a918c3bd2de754027b7e7dffdd38ed138b69ce |
04-Dec-2015 |
Yohei Yukawa <yukawa@google.com> |
Revert "Add @hide SpellCheckerSubtype#getLocaleObject()." This reverts commit e3c761c87efdee7c28461559015fa76602d4605a. Previous CL unintentionaly contained behavior change. Change-Id: I1e350f224df815e991d9f42ac4145ecfc5c1c8b0
pellCheckerSubtype.java
|
e3c761c87efdee7c28461559015fa76602d4605a |
04-Dec-2015 |
Yohei Yukawa <yukawa@google.com> |
Add @hide SpellCheckerSubtype#getLocaleObject(). This is a mechanical refactoring with no behavior change. With this CL, InputMethodSubtype and SpellCheckerSubtype have the same getLocaleObject() hidden API, which makes it easy to share the logic in subsequent CLs. Bug: 11736916 Bug: 20696126 Bug: 22858221 Change-Id: I39dc0c310158ad23ba6c987efce07deaf30ce693
pellCheckerSubtype.java
|
f4d225a4b502ef227788447eb1a5bb2902019c01 |
17-Jun-2015 |
Yohei Yukawa <yukawa@google.com> |
Fix debug log for SpellCheckerSessionListenerImpl#TASK_CANCEL This is a follow up CL for Ifd05565ac0c057c46ec88a3fb9094c04934041d. SpellCheckerSessionListenerImpl.taskToString(TASK_CANCEL) has somehow returned "STATE_WAIT_CONNECTION" probably because of a copy-and-paste mistake. With this CL, it now returns "TASK_CANCEL", which is observable only in debug log anyway though. Bug: 21319642 Change-Id: Ib0bf11494bd3f210e6e8192fc25a33c65f7d313d
pellCheckerSession.java
|
f05ce728f95ce2a294981ee94167d42a35f50f8c |
16-Jun-2015 |
Yohei Yukawa <yukawa@google.com> |
Fix a reference leak in SpellCheckerSessionListenerImpl. The primary goal of this CL is to address a reference leak in SpellCheckerSession.SpellCheckerSessionListenerImpl if the SpellCheckerSession is closed too early. Here is the minimum repro code. TextServicesManager tsm = (TextServicesManager) getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE); SpellCheckerSession session = tsm.newSpellCheckerSession(, Locale.ENGLISH, listener, false); session.close(); In order to make the state management reliable and easier to debug, this CL replaces SpellCheckerSessionListenerImpl#mOpened with an explicit state number so that we can tell three different "not open" cases: 1) not connected yet and not closed yet, 2) closed before establishing connection, and 3) closed after establishing connection. Bug: 21319642 Change-Id: Ifd05565ac0c057c46ec88a3fb9094c04934041d7
pellCheckerSession.java
|
92adda2b616287146549d921dfe4c1199c0a4247 |
02-Jun-2015 |
Seigo Nonaka <nona@google.com> |
Use final in favor of initialization safety. Making a member field final would be beneficial not only for the readability but also for the initialization safety. Leaving SpellCheckerSession#mSpellCheckerSessionListener non-final does not make sense not only because we never change that member field once SpellCheckerSession object is created and but also because SpellCheckerSession instance is designed to be accessed from multiple threads at the same time, no matter if it has something to do with Bug 18945456 or not. Change-Id: I1a7ebb54a5d0beddee8799fc5b0800c6e1059099
pellCheckerSession.java
|
6648dded69439eae6197450c1689b73b02493796 |
16-Jul-2014 |
Narayan Kamath <narayan@google.com> |
Fix broken locale related assumptions in TextServicesManager. startsWith is a bogus check unless languages match. Also, don't assume 2 letter languages. bug: 10090157 Change-Id: I8adda61bddc465aac261c0ce2023fa9606affe1b
extServicesManager.java
|
bf655982f8b05ee6aa3a35cf4581a6849d846b25 |
09-Jul-2014 |
Yohei Yukawa <yukawa@google.com> |
Fix regressions in existing constructors of TextInfo This is a follow up CL for Ib58ece68dee4c6187d469049, which unexpectedly changed behavior of existing public constructors of TextInfo class. BUG: 15869548 Change-Id: If5837eb771d78cc24f4d68079009eb98a5641db7
extInfo.java
|
5d6b6f2892c90e95ef3bc650a245a5f2ca021d38 |
25-Jun-2014 |
Yohei Yukawa <yukawa@google.com> |
Allow TextInfo to store ParcelableSpans for TextService This CL adds a new constructor of TextService so that spell parcelable spans can be preserved in TextInfo. The primary usage scenario is to provide locale information for spell checker service. BUG: 15869548 Change-Id: Ib58ece68dee4c6187d469049fca8c35a307c7a01
extInfo.java
|
bf9767cd8172de64693d7c88d29ff215f5c6c66d |
30-May-2014 |
Keisuke Kuroyanagi <ksk@google.com> |
Null check for sentence level spell checking method. Bug: 15334309 Change-Id: Id7dd440f7df37da76ae6381abe057ff92a76f4a1
pellCheckerSession.java
|
1eac6b7b0554eb126d113e49009208a1da5f23d9 |
09-Oct-2012 |
Satoshi Kataoka <satok@google.com> |
Don't update the text services locale in the main thread This is a revised version of I9f8a81d3c9261a6cfc00292b9f5cb06053b9112d Bug: 6761326 Change-Id: I43a0a65df6e4b6941bd0dca548c4af20b7e5bf58
extServicesManager.java
|
a45746efadd11bb7dfab026fb3c81a25fae74ca4 |
19-Jul-2012 |
Jeff Smith <whydoubt@yahoo.com> |
Fix several cases of broken droiddoc syntax external issue 35214 patch contributed by Jeff Smith <whydoubt@yahoo.com> Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
extServicesManager.java
|
17150cf91be1478e367c2ef5e4f5baaa66b487d0 |
30-May-2012 |
Satoshi Kataoka <satok@google.com> |
Fix locale in TextServicesManagerService Bug: 6542210 Change-Id: I1670fac014beb834ec7c065ebf040d0ff3cf4161
extServicesManager.java
|
f927e17ae543b6edeae8200cc86c59c3ee740670 |
24-May-2012 |
satok <satok@google.com> |
Use correct spell check locale Bug: 6542210 Change-Id: I414aa2321f30e396996d90fb8e90c1dbb3bb7b9e
pellCheckerSubtype.java
|
c7ee1b9369ffd7c21a70738056a82dc4238e7fc1 |
11-Apr-2012 |
satok <satok@google.com> |
Get rid of "isSentenceLevelSpellCheckSupported" Bug: 6320351 Change-Id: I0e931b7248f8c65268b60af599c07432d58d2f1f
pellCheckerInfo.java
pellCheckerSession.java
|
f6710615c6cc1746d1ecc7aebc9afed457dcca41 |
30-Mar-2012 |
satok <satok@google.com> |
Supplement for I772164d9c67e95876c228efcce2 This should be merged with I1519258dd3ce95ad01 Change-Id: I48c5f86ff43f51913eb69d697bb1d75714b67aa3
pellCheckerInfo.java
pellCheckerSession.java
|
6183cd64a98a69ea247813c9ba0a07326c4bc1ae |
26-Mar-2012 |
satok <satok@google.com> |
Take sentence-level spell checking APIs public Bug: 6136149 Change-Id: I772164d9c67e95876c228efcce2356a81a06be4f
entenceSuggestionsInfo.java
pellCheckerSession.java
|
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 |
09-Mar-2012 |
Ken Wakasa <kwakasa@google.com> |
Fix obvious typos under frameworks/base/core Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
pellCheckerInfo.java
|
2428ccbbde3ca1f6643a4952a6ca881dab80ce45 |
08-Mar-2012 |
satok <satok@google.com> |
Fix spell checker framework Change-Id: I281d031259dd220936832668e7a4556473ccb2ce
pellCheckerSession.java
|
8898358bfdf4693af02ad454e1deb8034379ce02 |
30-Nov-2011 |
satok <satok@google.com> |
Handle sentence level spell checking hidden APIs Change-Id: Ia91f1771c0b8ef458dd5b023f4c372cc36a15657
entenceSuggestionsInfo.java
pellCheckerSession.java
|
d404fe110558bd2e1960b428db6a2ee8bfd040cd |
21-Feb-2012 |
satok <satok@google.com> |
Refactor sentence level spell checking APIs Support sentence level spell checking APIs: Step 1 Change-Id: I31c0b88e7885f33a0694ab60b8f2dbceeffe42f1
entenceSuggestionsInfo.aidl
entenceSuggestionsInfo.java
pellCheckerSession.java
uggestionsInfo.java
|
11299b1b8c49e53ed25dce916aa24282b2e15662 |
11-Jan-2012 |
satok <satok@google.com> |
Make public SpellChecker utilities Bug: 5639238 Change-Id: Id7dd2263a6305cc6ba0cf8f4d8ad8fb0d39a48ff
pellCheckerSubtype.java
|
b5052de75736527549d7e537632777c6fec2e4f0 |
14-Dec-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of a80bab37 to master Change-Id: Id71cc68a617e1ea0dd2f3932d454be6dba336eef
|
33b8ee509f36a0168c8ce5a9091b57ab936f4c13 |
14-Dec-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #5756204: Crespo IME briefly appears shortened when... ...rotating to landscape When doing spell checking in the same process as the spell checker, we need to make sure it is still done asynchronously. Putting this in I noticed quite a few threading issues in this code, so I also addressed those (which became very obviously a problem with the async stuff here now). Also tweaked the service side to run spell checking at background priority. Change-Id: I01bafe3bec6bceeca911d6bf2f61a486a2fd4c48
pellCheckerSession.java
|
0dc1f648a09b46c45190ba1ce7daecf7fada4347 |
18-Nov-2011 |
satok <satok@google.com> |
add sentence level spell checker hidden apis Change-Id: If65c89044bed064fd01a554e33176f64f7c21c0f
pellCheckerSession.java
pellCheckerSubtype.java
uggestionsInfo.java
extServicesManager.java
|
060677f4686a93d92117d7d472e754423a368bdb |
17-Nov-2011 |
satok <satok@google.com> |
Clean up the spell checker framework Change-Id: I64c0d813e53a4ebf8d7e63463e36f6900f1aa7d3
pellCheckerSession.java
|
b4aff97c85e730857893742f73a082f6b8d139ca |
02-Nov-2011 |
satok <satok@google.com> |
Introduce an API to cancel pending/running spell check tasks Bug: 5554629 Change-Id: Ifd840ea13976813639a2ee259124a21d9bb56893
pellCheckerSession.java
|
74061ff90453c79ddbde468f630a41425da07710 |
02-Nov-2011 |
satok <satok@google.com> |
Fix a memory leak of a Binder in SpellCheckerService Bug: 5499490 Change-Id: I167a3e9dfdd6edd06c6ad993fbff3a535c81b09c
pellCheckerSession.java
|
a17b3506234638ef257a6b751a97931dc347a21b |
28-Oct-2011 |
satok <satok@google.com> |
Add a flag for recommended suggestions of the spell checker Bug: 5356130 Change-Id: I8361a2750670dadd514d02dd24bf492ce42ff8fc
uggestionsInfo.java
|
a80838d9d63fcc9a83a9e7c99884e5b50316d4f0 |
20-Oct-2011 |
Jean Chalard <jchalard@google.com> |
Fix a warning from the binder. This patch fixes the following warning: W/Binder: The following Binder class should be static or leaks might occur: android.view.textservice .SpellCheckerSession.InternalListener ...in hope of removing a possible memory leaks. However in my tests it does nothing at all for the memory leak in bug 5461066, so it was probably unrelated. Change-Id: Id776665e9483121d22cc91e8d2d9f32e3413ec96 Bugs: 5481376,5461066
pellCheckerSession.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
pellCheckerSession.java
extServicesManager.java
|
9f48d6348d0a1c24e51d6526fb6b282997b22ae5 |
21-Sep-2011 |
Ken Wakasa <kwakasa@google.com> |
Fix comment Change-Id: Ic0fd15d0b1b4d2c24eb177a6b22e0cc08ec1de99
extServicesManager.java
|
0158a1e9ffc5a43780d37bb7b6b964a39eae6e62 |
31-Aug-2011 |
satok <satok@google.com> |
Add a functionality to disable the spell checker Change-Id: I1c2292f457d1911c149d594c175e638c92ad3917
extServicesManager.java
|
b669d6d8d8434918647b311612ebe8fd6f390b36 |
31-Aug-2011 |
satok <satok@google.com> |
Improve the fallback of the locale of the spell checker Change-Id: I79655dd13e60f221b07346596fb05cf7d3d5cf7d
extServicesManager.java
|
7926f62a073ed3a27d870cfa88ade33013d8010b |
26-Aug-2011 |
satok <satok@google.com> |
Fix newSpellCheckerSession Change-Id: Ia862dba70666c69b81d18836561b7e9a1c2d81b3
extServicesManager.java
|
b387954a92eb6f15b7f49d5b946745f492a26363 |
26-Aug-2011 |
satok <satok@google.com> |
Support system locale as the locale of the spell checkers Bug: 5212035 Change-Id: I18d27e54b936cc7f4d6cc3c7100bce57f77f8f9f
extServicesManager.java
|
fbedf1a3978d5dfc4a886e4c7107d4bc1923f740 |
26-Aug-2011 |
satok <satok@google.com> |
Fix NPE in setCurrentSpellCheckerSubtype Change-Id: I9fce999f91dcccd2f877a0326c4f2e3ac9024f85
extServicesManager.java
|
2388a7ba6218f44400ee78016282cb96c02dfc54 |
26-Aug-2011 |
satok <satok@google.com> |
Add getServiceInfo to SpellCheckerInfo Change-Id: I11634b88cf65182465869b131cfdcc8815e74965
pellCheckerInfo.java
|
c714531952fe1c22cae77631aa25dc7441b2b878 |
26-Aug-2011 |
satok <satok@google.com> |
Add getDisplayName to SpellCheckerSubtype Change-Id: Ic4d1f494a1fb67eda73ffc8e3be1caf690a602ce
pellCheckerSubtype.java
|
3cb5b39a0e63d98c4e7b47e9a5b5758e9d4024bd |
26-Aug-2011 |
satok <satok@google.com> |
Fix setCurrentSpellCheckerSubtype Change-Id: Ib42a3b4377b8700ceaf4b7e13150848464d073c1
extServicesManager.java
|
a33c4fc5bed76727f1e06e522e0136101a2304cd |
25-Aug-2011 |
satok <satok@google.com> |
Add functions to enable / disable spell checker Bug: 5057977 Change-Id: I2b27bd5f55feb305368034d7e95f83257ac4b3e6
extServicesManager.java
|
f874c4f93437cbbef7a915a36d5abb448e1e3209 |
25-Aug-2011 |
Gilles Debunne <debunne@google.com> |
Merge "Spell checking in TextViews"
|
ada8c4e6a3da96a795f39a1028d448eb7aebfab3 |
23-Aug-2011 |
satok <satok@google.com> |
Add functions to set / get SpellCheckerSubtype Change-Id: I977326879fe201c4dee4a87da361217175eb6041
extServicesManager.java
|
6435a56a8c02de98befcc8cd743b2b638cffb327 |
05-Aug-2011 |
Gilles Debunne <debunne@google.com> |
Spell checking in TextViews New UX interactions (the Paste action is no longer displayed after a delay) suggestionEnabled flag replaced by existing input type flag. removeSpans fixed in SpannableStringBuilder to always send notifications SuggestionSpan handled by TextView instead of SpannableStringBuilder New span update algorithm to correctly handle edition around word boundaries. Change-Id: I52c01172f19e595fa512e285a565a3fd97c3c50e
uggestionsInfo.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
pellCheckerInfo.java
pellCheckerSubtype.aidl
pellCheckerSubtype.java
|
5357806980269d846a15c845a6fcc0384fb18860 |
03-Aug-2011 |
satok <satok@google.com> |
API cleanup for the spell checker framework Bug: 5110151 - Add a bundle to an argment of newSpellCheckerSession - Expose SpellCheckerSessionImpl in SpellCheckerService - Fix function names - etc Change-Id: Ia8ec783b7b4d5fcd18389854b445fc10fc502297
pellCheckerSession.java
extServicesManager.java
|
c66009169622ecdb65d887987feaf91fff091af8 |
03-Aug-2011 |
satok <satok@google.com> |
Rename API name "RESULT_ATTR_LOOKS_TYPO" Change-Id: I42ab73513de20ea9a39af734b358094269ca7fe4
uggestionsInfo.java
|
9407c601eacc0a542c45b0b2e9a9353ab0f0193e |
02-Aug-2011 |
satok <satok@google.com> |
Merge "Move SpellCheckerSession"
|
aafd955fa8f5c31c511763c0f826b6d7acf15b9c |
02-Aug-2011 |
satok <satok@google.com> |
Move SpellCheckerSession SpellCheckerSession should be in android.view.textservice because this class will be used directly by users. Change-Id: I0df6d7958adda421312b5f641ac4459ca4739cc9
pellCheckerSession.java
extServicesManager.java
|
5b9b5a9553a0276dc6b7f1f458c8d4ed03227988 |
01-Aug-2011 |
satok <satok@google.com> |
Change SpellCheckerInfo IPC inputs to String Change-Id: I4c3f3c7aa7587e3f2582b43702108fa78f37ec54
extServicesManager.java
|
046cbe750ba6c18c8a37392896d13ecdf4e00511 |
01-Aug-2011 |
satok <satok@google.com> |
Add a method to set the current spell checker Change-Id: I0e1fbe99538c873eed3723fb419bbfa626dec509
extServicesManager.java
|
da317ef68603dc7649f98bda495267973825e7fa |
26-Jul-2011 |
satok <satok@google.com> |
[step9] Add logging code for text services Change-Id: I4dae847951848cca85bcb73f47c509ce23327334
extServicesManager.java
|
562ab585f9e413d9696ee250e5ec02f95889a157 |
25-Jul-2011 |
satok <satok@google.com> |
[Step 2] Add apis for spell checker settings Bug: 5057977 Change-Id: I4617b7f1487349c5de385e7392dbc39c69fa2ebc
pellCheckerInfo.java
extServicesManager.java
|
1bedd99761e3d2acdac947d641e7fee5db556141 |
23-Jul-2011 |
satok <satok@google.com> |
Tweak APIs for SpellChecker 1. Move getSupellcheckerInfo to SpellCheckerSession 2. Change the interface of getSpellCheckerSession 3. Remove a flag in SuggestionsInfo Change-Id: I3debe09e213fc0ab74618eb3504383f2a9447fd9
uggestionsInfo.java
extServicesManager.java
|
3de3d6ad584d6f08f50aac1b04bc0fe6cb02fb09 |
22-Jul-2011 |
satok <satok@google.com> |
Fix the vendor build. Change-Id: I856057c9418fd5194d78e34c4496bd43c520546f
uggestionsInfo.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
pellCheckerInfo.aidl
pellCheckerInfo.java
uggestionsInfo.aidl
uggestionsInfo.java
extInfo.aidl
extInfo.java
extServicesManager.java
|