Commit Graph

5812 Commits (1d9bf42009301bee11ebdafb26ca6a0a18240e84)

Author SHA1 Message Date
Dan Zivkovic 459b4f353e Spelling cannot cache words across invocations.
We want to let the facilitator decide if a word is valid or invalid, and cache
the answer in the facilitator's cache. The spell checker session doesn't need
its own word cache, except as a crutch to communicate suggestions to the code
that populates the suggestion drop-down. We leave that in place.

Bug 20018546.

Change-Id: I3c3c53e0c1d709fa2f64a2952a232acd7380b57a
2015-04-29 14:30:49 -07:00
Chieu Nguyen 767c0bf71b Restore preference change update to show app icon setting.
Bug: 20544640
Change-Id: I6e2a26a8a5e43360dfefcc85bb46eae28f5e3867
2015-04-27 13:53:17 -07:00
Dan Zivkovic 784233dbc6 Specify fileName argument as Nullable.
Bug 20526371.

Change-Id: If53a81f925fbb1b29ad945ba0ec2192d92ae1eff
2015-04-23 14:12:33 -07:00
Chieu Nguyen a2376cd2b4 Restore switch for showing app icon.
Bug: 20307420
Change-Id: I95969de40936d2ea992669324d0c4df7e8de2bd9
2015-04-22 15:46:40 -07:00
Yohei Yukaw 490fa47a46 Always specify non-null Locale object to SuggestionSpan
Confusingly, specifying a null Locale object to the constructor
of SuggestionSpan does not necessarily mean that
SuggestionSpan#getLocale() returns null.  The constructor in
question also receives Context object, and Context's locale can
be used as a fallback locale to initialize locale of
SuggestionSpan.

With this CL, LatinIME always specify non-null Locale object
when instantiating SuggestionSpan object.  It basically
corresponds to the active main dictionary, but can be
Locale#ROOT when one locale is not determined for some reasons.

BUG: 20435013
Change-Id: I2c152466410327300e7dba4d7ed9a22f57c17c4f
2015-04-20 20:29:44 -07:00
Martin Paraskevov 54e891e2bd Merge "Fix bug in regular expression stripping quotes." 2015-04-21 03:04:13 +00:00
Martin Paraskevov ab8482a34b Fix bug in regular expression stripping quotes.
Change-Id: Iaf84a9a1f00b31daf7225991c4cfc5f17b578028
2015-04-20 19:58:45 -07:00
Tom Ouyang cdfe8b93ec Merge "Add affinity model for contact names." 2015-04-17 01:05:44 +00:00
Martin Paraskevov c155f7f5fd Merge "Strip quotes from begining/end of a word before checking its validity." 2015-04-16 23:46:40 +00:00
Tom Ouyang 44a175732d Add affinity model for contact names.
This allows us to:
1. Rank contacts and only add the top N names to the keyboard LM.
2. Avoid adding duplicate names.

Note: The affinity calcualuation is limited by the fact that some apps
currently do not update the TIMES_CONTACTED counter. To better handle
this case, the new measure also takes into account whether or not a
name is in the visible contacts group.

Bug: 20053274
Change-Id: I2741cb8958667d4a294aba8c437a45cec4b42dc7
2015-04-16 11:33:54 -07:00
Martin Paraskevov 8ff42d1581 Strip quotes from begining/end of a word before checking its validity.
Bug: 20142633

Change-Id: Ia0f3661ac3028473c00f83df72dcb9e1fd134247
2015-04-15 19:00:45 -07:00
Mohammadinamul Sheik 3a5de64110 Do not re-download the unused dictionaries.
Does the following
1. Uses dictionaries from the files/ directory while populating the
   entries into the pendingUpdates table. So that a download happens only
   if the metadata.json says so.
2. Delete an unusable dictionaries from the files/ directory.

Bug: 20142708
Change-Id: Ibd738793585c39735868e324b8ad682dff0eba34
2015-04-15 11:12:40 -07:00
Jatin Matani bf732e7001 Merge "Store raw strings for personal dictionary" 2015-04-14 18:03:56 +00:00
Mohammadinamul Sheik db96122787 Fix the NPE on selection string on unlearnWord
Bug: 20150386
Change-Id: I2ed69aba7b1fdaba1e2ac07b8218a265dfe23e09
2015-04-13 16:30:22 -07:00
Jatin Matani 1bfd7be208 Store raw strings for personal dictionary
The raw strings would be sent to personal LM for decoding.
Earlier lowercased strings were being used with the purpose
of isValid checks (spelling does not consider casing for spell
checking calls). But for showing these in suggestion, we need the
raw strings.

Note: PersonalDictionaryLookup#getWordsForLocale is used to feed
the personal LM in PersonalLanguageModelHelper.

Bug:20152986
Change-Id: I9d796fa57bf2073036bf11d86b143ff205a6199c
2015-04-13 16:28:26 -07:00
Dan Zivkovic 40f0f61bb3 Merge "Personal dictionary feeds a personal LM." 2015-04-10 01:43:35 +00:00
Dan Zivkovic 541ef56e05 Personal dictionary feeds a personal LM.
Bug 20043003.

Change-Id: I5ccac344c089855474263d1cdc547da1e6779301
2015-04-09 18:35:57 -07:00
Tom Ouyang 3952078a91 Extract fewer characters in getWordRangeAtCursor().
Use LOOKBACK_CHARACTER_NUM = 80 instead of the previous
EDITOR_CONTENTS_CACHE_SIZE = 1024 (which was overkill).

This speeds up many InputLogic operations.

Bug: 19987461
Change-Id: I62b6a589f87e5daab33376b3e48f1c615a66dcfb
2015-04-09 11:45:55 -07:00
Dan Zivkovic 7f386acdd1 Make logs less spammy.
Bug 19987461.

Change-Id: Ibf58f2b26c2d01f765ef32abb47c84be49e2ba9f
2015-04-07 11:43:18 -07:00
Dan Zivkovic 6bb7011559 Read less data from the input connection.
Currently, we read 256 (max word size) * 5 (max N-gram size + 1) characters
from the input connection when building our context. This is overkill. We
don't need more than 80 characters, regardless of which decoder we use.

Bug 19987461.

Change-Id: Ie3a321cf2482adbacd8006d9d86e6601097c15ed
2015-04-07 11:18:58 -07:00
Dan Zivkovic 3e66c6357d Skip decoding for in-vocabulary words.
The spell checker is decoding, and getting multiple sets of suggestions, for
every word it encounters. It even does that for in-vocabulary words, though
it will not underline or show suggestions for in-vocabulary words.

Bug 19987461.

Change-Id: Ie61101fa8ab8917f3f49c77768dbcffd96c1685e
2015-04-07 10:48:36 -07:00
Dan Zivkovic ec2891b007 Define stats for UserDictionaryLookup.
Bug 20071513.

Change-Id: Iaab909575da29bfe6e17bb3865ce51d1e7720e7c
2015-04-06 11:10:55 -07:00
Tom Ouyang e1b13a4550 Log timing for performUpdateSuggestionStripSync.
Change-Id: Id08daf7c06e874b43deed77a49b65969dadb1565
2015-04-03 15:23:52 -07:00
Dan Zivkovic 4c326c66e9 Merge "Log timing of commitChosenWord()" 2015-04-02 22:57:12 +00:00
Dan Zivkovic 5d2314fea0 Log timing of commitChosenWord()
Bug 19987461.

Change-Id: If5bb798a350e9083ee8b67a84af132c100f0a7eb
2015-04-02 15:54:28 -07:00
Dan Zivkovic 3350f70371 Merge "Log timing of commitChosenWord()" 2015-04-02 22:46:57 +00:00
Dan Zivkovic 9731fadcb4 Log timing of commitChosenWord()
Bug 19987461.

Change-Id: Ibeebb9f1b1c4f3a9ed988c9e20209a9c83b5a359
2015-04-02 15:43:11 -07:00
Dan Zivkovic 915b1ed34a Merge "Log interrupted tasks in AOSP." 2015-04-02 22:15:19 +00:00
Dan Zivkovic 5a53505fe4 Log interrupted tasks in AOSP.
Bug 19987461.

Change-Id: Ia2714f555146f8f31a6d8c61f555d2b6fecdab7d
2015-04-02 14:47:36 -07:00
Dan Zivkovic a0a6663894 Merge "Add shortcut support to UserDictionaryLookup." 2015-04-02 19:17:12 +00:00
Dan Zivkovic 87eb7ac29c Add shortcut support to UserDictionaryLookup.
Also move the class to the parent package, since it's no longer tied to the
spell checking service.

Bug 19966848.
Bug 20036810.

Change-Id: I35014d212fd87281eb90def03ee92e6872dcd63e
2015-04-02 11:15:27 -07:00
Tom Ouyang f3392aca58 Learn corrections that were made in the middle of a word.
These occur when the user moves the cursor into a word.

Bug: 19571104
Change-Id: Ibc2e4f0146f7c1130ad078bd0c0a871dafa5d694
2015-04-02 10:20:08 -07:00
Tom Ouyang 1a58c47ebe Unlearn word when the user moves the cursor in to correct it.
Change-Id: I36358e551d6c51e786b6e09b1a1368ebf3c48f69
2015-04-01 17:26:35 -07:00
Dan Zivkovic 88f03707aa Specify argument nullability.
Bug 19996229.

Change-Id: I26938b26cd171b7947671a8406af6e3b7c8539f4
2015-03-31 10:05:26 -07:00
Jatin Matani 6d63989197 DictStats should mask account info in filename
Change-Id: I1985fcc352c1c0658c4177f906f1d71ee0d67c6f
2015-03-30 18:44:55 -07:00
Dan Zivkovic 76de0a8f52 Remove "Personal dictionary" link from settings.
Bug 19966848.

Change-Id: Ice6a030d2d2319822d5108c5b6a37efa4de1090f
2015-03-30 17:27:56 -07:00
Dan Zivkovic fa22abb94d Merge "Setup wizard status only available on Lollipop++" 2015-03-30 21:24:00 +00:00
Dan Zivkovic 94a1bea852 Setup wizard status only available on Lollipop++
Bug 19959791.

Change-Id: Iac2bf1a2550795e75e866aded57130dac1619a81
2015-03-30 21:23:44 +00:00
Jatin Matani e13f375411 Merge "Don't hide sync settings, v2 (cleaner)" 2015-03-30 20:04:57 +00:00
Jatin Matani 66f139889d Don't hide sync settings, v2 (cleaner)
Bug:19961809
Change-Id: I02d6bd773dc20112c8fa3b83ac305d0cdbbd58d0
2015-03-27 16:32:12 -07:00
Chieu Nguyen d4ee11f9a4 "spellcheking" needs spellchecking.
Change-Id: Iaf4cd5d11b113be4738182fb662e5dc54b2f5366
2015-03-27 14:48:20 -07:00
Chieu Nguyen 16c262abe5 Make Hebrew spellchecking spellcheck Hebrew.
Bug: 19966676
Change-Id: I657d2989966804cc1b6e3b12670a2123b6f06127
2015-03-27 14:42:27 -07:00
Dan Zivkovic f267e84548 Merge "Don't log stack trace for missing LM." 2015-03-27 21:00:20 +00:00
Dan Zivkovic 43ea67c23d Don't log stack trace for missing LM.
We only have "en" included in the APK. Everything else shows a stack trace.

Bug 19946159

Change-Id: Ie213529d52175eb929b2c875a5558aea347af01f
2015-03-27 13:47:30 -07:00
Jatin Matani 8de99ce3d8 Merge "Don't notify dictpack for updates for service dump" 2015-03-27 19:54:33 +00:00
Dan Zivkovic 23a7998edd Not all cyrillic scripts use east_slavic layout.
Bug 19963288.

Change-Id: I6d61110be11b260a4ec8e8c85fa0a32064e051e3
2015-03-27 12:19:47 -07:00
Jatin Matani 2cc2d31418 Don't notify dictpack for updates for service dump
Bug:19961803
Change-Id: I464e840bc5f75d164a519d84b0f09d8e64ed5061
2015-03-27 11:10:00 -07:00
Dan Zivkovic 68c8898217 Handle missing resources.
Needed for unit tests related to various bug fixes.

Bug 19930761.

Change-Id: I776ccccb032e3d1b181b02c6bb768500790870f7
2015-03-26 15:33:12 -07:00
Mohammadinamul Sheik 8f526c9a55 Use the complete Locale in generating the dictionary id.
- Also deleted a couple of dead methods.

Bug:19929051
Change-Id: I4f88dbc2a8204d5e2a20d1ad8c205a23c6319f8d
2015-03-25 16:45:56 -07:00
Jatin Matani 3b175a0b5d Merge "Check for accounts when enabling sync features." 2015-03-24 23:38:01 +00:00
Jatin Matani bb2773176f Check for accounts when enabling sync features.
Bug:19895917
Change-Id: I2f2f535f5a5c17c5642a5c44d2fd20a520ccfd73
2015-03-24 15:37:11 -07:00
Mohammadinamul Sheik 600cca16cb Merge "Force download the dictionaries after the apk package is updated." 2015-03-24 22:20:46 +00:00
Mohammadinamul Sheik 3bc3bc7971 Force download the dictionaries after the apk package is updated.
- Also display the notification when the dictionaries are auto updated


Bug: 19808828
Change-Id: If5c4efb73d8bb554d812afcf7deafec3ac40a462
2015-03-24 14:56:54 -07:00
Jatin Matani 3b0c2eb09f Merge "Avoid NPE when logging the entry point to Settings" 2015-03-24 19:57:08 +00:00
Jatin Matani 2fb8e5eecf Avoid NPE when logging the entry point to Settings
The populator class that serializes the proto uses a switch
and throws an NPE.

Bug:19911288
Change-Id: Id0fa371b3c64e706e14a13bb6e643406f94be035
2015-03-24 12:25:22 -07:00
Dan Zivkovic 72278d3047 Change DictionaryStats to report content version.
Bug 19908719.

Change-Id: I5a00b5277e9cd7d964b53ff5823bada21be110fa
2015-03-24 11:19:34 -07:00
Chieu Nguyen f74005d888 Remove dependency in correction settings.
Autocorrection and next-word suggestion are independent,
but the settings UI creates a dependency.

Bug: 19896768.
Change-Id: Ibcdd497cdfd7b9c3a69c61e0c2d116d67df84ef8
2015-03-23 18:13:03 -07:00
Chieu Nguyen 1eedcfb290 Reenable next-word suggestion if autocorrection reenabled.
Bug: 19896768.
Change-Id: Ifeb3401612416e58bb362c5250ce0c15fc4b3c45
2015-03-23 17:16:10 -07:00
Jatin Matani fa296fa625 Merge "Move ManagedProfileUtils to overridable" 2015-03-23 20:17:13 +00:00
Jatin Matani cb27c4fe2e Move ManagedProfileUtils to overridable
Bug:19532354
Change-Id: I50b3ae11b6e58f07b482353b624b1a7a73eadc99
2015-03-23 11:57:48 -07:00
Dan Zivkovic 75fc9080a8 Block overflow menu during setup.
Bug 19866981.

Change-Id: I757dacaa29a132c65841b9aaa2cc070ed9fa712c
2015-03-23 11:34:02 -07:00
Dan Zivkovic c15bbb52a3 Retire Delight2 migration code to speed up tests.
We're waiting 10 minutes for tests to run, and half of that time is spent in
depreacted code related to migration of Delight2 dictionary files.
LatinIME will never migrate another Delight2 dictionary file again, so we can
delete this code.

Change-Id: I05c7d8429e8d9a26139456763c77997340fea8c2
2015-03-20 11:16:46 -07:00
Dan Zivkovic fe716f0f73 Resolve some InputLogic todo comments.
Change-Id: Ic3d7d11ad90cc09edf62f48aa5362e71d692f7dd
2015-03-20 10:49:15 -07:00
Dan Zivkovic 5cf457c976 Remove external dictionary debug UI.
We don't support this feature in Delight3.

Change-Id: Iebef4191c28cf6d169d351039174cd841d448799
2015-03-20 10:23:05 -07:00
Dan Zivkovic 755b3d882f Notify the facilitator on IME start/finish.
Allows the facilitator to flush language models without a recurring task.

Bug 19773937.

Change-Id: I01a3c10da26f9df38fee05df33387eb082e2ff33
2015-03-20 09:03:48 -07:00
David Faden 6e86632311 Pass DictionaryFacilitator to GestureConsumer#onImeSuggestionsProcessed.
Bug: 19712589
Change-Id: I81f9bf09b37487450780d85a1e4f752a9ba49370
2015-03-19 18:23:35 -07:00
Mohammadinamul Sheik 7df95c54fa Merge "Add prev words context to the SuggestedWordInfo." 2015-03-20 00:41:27 +00:00
Mohammadinamul Sheik ab59129594 Add prev words context to the SuggestedWordInfo.
Bug: 19712589
Bug: 19715579
Change-Id: Ie06665cab8405455c1b0a2ff034e0bb0731c9156
2015-03-19 16:07:04 -07:00
Dan Zivkovic dbf117b661 Log accepted punctuation suggestions.
Bug 19825927.

Change-Id: If65b56aa5c269e47bcc609bdc673ba18c450ee66
2015-03-19 15:40:40 -07:00
Chieu Nguyen 8ec36026c9 Disable message if personalization is disabled.
Bug: 19087415.
Change-Id: I3974f1b676aa4a9bb04ab7f609b6daf1860c64f1
2015-03-18 15:30:22 -07:00
Mohammadinamul Sheik 0bbbbdf1c4 Merge "Pass DictionaryFacilitator for autocorrection and suggestion stats" 2015-03-17 22:39:17 +00:00
Tom Ouyang edcf5853d1 Merge "Start-of-sentence should include newlines and non-period terminators." 2015-03-17 22:25:00 +00:00
Tom Ouyang 5aeb092130 Start-of-sentence should include newlines and non-period terminators.
Bug: 19795382
Change-Id: Id6cc4a494a06de03d351aa6257632bd3b82e2ec4
2015-03-17 15:18:42 -07:00
Mohammadinamul Sheik 4024984c1e Pass DictionaryFacilitator for autocorrection and suggestion stats
Bug: 19715579
Change-Id: Ic48de74bde0f9f5d5e68e8289948cc5e92cbfa1e
2015-03-17 15:18:21 -07:00
Mohammadinamul Sheik ea727b6b71 Carry over the mMaxPreWordCount when creating the new NgramContext
Change-Id: Iaba2e4b356486b60d550f10121695ef46e5e75da
2015-03-17 12:31:18 -07:00
Mohammadinamul Sheik f468609223 Use BinaryDicitonary.MAX_PREV_WORD_COUNT_FOR_NGRAM for D2 dictioanries.
Fixes the UserHistoryDictionaryTests

Change-Id: I49776f53298ced3cd7e771cfe77a940b80b01f20
2015-03-17 11:43:16 -07:00
Dan Zivkovic a10808d7d6 Merge "Remove rejected suggestion in LatinIME." 2015-03-17 18:14:36 +00:00
Dan Zivkovic 8844c35e7e Remove rejected suggestion in LatinIME.
Bug 19744396.

Change-Id: I64e59b3fb1ab627c70bf27a12a78d8d927da7e97
2015-03-16 18:26:37 -07:00
Tom Ouyang 263dd9fe03 Merge "Deprecate SuggestedWords.mSourceDict" 2015-03-17 01:25:21 +00:00
Chieu Nguyen 56e7673917 Merge "Add cloud sync setting to SettingsValues." 2015-03-17 00:22:14 +00:00
Chieu Nguyen 93205b17ff Add cloud sync setting to SettingsValues.
Bug: 19573092
Change-Id: I41174188743c8a78facebff547e378a2b467a8c7
2015-03-16 17:11:52 -07:00
Dan Zivkovic bff393ce13 Fix NPE in AccountSettingsFragment.
Bug 19773815.

Change-Id: Ib5eb27cdf385c81d1a3822836f424fa29c0bbaa8
2015-03-16 17:08:35 -07:00
Dan Zivkovic 52dafe8c32 Don't test format version 403 twice.
BinaryDictionaryTests runs all tests 3 times for 3 format verisons.
Cut that number down by 33% to speed things up.

Change-Id: I8a2f78017fa30f46b5873dcf6a5f478f57af2ebd
2015-03-16 14:38:44 -07:00
Dan Zivkovic f508209f6a Remove unused imports.
Change-Id: Ic537cc7080a0ca98fc855a6f24a415d63f747891
2015-03-16 14:17:51 -07:00
Dan Zivkovic 4e1f0f1bb0 Redundant code matches multiple languages.
InputLogic should not have code that tweaks suggestion ranking based on the
language of the source dictionary.

Bug 19744396.

Change-Id: I8c0849555e74cec1302e78da04148dedd1cddabe
2015-03-16 14:11:59 -07:00
Dan Zivkovic 2321c41b5b Check boxes are replaced by switches in KitKat.
Make the code work for both widgets by using the TwoStatePreference interface.

Bug 19596067.

Change-Id: I8352361dcf74b54136b6177de9aac3eb2942a4c0
2015-03-16 12:03:04 -07:00
Dan Zivkovic 5455179b54 Revert "Next-word suggestion bit in keyboard settings."
This reverts commit 1ae16dc3db.

Bug 19596067.

Change-Id: Ie7286acbb70b215d7bd08e271bcf14526b68576f
2015-03-16 11:23:22 -07:00
Mohammadinamul Sheik 900502f1ec Merge "Make RichInputMethodSubtype non-final for easy mocking" 2015-03-14 03:04:02 +00:00
Mohammadinamul Sheik 29500ef4ba Fix the BinaryDictionaryTests
Change-Id: I09378d74705e6943946ea4f76b15664086a387ed
2015-03-13 18:21:22 -07:00
Mohammadinamul Sheik f04e2ed83a Make RichInputMethodSubtype non-final for easy mocking
Change-Id: I167bc56b5224eb389ec853aeb539d7fcf79b81e1
2015-03-13 17:05:11 -07:00
Mohammadinamul Sheik 93d2ab3857 Add StatsUtils.onSettingsActivity to collect the settings page stats.
Bug:19214944
Change-Id: I113f47c49d638790d770fe2781afe7cd1565619d
2015-03-13 16:12:14 -07:00
Tom Ouyang 89e2d93634 Deprecate SuggestedWords.mSourceDict
Change-Id: I29d9bec427660a7a501054fe9b1ea71be2d5ee3f
2015-03-13 14:30:18 -07:00
Chieu Nguyen 116e58c437 Remove autocorrection aggressiveness settings.
Replace multiple settings with binary switch for autocorrection.

Bug: 19589766
Change-Id: Ic8a0362dd36d18930493a55699851161e9cb23e8
2015-03-13 12:21:26 -07:00
Dan Zivkovic eaa710d4aa Separate executor for the Spelling decoder.
Bug 19710676.

Change-Id: I6e66eddd507c11e424105869833fe6841b90275d
2015-03-12 17:10:38 -07:00
Dan Zivkovic 26fb83c481 Avoid creating empty String[].
Minor cleanup on the way to fixing spelling for downloaded language.

Bug 19710676.

Change-Id: I7be25fa82248f0317d894d44802bede9dbc4fe2a
2015-03-12 10:49:29 -07:00
Dan Zivkovic 7e1dfaae3d Merge "Remove ALS from LatinIME." 2015-03-12 17:17:59 +00:00
Dan Zivkovic 107fb4c476 Remove ALS from LatinIME.
This fixes unit tests and brings us closer to a green build.

Change-Id: Iffcc392eda4a7671a238b79cc7367320ca648725
2015-03-11 17:29:12 -07:00
Chieu Nguyen 4e0af43673 Remove unused phrase gesture code.
Bug: 19687841
Change-Id: I0862aa3127bf7f1564a4845efdf99ebf5ae4d5ac
2015-03-11 17:09:44 -07:00
Dan Zivkovic 9a289da4e6 Remove deprecated distractor filtering methods.
Change-Id: I10ccf75d9c00d66b4e85de6c3c019242f2e90b0e
2015-03-11 14:39:48 -07:00
Dan Zivkovic 7472cc8245 Mark method @UsedForTesting
This prevents it from being optimized away.

Change-Id: Iecd317568e23e86e4c0ece8134a4926a7a56d65b
2015-03-11 14:00:30 -07:00