Commit graph

200 commits

Author SHA1 Message Date
Mario Tanev
487e038ff3 Use Keyboard in several interfaces.
Simplify interfaces by passing Keyboard instead of
KeyboardLayout and ProximityInfo directly.  Also require
the Keyboard passed be non-null and change the SpellChecker
to bail out if there is no keyboard for the locale.

Change-Id: I960f15ff60171f55d3e0a96fd6469b7dc3a045e2
2015-02-25 17:20:00 -08:00
Martin Paraskevov
2b8d763c65 Pass ComposedData to the decoder instead of WordComposer.
Change-Id: I8bd544d03d9087a02294b08a9986cad229dae795
2015-02-24 17:59:47 -08:00
Dan Zivkovic
29aa3df3da Spell checker uses cache of size 1.
This is a step in the direction of removing the LRU cache completely.

Change-Id: I8886f7ef74e6b1b35135e68f169cb461682964e9
2015-02-20 11:05:44 -08:00
Dan Zivkovic
6a000183c5 Schedule with 0 delay is the same as execute.
Change-Id: Ifadae8aee668edbe2b507735d3ed6e68d52ef329
2015-02-19 14:19:23 -08:00
Dan Zivkovic
0b03f13cab Sanitize the usage of executors.
There should be 1 executor each for static and dynamic language models.
This prevents too many dynamic LM updates from running in parallel,
competing for resources.

Change-Id: I8ec439e0ea2d92fba275bc20a0b8c9193346a0c1
2015-02-19 11:40:57 -08:00
Mario Tanev
2979fad213 Merge "Add new class spellcheck.UserDictionaryLookup that can look up the system "Personal dictionary" in the event that the DictionaryFacilitator doesn't." 2015-02-10 23:25:50 +00:00
Mario Tanev
8aa310aa5a Add new class spellcheck.UserDictionaryLookup that can look up the
system "Personal dictionary" in the event that the DictionaryFacilitator
doesn't.

Change-Id: Ib4f15ec4d8f06ea43c2e063f5a13a2f699afbb8a
2015-02-10 10:56:35 -08:00
Dan Zivkovic
d6a8adcb04 Cleanup in preparation of distracter change.
Bug 19296201.

Change-Id: If016da2b7f4b3ecb9afd6d7aed9d19fbd4938758
2015-02-06 14:25:37 -08:00
Dan Zivkovic
c0eb57124f Don't check user dictionary, except for spelling.
We check different lists of dictionaries based on the use case.

Bug 19270992.

Change-Id: Ide69f2855978ebad32a58e9689b3a8d47e095994
2015-02-04 18:23:38 -08:00
Mohammadinamul Sheik
b00c054125 AOSP changes to use KeyboardLayout to support the new DictionaryFacilitator
Change-Id: Ie0c9ce805d9ad009fc9bbaac37b715aff90cd844
2015-02-04 12:50:31 -08:00
Dan Zivkovic
77e0fa1d67 LatinIME portion of multi-lang option removal.
Bug 19188067.

Change-Id: Ic9a3637f59dda30c699141222b9dcac3cd624b99
2015-01-29 15:57:03 -08:00
Chieu Nguyen
2e8d536678 Add a method for handling for words not found in dictionary.
This is apparently called only once for every unique word, so repeated instances
of the same word are not handled separately. Upon changing orientation of the
device, however, all invalid words in the textbox are underlined again and this
method is called for each unique instance in order.

Change-Id: Ic57e4b9e5675bd7abd723644aa318d964f7f875f
2015-01-14 16:20:42 -08:00
Tadashi G. Takaoka
ebe5b42f71 Make LocaleUtils.constructLocaleFromString as @Nonnull
Change-Id: I82d574c67b25239510f3ecc8882efe46e40677eb
2014-11-21 12:02:06 +09:00
Jean Chalard
5b91b551e5 Move util classes under common
Also why did we have two copies of LocaleUtils >.>

Bug: 18108776
Change-Id: I03b4403dfd51934e66b567f2f8b87da419cfb3ab
2014-11-07 18:00:03 +09:00
Jean Chalard
ecab6aff59 Remove Dict dependency on WordComposer and ProximityInfo
Bug: 18108776
Change-Id: I9b399a44241e05a7add9bb8094263aa76de37880
2014-10-29 12:27:24 +09:00
Jean Chalard
4beeb9253a Move StringUtils under common.
Bug: 18108776
Change-Id: Ia46a4102a0e86e71118ca5e641f9f531998e166b
2014-10-28 22:44:30 +09:00
Jean Chalard
ca724ef71f Reduce StringUtils dependency on the Android libs
Bug: 18108776
Change-Id: I43feb25d79f89276d44462ba71788a14c4583277
2014-10-28 22:03:18 +09:00
Keisuke Kuroyanagi
aad188d40a Merge "Height of the keyboard for spellchecker is too large." 2014-10-24 06:29:10 +00:00
Keisuke Kuroyanagi
6cc318bd6a Height of the keyboard for spellchecker is too large.
Bug: 18109041
Change-Id: I0eb98a66290058c28e20c86f36395af4f763952e
2014-10-24 14:59:52 +09:00
Ken Wakasa
9342484e8d Move Constants.java to the latin.common package
Our intention is to have classes of latinime-common under the common
package as much as we can.

Change-Id: I76efbbbe7bebf1a4aa943715cdff64f91675e20d
2014-10-23 20:27:37 +09:00
Tadashi G. Takaoka
d3a4c51324 Fix Javadoc and null analysis related warnings
This CL also adds @SuppressWarning("unused" to java-overridable package.

Bug: 18003991
Change-Id: If70527e30654384705d7a814f5efd181d9f539e1
2014-10-23 09:58:42 +09:00
Tadashi G. Takaoka
5f00fe09e9 Fix some compiler warnings
This CL fixes the following compiler warnings.

- Indirect access to static member
- Access to a non-accessible member of an enclosing type
- Parameter assignment
- Method can be static
- Local variable declaration hides another field or variable
- Value of local variable is not used
- Unused import
- Unused private member
- Unnecessary 'else' statement
- Unnecessary declaration of throw exception
- Redundant type arguments
- Missing '@Override' annotation
- Unused '@SuppressWarning' annotations

Bug: 18003991
Change-Id: Icfebe753e53a2cc621848f769d6a3d7ce501ebc7
2014-10-21 19:28:37 +09:00
Yohei Yukawa
3852cfa717 Preserve spans when splitting sentences
This CL fixes a bug that span information was unintentionally
removed when given sentences are split into words. Nothing is
changed in KitKat and prior because TextInfo never returns
spanned text until L.

Note that the spell checker service still doesn't rely on
span information even with this CL.

BUG: 16419551
Change-Id: I6ffb75ee6add4ae20e9d3dcfb90b65f097d70fba
2014-10-02 14:08:59 +09:00
Keisuke Kuroyanagi
bb0eca5705 Rename PrevWordsInfo to NgramContext.
Bug: 14425059
Change-Id: Id06a71681fa8b5e589e29fba10fe5c1cfed66984
2014-09-29 10:52:18 +09:00
Jean Chalard
8cd5326622 [ML7] Have multiple DictionaryGroup instances in facilitator
This is the central change of multilingual input.

Bug: 11230254
Change-Id: Id8b68fb101e837e8cf182ab4bc1e55e4da5cc49d
2014-09-16 19:00:50 +09:00
Keisuke Kuroyanagi
d267764d5a Create DictionaryFacilitatorLruCache.
This class is separated from AndroidSpellCheckerService

Bug: 16547557

Change-Id: I3e58521207395588cecb2977234b89067d6da8c3
2014-08-27 22:00:48 +09:00
Jean Chalard
85ddfe1317 Revert "Revert "[ML1] Introduce RichInputMethodSubtype""
This reverts commit a63d0a8ee6.

This patch seems to be fine after all, but was submitted without its companion [ML1.1] patch causing a build breakage. Reverting the revert and submitting both at the same time seems like the right thing to do.

Change-Id: Ib8fefa40b74dcee0edb025a52dac9b35c82d49df
2014-08-25 04:42:15 +00:00
Jean Chalard
a63d0a8ee6 Revert "[ML1] Introduce RichInputMethodSubtype"
This reverts commit 8ffe4bc932.

Change-Id: I9d4c98b0adfdb78b0f4d376f7691e50d1bd2228f
2014-08-22 09:40:27 +00:00
Jean Chalard
8ffe4bc932 [ML1] Introduce RichInputMethodSubtype
Bug: 11230254
Change-Id: Ic7a1bf938a5a186dcff527b556295aba2406e8b9
2014-08-22 16:34:27 +09:00
Jean Chalard
da70b90aa7 Fix a verifier error on ICS.
Bug: 16530557
Change-Id: I271c5884995a1d5f8a1cb7aee6f52d17fabb9e72
2014-07-28 17:33:52 +09:00
Yohei Yukawa
86f36003fd Use CharSequence for spell checker to keep spans preserved
This is a ground work to take per word locale information into
consideration in the spell checker. This CL is supposed to change
no user visible behavior.

With this CL, the spell checker session is able to read span
information if necessary.

BUG: 16029304
Change-Id: Icb1e1ecdf40fe0445e14565b685b1b878b746210
2014-07-20 02:16:11 +00:00
Tadashi G. Takaoka
53c0088d57 Use SwitchPreference for spell checker setting
This is a follow up of I1f7214c689.

Bug: 15781377
Change-Id: I7289b8b724e086da80ab3849cc567560c1a8502d
2014-07-16 12:13:51 -07:00
Keisuke Kuroyanagi
1467fa0c26 Remove SuggestionsGatherer.
Bug: 13689011
Bug: 13630847
Change-Id: I9930d5ce9cbe16489dc69f68b9590d72afe463b5
2014-07-10 16:23:27 +09:00
Keisuke Kuroyanagi
86dee2295d Quit sorting suggestions in AndroidSpellCheckerService.
Suggestions have been sorted in SuggestionResults.

Bug: 13689011

Change-Id: Iec21e97119ceb7c71673d5b15bb1f06040b59fef
2014-07-10 16:21:31 +09:00
Keisuke Kuroyanagi
9e76304d60 Make spell checker use dictionary facilitator.
Bug: 13630847
Change-Id: I07d17ccf5ce0755f63a0b8d236d77600baaf62b6
2014-07-10 12:51:37 +09:00
Keisuke Kuroyanagi
b8a9479b57 Move phrase gesture from additional features to public.
Bug: 15758242
Change-Id: I703dc2703afdf9402c5d2ac27411b74ece993dba
2014-07-08 16:36:06 +09:00
Yohei Yukawa
3895d7f8dc Additional subtype ID should be independent of OS-version
This CL consolidates the initialization logic for additional
subtypes so that each additional subtypes can have predictable
subtype ID regardless of OS version.

Previously subtype IDs for additional subtypes are calculated
differently depending on the running OS version with hoping it
minimizes the risk of compatibility issues.  However, it is
getting harder and harder to maintain slightly different
logic between OSes. Thus we decided to unify the logic into
that in KitKat even though it may causes some breaking changes.

Note that the actual extra values that are used to instantiate
InputMethodSubtype object are still determined on the fly
depending on the running OS version. However these actual
extra values are no longer used for the subtype ID calculation.

BUG: 16000850
Change-Id: Id3c262386a7bc7ed75966b1395a50171abe550d3
2014-07-04 15:08:58 +09:00
Jean Chalard
0dab3171d4 [SD9] Add armenian and georgian scripts
Bug: 15840116
Change-Id: I91719e4fc2e3fe29320e4cb8b1a2f8f93c44cc4d
2014-07-01 15:01:41 +09:00
Jean Chalard
292deb632c [SD7] Actually check for script.
...also implement the check for Hebrew and Arabic.

Bug: 15840116
Change-Id: Ia6433d7d98038ade64c171be4fe4b3f094111fac
2014-07-01 15:01:22 +09:00
Jean Chalard
e530fffc2c Add a relevant suggestion to period-checkable requests
Bug: 15412461
Change-Id: Ibf37df4d31141a7e43b54d6342e7861eedb1c03b
2014-06-27 12:52:23 +09:00
Jean Chalard
8d3d0f3b84 Merge "[SD1] Move script-related methods to a new utils class." 2014-06-24 01:46:27 +00:00
Jean Chalard
289299bf66 [SD1] Move script-related methods to a new utils class.
Bug: 15840116
Change-Id: I3a2a9c41e40590c0116c7885a49c6fa308ed8f44
2014-06-26 18:24:11 +09:00
Keisuke Kuroyanagi
e708b1bc2e Make PrevWordsInfo have multiple words' information.
Bug: 14425059
Change-Id: I2bd6a872904a44b80f638a13d91a97559217cc1a
2014-06-25 14:14:37 +09:00
Jean Chalard
4863a06544 Special case periods in the spell checker
Special case <valid word>.<valid word> to send as a suggestion
the same string where the periods is replaced by a space.

Bug: 10780091
Change-Id: I43c94675977f9ab5d7ee5671486cb742b39f3974
2014-06-10 19:52:58 +09:00
Jean Chalard
2d7feb5ad0 Merge "Split the sentences into words ourselves" 2014-06-10 08:18:36 +00:00
Jean Chalard
367c199de1 Remove mPrevWordsInfo
This member has outlived its usefulness. It's not clear now that it
makes things really faster, but it does bring a lot of complexity
that we can avoid by removing it.

Change-Id: Ifbc8094a45b56b958fe165b1930f4cc358a97721
2014-06-10 12:07:51 +09:00
Jean Chalard
7a6bc607ca Split the sentences into words ourselves
The framework's default split is not suitable for all
languages. Also it does not perform very well when space
is mistyped as period.

Bug: 9063355
Bug: 10780091
Change-Id: I400d790ff1c29f221697fd94d79bbf67c61c7b8a
2014-06-09 19:38:03 +09:00
Keisuke Kuroyanagi
1910392eed Add Dictionary.isInDictionary().
Bug: 13142176
Bug: 15428247
Change-Id: If2d1c1fea7a69e41809a828da8dd032211ad144e
2014-06-09 11:04:28 +09:00
Tadashi G. Takaoka
a91561aa58 Use Java 7 diamond operator
Change-Id: If16ef50ae73147594615d0f49d6a22621eaf1aef
2014-05-24 01:05:42 +09:00
Keisuke Kuroyanagi
83c40a2301 Use PrevWordsInfo instead of String in Java side.
Bug: 14119293
Bug: 14425059

Change-Id: I3d5da84881a49a04550180dd9aac2c37da2ed762
2014-05-19 13:55:40 +09:00