Commit graph

12372 commits

Author SHA1 Message Date
Mohammadinamul Sheik
62cbaba715 Merge "Update the MAX supported file version for downloaded static Dictionaries." 2015-02-27 21:09:04 +00:00
Mohammadinamul Sheik
377ba98b75 Update the MAX supported file version for downloaded static Dictionaries.
Change-Id: I72d37cc21585b18f4a41ff32627024502f10e993
2015-02-27 10:30:23 -08:00
Dan Zivkovic
69c04cadc7 Race condition in cursor move.
The method WordComposer.moveCursorByAndReturnIfInsideComposingWord() iterates
through all the code points in the word that's currently being composed, and
it tries to adjust the cursor position by a given amount (left or right).
It copies the code points to a new array while processing. But the code point
count comes from a member variable. If the member variable changes while the
method is processing the copy of the code points, it can run over the length
of the code point array.

Bug 18876474.

Change-Id: Ib3a2d90a4e82b76d381efa774e6b3d6bca99c869
2015-02-27 10:29:47 -08:00
Jatin Matani
c83352d527 Merge "Refresh pref settings for cloud sync" 2015-02-26 22:10:02 +00:00
Jatin Matani
8ec328fb2e Refresh pref settings for cloud sync
- Show the opt-in text
- Show the account picker if user presses 'enable sync'. Previously
  we disabled the sync pref which was confusing.
- Remove the debug tags from some prefs; and improve messaging overall

General rules;
- sync is turned ON : user checks 'enable sync' pref AND
  accepts the opt-in AND chooses an account
- sync is turned OFF: when user signs out

Demo link
https://drive.google.com/a/google.com/file/d/0B9tNQOWdRuiWSUdVVE5rVDJudlk/view?usp=sharing

Change-Id: I2e7933796b15e47005ba9970a8c1294416ef31a0
2015-02-26 11:43:42 -08:00
Dan Zivkovic
edd94a449e Ignore the Emoji key when not connected.
When the LatinIME does not have an active InputConnection, it will not try
to toggle the Emoji keyboard.

Bug 19513415.

Change-Id: I31f928cd7db1cddd771c548cd3dc42f8af64d0e2
2015-02-26 11:10:37 -08:00
Jatin Matani
48b071249c Merge "Share decoders among latinime components." 2015-02-26 17:54:26 +00:00
Dan Zivkovic
7d7f082075 Stop waking up to decay dynamic dictionaries.
Bug 19516048.

Change-Id: Ibc27a792b4fa80fa8c6af4721c47a617526e9584
2015-02-25 20:13:59 -08:00
Dan Zivkovic
e4619f029e Merge "Don't assume that correctable words are invalid" 2015-02-26 03:44:20 +00:00
Mohammadinamul Sheik
48ba1ea19f Merge "Make DictionaryFactory.killDictionary public" 2015-02-26 03:33:08 +00:00
Dan Zivkovic
5551302d27 Don't assume that correctable words are invalid
Currently, the Delight3DictionaryFacilitator sets a boolean flag when the top
suggestion score exceeds the auto-correction threshold. This flag is used to
trigger auto-correction of the typed word. Also, the existing logic assumes
that if allowsToBeAutoCorrected then the word is invalid, which is no longer
true after we stopped using whitelists.

Bug 19518376.

Change-Id: Ifa7f6a09c07d25ac68c6cf3aec91f358bd88689f
2015-02-25 17:59:58 -08:00
Mohammadinamul Sheik
20fb37afee Make DictionaryFactory.killDictionary public
Change-Id: I9a0733392651714b3ba232cdb805565a5238eb93
2015-02-25 17:53:35 -08:00
Jatin Matani
b684d2d2e4 Share decoders among latinime components.
Change-Id: I6c8d3cf10e05e606308cea42d1e935a415ada9f8
2015-02-25 17:48:30 -08:00
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
Dan Zivkovic
ed378c78a1 Auto-correct without whitelist in Delight3.
Bug 19390471.

Change-Id: Ie09b916ca80591c98f48ae1d74d4fd5b0c5d6b33
2015-02-25 11:47:43 -08:00
Martin Paraskevov
2b8d763c65 Pass ComposedData to the decoder instead of WordComposer.
Change-Id: I8bd544d03d9087a02294b08a9986cad229dae795
2015-02-24 17:59:47 -08:00
Mario Tanev
a3ac6f24cc Merge "Don't call resetDictionaries if DictionaryFacilitatorLruCache.get() hasn't been called yet. This breaks the AOSP SpellChecker. This seems to be a bug introduced recently, when the DictionaryFacilitatorLruCache was turned into a "cache" of 1 element." 2015-02-25 00:20:32 +00:00
Mario Tanev
1a6d01b61e Don't call resetDictionaries if DictionaryFacilitatorLruCache.get()
hasn't been called yet. This breaks the AOSP SpellChecker.  This seems
to be a bug introduced recently, when the
DictionaryFacilitatorLruCache was turned into a "cache" of 1 element.

Change-Id: I55f6c18b274c9a33fd62cb25bcd02f64788d5ff0
2015-02-24 15:56:43 -08:00
Mohammadinamul Sheik
24c282437d Do not crash when dictioanryInfo is NULL
Bug: 19417599
Change-Id: I82174401c595b57b42fc74bc478b551869729ba6
2015-02-24 15:45:10 -08:00
Jatin Matani
f7058c2a89 Merge "Pass long timestamps to DictionaryFacilitator" 2015-02-24 20:57:34 +00:00
Tom Ouyang
edb2d23802 Check for null TextRange in InputLogic.unlearnWordBeingDeleted
Change-Id: Ia0df0ab740c76185f94966f59a74a6ebdd1cffe8
2015-02-24 11:30:42 -08:00
Mohammadinamul Sheik
1d5ec6136c Use DECODER_DICT_SUFFIX on fallback to the default main dict resource.
Change-Id: Icec45c364732c0aa9ac713846cad23439b9e42b5
2015-02-23 17:25:08 -08:00
Jatin Matani
94b8523566 Pass long timestamps to DictionaryFacilitator
Change-Id: I95500f210ed409c0ff254b08b68fe3b5b59ba4f4
2015-02-23 16:50:02 -08:00
Mohammadinamul Sheik
bae3c4bac5 Merge "Make checksum and header checks decoder dependent." 2015-02-23 21:47:28 +00:00
Chieu Nguyen
53b4bfdba0 Merge "Add StatsUtils method for handling subtype change." 2015-02-23 19:11:15 +00:00
Dan Zivkovic
08f3cdb3c8 Hide app icon when keyboard is a system app.
The objective is to show an app icon when the user installs the keyboard from
the Play Store, but not show the icon when it comes from the system image.
The latter rule applies to AOSP keyboards and to the Google Keyboard on a
Nexus device.

This change partially reverts ag/613096.

Bug 19001197.

Change-Id: Icb202deffe9f1ab2bde9b3c9d221347da6793a19
2015-02-23 10:21:20 -08:00
Mohammadinamul Sheik
eeeec21bac Make checksum and header checks decoder dependent.
Change-Id: I0ec4aa69d9b5f013ae926cc368e25225d9d3073b
2015-02-20 18:30:23 -08:00
Jatin Matani
1c11f3fe0e Merge "Remove unused APIs in DIctionaryFacilitator" 2015-02-21 01:17:25 +00:00
Jatin Matani
83e9a29c33 Remove unused APIs in DIctionaryFacilitator
Change-Id: Iae20a0a3b7c1aa0c2f6d29cef780fb50dc9010cb
2015-02-20 11:19:27 -08:00
Dan Zivkovic
fe3c4ef940 Merge "Spell checker uses cache of size 1." 2015-02-20 19:06:48 +00: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
Jatin Matani
01b023730e Add tests for Contact* classes
Also add empty implementation for dictionary
facilitator iteration APIs
Change-Id: Ia847e3faa75075c819fcfda89193d1024d2d5aca
2015-02-20 09:14:27 -08:00
Dan Zivkovic
40b754565c Rename in preparation of caching an instance.
Change-Id: I112c957e20d4573daaa71aa218b575037585385c
2015-02-19 15:41:58 -08:00
Dan Zivkovic
3bfc9d4692 Merge "Schedule with 0 delay is the same as execute." 2015-02-19 22:42:55 +00: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
7041313f71 Merge "If contacts observer is running, return early." 2015-02-19 22:16:33 +00:00
Tom Ouyang
076f76cc12 Merge "Add more options for calling removeWordFromPersonalizedDicts." 2015-02-19 21:31:38 +00:00
Tom Ouyang
edea47ff2e Add more options for calling removeWordFromPersonalizedDicts.
Bug: 19441205

Change-Id: I41aff536a64271d2dc9489a20df33d64170756cc
2015-02-19 12:03:42 -08:00
Dan Zivkovic
705b118672 If contacts observer is running, return early.
Change-Id: I084a251b0f72288243c73b6166d992b427449635
2015-02-19 11:54:18 -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
Chieu Nguyen
40833d2dd7 Add StatsUtils method for handling subtype change.
Change-Id: I0f334ab5e6f5aa41ad780641276dc3d2aa232f48
2015-02-18 16:00:59 -08:00
Mohammadinamul Sheik
95711bfcee Add Decoder specific dictionary suffix to resource lookup
Change-Id: Ia2c74acdc8ac6f7b605bb06a1078d23b32f388a1
2015-02-12 19:56:46 -08:00
Dan Zivkovic
cf84f8ce0c Switch from script to language codes.
Unfortunately, our Locale objects don't always have a script code.
But we can get almost the same functionality by specifying script
codes for some languages, and defaulting the rest to Latin.

Change-Id: Id81ff67bf44c84f44707a2e167c2787c60c6ecee
2015-02-12 15:42:25 -08:00
Dan Zivkovic
98596e51a1 Map ISO 15924 codes to internal IME script codes.
This way we can support all the languages for which we define a script code.

Bug 19340741.

Change-Id: Ia80eca4cc2511b70f11058f73bd31746948ded19
2015-02-12 11:00:06 -08:00
Jatin Matani
4084fa5cae Refactor content provider code from ContactsDict
Break contacts binary dictionary into two parts
- one that talks to contacts content provider and maintains
  local state. Includes a manager class and a content observer
- other one that just manages the dict code.

Change-Id: Ie8f89ac9ce174c803ff3168ee0bee5cbe7721d5b
2015-02-11 16:29:14 -08:00
Dan Zivkovic
5254c01d4c Fix master build.
For some reason, we can't import android.os package in our Constants.

Change-Id: I357ed72d13c5039a83c6e2489cdf5ef74d0ffea8
2015-02-11 13:32:13 -08:00
Dan Zivkovic
12d80ebead Remove shortcut support from LatinIME.
Note this change does not affect the native decoder interface.

Change-Id: I73b7dc008a5acaf75a31a36a2d332b5afabd82d0
2015-02-11 13:02:41 -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
Jatin Matani
a7805e9870 Add a addOrIncrement term api to DicFacilitator
The API is used by the decoder to add term to the
dictionary.

Change-Id: I607c8c676b7650f3052b2d3ed3f7f656573fca45
2015-02-10 11:45:54 -08: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