Commit graph

13544 commits

Author SHA1 Message Date
Dan Zivkovic
12d0641864 am 9bad1ac3: Look up thresholds during decoder reset.
* commit '9bad1ac33f65dc3454a689b88560988b77a00a87':
  Look up thresholds during decoder reset.
2015-05-05 01:18:22 +00:00
Dan Zivkovic
9bad1ac33f Look up thresholds during decoder reset.
Bug 20701628.

Change-Id: I4de89587776a0859aeda5d2ed76ab1eb4f918458
2015-05-04 14:48:28 -07:00
Mohammadinamul Sheik
9c08208d1a am f01cd568: Merge "Make the DictionaryService stage the downloaded files"
* commit 'f01cd568f0de414e88507ce244969cf0e509c537':
  Make the DictionaryService stage the downloaded files
2015-05-04 20:24:33 +00:00
Mohammadinamul Sheik
f01cd568f0 Merge "Make the DictionaryService stage the downloaded files" 2015-05-04 19:04:15 +00:00
Mohammadinamul Sheik
a0d9c82921 Make the DictionaryService stage the downloaded files
Bug: 20641948
Change-Id: I6639c995b12c033bc30241cd219201dd483ee516
2015-05-04 11:57:31 -07:00
Geoff Mendal
aa9bb2f1db Import translations. DO NOT MERGE
Change-Id: I4077e97bfbbb23bf55ceaf627306473e302f08fe
Auto-generated-cl: translation import
2015-05-01 20:47:07 -07:00
Dan Zivkovic
bdddc04635 am f22571e2: Delete history on upgrade in LatinIME.
* commit 'f22571e2d9756294fa2fa332a395c06010f54d92':
  Delete history on upgrade in LatinIME.
2015-05-01 20:10:16 +00:00
Dan Zivkovic
f22571e2d9 Delete history on upgrade in LatinIME.
Bug 20733902.

Change-Id: Ibe27e6cafe4db87ba62d7df708229e0d8564ffa8
2015-05-01 12:45:07 -07:00
Tom Ouyang
6d8e783d18 Do not learn from cursor corrections when autocorrection is disabled.
Bug: 20681528
Change-Id: I80e7095b70a151f3ccc36856d7e0837613a35972
2015-05-01 00:00:47 +00:00
Tom Ouyang
89f9070264 Do not learn from cursor corrections when autocorrection is disabled.
Bug: 20681528
Change-Id: I80e7095b70a151f3ccc36856d7e0837613a35972
2015-04-30 15:10:50 -07:00
Dan Zivkovic
e991c34297 am 459b4f35: Spelling cannot cache words across invocations.
* commit '459b4f353e6138b644c1f06de68e93532ee0d856':
  Spelling cannot cache words across invocations.
2015-04-29 21:42:50 +00:00
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
Geoff Mendal
bd7e0fd5a5 Import translations. DO NOT MERGE
Change-Id: I4e17f973073f0e5cbb1c8d8bae6e087cb8147b81
Auto-generated-cl: translation import
2015-04-29 13:46:26 +00:00
Geoff Mendal
ad95ff8178 Import translations. DO NOT MERGE
Change-Id: Iaef4f34aafd86ac42c650536601d67dad67f73f1
Auto-generated-cl: translation import
2015-04-29 13:46:25 +00:00
Geoff Mendal
82bf4a6aee Merge "Import translations. DO NOT MERGE" 2015-04-29 13:32:04 +00:00
Geoff Mendal
ca40954d9d Merge "Import translations. DO NOT MERGE" 2015-04-29 13:31:48 +00:00
Geoff Mendal
7b741fa666 Import translations. DO NOT MERGE
Change-Id: I48ca4bdfb8c0dded8af8412146b7902a34d88161
Auto-generated-cl: translation import
2015-04-29 06:19:13 -07:00
Geoff Mendal
3cc8ecb95f Import translations. DO NOT MERGE
Change-Id: I4e17f973073f0e5cbb1c8d8bae6e087cb8147b81
Auto-generated-cl: translation import
2015-04-29 06:18:06 -07:00
Geoff Mendal
8588e52379 Import translations. DO NOT MERGE
Change-Id: Iaef4f34aafd86ac42c650536601d67dad67f73f1
Auto-generated-cl: translation import
2015-04-29 06:17:25 -07:00
Chieu Nguyen
6441faa610 am 767c0bf7: Restore preference change update to show app icon setting.
* commit '767c0bf71b9c0af7f8451d7d355f6efad21a6e5b':
  Restore preference change update to show app icon setting.
2015-04-27 21:55:38 +00: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
Geoff Mendal
ee10cceb52 Import translations. DO NOT MERGE
Change-Id: I5ad6f6abd6d40b1dea68441bca18851461ed6fd4
Auto-generated-cl: translation import
2015-04-27 06:29:58 -07:00
Geoff Mendal
e9b52401a2 Merge "Import translations. DO NOT MERGE" 2015-04-25 09:26:04 +00:00
Geoff Mendal
b6ced82d3b Import translations. DO NOT MERGE
Change-Id: I9964b966c2cf45db046bf295cc7d9051eb6ae023
Auto-generated-cl: translation import
2015-04-25 01:24:27 -07:00
Geoff Mendal
5617af7363 Import translations. DO NOT MERGE
Change-Id: I9ae307bf3567fa52a6fbb6f17de26de9274eff9c
Auto-generated-cl: translation import
2015-04-25 01:20:01 -07:00
Geoff Mendal
b42f85c8ca Import translations. DO NOT MERGE
Change-Id: I5eedc967208ea3d92d4d73b536281040106d7591
Auto-generated-cl: translation import
2015-04-25 01:19:20 -07:00
Dan Zivkovic
0108a51731 am 784233db: Specify fileName argument as Nullable.
* commit '784233dbc6dda7e702228fc831f3255bb4963f04':
  Specify fileName argument as Nullable.
2015-04-23 21:32:32 +00:00
Dan Zivkovic
784233dbc6 Specify fileName argument as Nullable.
Bug 20526371.

Change-Id: If53a81f925fbb1b29ad945ba0ec2192d92ae1eff
2015-04-23 14:12:33 -07:00
Chieu Nguyen
9d95f80e70 am a2376cd2: Restore switch for showing app icon.
* commit 'a2376cd2b4fea6b655fdcdf794cf16b7bbe1a161':
  Restore switch for showing app icon.
2015-04-22 23:17:40 +00:00
Chieu Nguyen
a2376cd2b4 Restore switch for showing app icon.
Bug: 20307420
Change-Id: I95969de40936d2ea992669324d0c4df7e8de2bd9
2015-04-22 15:46:40 -07:00
Geoff Mendal
fece743fee Merge "Import translations. DO NOT MERGE" 2015-04-22 12:49:11 +00:00
Geoff Mendal
987ce53937 Merge "Import translations. DO NOT MERGE" 2015-04-22 12:48:08 +00:00
Geoff Mendal
072c2ed4f9 Merge "Import translations. DO NOT MERGE" 2015-04-22 12:47:56 +00:00
Geoff Mendal
02c00cb197 Merge "Import translations. DO NOT MERGE" 2015-04-22 12:47:42 +00:00
Geoff Mendal
0ff42b7f78 Merge "Import translations. DO NOT MERGE" 2015-04-22 12:47:29 +00:00
Geoff Mendal
2d75d6ac86 Import translations. DO NOT MERGE
Change-Id: Id500c47ffc67f94d2a8e273ab0f19deceb44a1e5
Auto-generated-cl: translation import
2015-04-22 05:46:20 -07:00
Geoff Mendal
3446b9662b Import translations. DO NOT MERGE
Change-Id: Ieca899d22fe4aee62edb01073e7fb301162406ef
Auto-generated-cl: translation import
2015-04-22 05:45:37 -07:00
Geoff Mendal
3a9f2b64a4 Import translations. DO NOT MERGE
Change-Id: I45a167114702d67738d5f9eb8781b421280787ed
Auto-generated-cl: translation import
2015-04-22 05:44:29 -07:00
Geoff Mendal
3363aa52e0 Import translations. DO NOT MERGE
Change-Id: I97a940bcf053f383c40e03847cf2f14b38e8a62c
Auto-generated-cl: translation import
2015-04-22 05:43:48 -07:00
Geoff Mendal
c203f669d7 Import translations. DO NOT MERGE
Change-Id: Ibcb1922d708ae3894eb7015fabf24a399ef31ca3
Auto-generated-cl: translation import
2015-04-22 05:42:49 -07:00
Geoff Mendal
424d59b608 Merge "Import translations. DO NOT MERGE" 2015-04-22 12:42:47 +00:00
Geoff Mendal
378416e1c8 Import translations. DO NOT MERGE
Change-Id: Ided6d0f74ba4159e0b59bc6ea8867b5096c1ea80
Auto-generated-cl: translation import
2015-04-22 05:42:17 -07:00
Geoff Mendal
8745f9e032 Import translations. DO NOT MERGE
Change-Id: Iceda291cbb5d6d33c82346973c45a24c0601b04d
Auto-generated-cl: translation import
2015-04-22 05:41:33 -07:00
Yohei Yukaw
4acd7177dd am 490fa47a: Always specify non-null Locale object to SuggestionSpan
* commit '490fa47a46015f2c8bd8f9010d236bfe5aecd4bb':
  Always specify non-null Locale object to SuggestionSpan
2015-04-22 08:00:45 +00: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
f76430ddb9 am 54e891e2: Merge "Fix bug in regular expression stripping quotes."
* commit '54e891e2bdce2d3d1f8a319c1f596fd6590314f3':
  Fix bug in regular expression stripping quotes.
2015-04-21 03:15:27 +00: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
71f0e43b70 am cdfe8b93: Merge "Add affinity model for contact names."
* commit 'cdfe8b93ec8098c1c39a156948d9a79963dfd90e':
  Add affinity model for contact names.
2015-04-17 01:16:45 +00:00
Tom Ouyang
cdfe8b93ec Merge "Add affinity model for contact names." 2015-04-17 01:05:44 +00:00
Martin Paraskevov
f93aea6545 am c155f7f5: Merge "Strip quotes from begining/end of a word before checking its validity."
* commit 'c155f7f5fd4aeefcce69a06755a0b3c1360277b8':
  Strip quotes from begining/end of a word before checking its validity.
2015-04-16 23:58:23 +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
a527566fd2 am 3a5de641: Do not re-download the unused dictionaries.
* commit '3a5de64110eab7ae0b6b1da86b5ce30d5b16bd7a':
  Do not re-download the unused dictionaries.
2015-04-15 18:37:14 +00: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
1b79b25f24 am bf732e70: Merge "Store raw strings for personal dictionary"
* commit 'bf732e70013c6703adf83ec34b38ba7bd2d4a509':
  Store raw strings for personal dictionary
2015-04-14 18:11:51 +00:00
Jatin Matani
bf732e7001 Merge "Store raw strings for personal dictionary" 2015-04-14 18:03:56 +00:00
Mohammadinamul Sheik
70f0c72135 am db961227: Fix the NPE on selection string on unlearnWord
* commit 'db96122787a57632136566e2448c21aa96879955':
  Fix the NPE on selection string on unlearnWord
2015-04-13 23:49:43 +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
694f6dbd53 am 40f0f61b: Merge "Personal dictionary feeds a personal LM."
* commit '40f0f61bb365b5073f1d9fdb56a393c5df5ef4b0':
  Personal dictionary feeds a personal LM.
2015-04-10 01:52:23 +00: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
efa968acd9 am 3952078a: Extract fewer characters in getWordRangeAtCursor().
* commit '3952078a919caf9a44d271642122c413dbd487f9':
  Extract fewer characters in getWordRangeAtCursor().
2015-04-09 19:12:26 +00: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
b9b6e287ea am 7f386acd: Make logs less spammy.
* commit '7f386acdd1bcf7bfd6b48ee4d01bf3f2dc52e2ce':
  Make logs less spammy.
2015-04-07 18:51:25 +00:00
Dan Zivkovic
d4156ddfe0 am 6bb70115: Read less data from the input connection.
* commit '6bb701155931fbf3f96aaea1c8c7b0ba4b521b3f':
  Read less data from the input connection.
2015-04-07 18:51:23 +00:00
Dan Zivkovic
ed8d5f4cc0 am 3e66c635: Skip decoding for in-vocabulary words.
* commit '3e66c6357d5cc9e8e3ef8e63c2334d2b92465061':
  Skip decoding for in-vocabulary words.
2015-04-07 18:51:21 +00: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
5382c83909 am ec2891b0: Define stats for UserDictionaryLookup.
* commit 'ec2891b007ac6322bd66aedca217ad4e22b6a85b':
  Define stats for UserDictionaryLookup.
2015-04-06 18:19:09 +00:00
Dan Zivkovic
ec2891b007 Define stats for UserDictionaryLookup.
Bug 20071513.

Change-Id: Iaab909575da29bfe6e17bb3865ce51d1e7720e7c
2015-04-06 11:10:55 -07:00
Dan Zivkovic
0fa3b22f17 am c79ed10c: Merge "Revert "Declare that LatinIME does not use cleartext network traffic.""
* commit 'c79ed10cf74c464bc9d6a32135ccb50d99998daf':
  Revert "Declare that LatinIME does not use cleartext network traffic."
2015-04-06 15:43:52 +00:00
Dan Zivkovic
c79ed10cf7 Merge "Revert "Declare that LatinIME does not use cleartext network traffic."" 2015-04-06 15:33:26 +00:00
Dan Zivkovic
a9a46a6408 Revert "Declare that LatinIME does not use cleartext network traffic."
This reverts commit 24a9683ac9.

Change-Id: I6f305aac6ac8d5c550a39eb5c88ec2881203cecc
Reason: Breaks a clean build on master.
2015-04-06 15:32:19 +00:00
Geoff Mendal
0a3ea353b0 Import translations. DO NOT MERGE
Change-Id: I984112f22ef3047ee98f0ce57f541d901df92517
Auto-generated-cl: translation import
2015-04-03 23:29:58 -07:00
Geoff Mendal
4aac74b247 Import translations. DO NOT MERGE
Change-Id: I663b603f01a112286031cabcb83773f4ec174040
Auto-generated-cl: translation import
2015-04-03 23:24:54 -07:00
Tom Ouyang
daebc845c4 am e1b13a45: Log timing for performUpdateSuggestionStripSync.
* commit 'e1b13a4550de44c63b6b57969a4ef6a91f14a781':
  Log timing for performUpdateSuggestionStripSync.
2015-04-03 22:49:07 +00:00
Tom Ouyang
e1b13a4550 Log timing for performUpdateSuggestionStripSync.
Change-Id: Id08daf7c06e874b43deed77a49b65969dadb1565
2015-04-03 15:23:52 -07:00
Alex Klyubin
c06c32803f am 5760cdf7: Merge "Declare that LatinIME does not use cleartext network traffic."
* commit '5760cdf750aadc3b5e2c0c7749c74ed41e09de0f':
  Declare that LatinIME does not use cleartext network traffic.
2015-04-03 20:42:29 +00:00
Alex Klyubin
5760cdf750 Merge "Declare that LatinIME does not use cleartext network traffic." 2015-04-03 20:32:46 +00:00
Dan Zivkovic
57adf398a3 am fe1191a4: Add edit_personal_dictionary back to strings.xml
* commit 'fe1191a448adac1b1fd605c79665aa023a336639':
  Add edit_personal_dictionary back to strings.xml
2015-04-03 17:41:01 +00:00
Dan Zivkovic
fe1191a448 Add edit_personal_dictionary back to strings.xml
Bug 20061825.

Change-Id: I3bad714a340df383a80d17c25efb068304f6bd74
2015-04-03 10:28:48 -07:00
Mohammadinamul Sheik
08bcbbb39f am ceaafa2f: Merge "Do not throw NPE if the dictionary info is not available on db"
* commit 'ceaafa2ff99fd881b5fa6053734a7e38a594638f':
  Do not throw NPE if the dictionary info is not available on db
2015-04-03 01:16:28 +00:00
Mohammadinamul Sheik
ceaafa2ff9 Merge "Do not throw NPE if the dictionary info is not available on db" 2015-04-03 01:09:53 +00:00
Mohammadinamul Sheik
9a3598b0ee Do not throw NPE if the dictionary info is not available on db
Bug: 20035793
Change-Id: Idc13af405eab5457954a93db3dddcd81f6eb6435
2015-04-02 17:50:48 -07:00
Dan Zivkovic
9be565404d am 4c326c66: Merge "Log timing of commitChosenWord()"
* commit '4c326c66e983ece2b8fb6c8b3220c7281e26a7b8':
  Log timing of commitChosenWord()
2015-04-02 23:06:03 +00:00
Dan Zivkovic
4c326c66e9 Merge "Log timing of commitChosenWord()" 2015-04-02 22:57:12 +00:00
Dan Zivkovic
1bb58a522a am 3350f703: Merge "Log timing of commitChosenWord()"
* commit '3350f70371983961c413c747c0e7ddd138ee6de8':
  Log timing of commitChosenWord()
2015-04-02 22:55:53 +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
9ca0901ce6 am 915b1ed3: Merge "Log interrupted tasks in AOSP."
* commit '915b1ed34aaedbf2bd62f5fbaa6cf5e5b20a5bdf':
  Log interrupted tasks in AOSP.
2015-04-02 22:27:45 +00: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
Alex Klyubin
24a9683ac9 Declare that LatinIME does not use cleartext network traffic.
This declares to the platform and tools that this app does not use
cleartext network traffic. The platform and tools will be blocking
(on best effort basis) attempts to use such traffic by this app.
For example, attempts to use HTTP (rather than HTTPS) will be blocked.

Bug: 19215516
Change-Id: I4c933a214457025797e077b72d8daf8a0c876923
2015-04-02 13:32:22 -07:00
Dan Zivkovic
23f4f0b6e6 am a0a66638: Merge "Add shortcut support to UserDictionaryLookup."
* commit 'a0a66638947b5b26e7e1e5cd263a070d9ba50074':
  Add shortcut support to UserDictionaryLookup.
2015-04-02 19:29:57 +00:00
Tom Ouyang
5e6770c993 am f3392aca: Learn corrections that were made in the middle of a word.
* commit 'f3392aca58290137e1893ed0c89d6626d5d3e424':
  Learn corrections that were made in the middle of a word.
2015-04-02 19:29:55 +00:00