Commit graph

287 commits

Author SHA1 Message Date
Jean Chalard
cba93f50c3 Add different ways of reading the dictionary file.
This change adds basic support for an external dictionary provider.
It adds methods for reading the dictionary itself from an asset in
the dictionary provider package directly, obtaining the file name
through the ContentProvider interface; it also adds a way of getting
the data through an InputStream and copying the file locally.

Incidentally this change also adds the code needed to listen for
updating the dictionary provider package and reloading it in time.

This change also goes hand-in-hand with Iab31db6e, which implements
the small closed part of this.

Issue: 3414944

Change-Id: I5e4fff99a59bb99dbdb002102db6c90e6cb41c8a
2011-03-18 12:16:50 -07:00
Tadashi G. Takaoka
071f47140c Refactor BinaryDictionary a bit
This changes:
* Flag initialization code in BinaryDictionary to be more unit test friendly.
* Removing unnecessary class hierarchy of LatinIME inner class WordAlternatives.
* Formatting normalized score neatly.

Change-Id: I9f10c093d4f36258fe883cf3fb10cbbda2770497
2011-03-16 19:46:19 -07:00
Tadashi G. Takaoka
e7a2512aa3 Add Utils.equalsIgnoreCase methods
This change also corrects usage of "frequency", "priority" and "score"
* Frequency is the relative probability in dictionary.
* Score is the relative probability in suggestions.
* Priority is kind a sorted score.

Change-Id: Iafb135a4ecdb401cc505014a07c74dfcac44d699
2011-03-16 16:03:05 -07:00
Jean Chalard
d631651b12 Avoid the removal of high-ranking exactly typed candidates.
It used to be the case that the scoring system turns up the same word
that was entered with a different capitalization, but with a lower
score than some other, more frequent word. To cope with this, there
was code that would order such candidates in the first slot no matter
what. This processing is now useless because fully matching words now
have a huge boost that ensures they will get to the top of the list,
before any non-fully matching word (which means, differing only by
capitalization or accents).

The bug that did happen with this was, if a fully-matching word got
matched by several processing passes, and the (chronologically) later
score affected to this word was weaker, it would result in the
duplicate removal pass removing the stronger score. This in turn would
mess with autocorrect.

In an effort to keep the risk at a minimum for MR1, this change does
not actually remove the useless code, but adds a check in the odd case
to avoid the bad situation. Another change will remove the code for
ICS release.

bug: 4100269

Change-Id: I18c0575332981ffec0e257e26a360995838d521e
2011-03-15 21:12:38 -07:00
satok
bcfce3b3b9 Add whitelist dictionary
Bug: 3447571

Change-Id: I538e4e706982129b666ca1ab1085f1b68b69f87f
2011-03-08 11:29:10 +09:00
Tadashi G. Takaoka
c2c44f94e7 Cleanup Suggest to be able to be unit test ready
Bug: 3414081
Change-Id: Ia76afac4b1a61b8953a215b7cbdb7557736f7b9c
2011-03-03 19:18:03 -08:00
satok
9f67e12a0e Move the auto correction functionalities to AutoCorrection.java
- Also removed a quick fix for 2nd or more suggestions.

Change-Id: I7bf46a9cd6a727473e68836954fca160c9d853e6
2011-03-03 19:51:10 +09:00
Ken Wakasa
7e99a28dfc Clear suggestion strip when the suggestion starts
bug: 3488704
bug: 3480132

Change-Id: Ie895d2ad1b58dc65fe16d65baa6fccafd4a142bb
2011-03-02 16:40:08 +09:00
Tadashi G. Takaoka
887f11ee43 Remove next letters frequency handling
Bug: 3428942
Change-Id: Id62f467ce4e50c60a56d59bf96770e799a4659e2
2011-02-17 13:59:41 +09:00
Tadashi G. Takaoka
33e0b1e79e Add unit test helper method to BinaryDictionary and Suggest
Bug: 3414081
Change-Id: Idee64010f2f423d3c7c548d0279c7bf287088762
2011-02-08 17:56:55 +09:00
Tadashi G. Takaoka
5ef096f5f6 Move and rename computeProximityThreshold
Move and rename KeyboardView.computeProximityThreshold to
KeyDetector.getMostCommonKeyWidth. And make it public for unit test
use.

This is a part of multi-project change (If751659a, Idb18f362)

Bug: 3414081
Change-Id: If751659a53c7412f836d6d28866760ffe84b179b
2011-02-08 11:43:39 +09:00
Jean Chalard
8553b5ec31 Add debugging info for Latin IME.
Add frequency of candidates in the candidates view when the debug
mode is active.

Bug: 3312867

Change-Id: Ie911f14ef11b2fa02af8f3a74302129f16ed0604
2011-02-01 16:06:50 +09:00
satok
b5d7857fbc Merge "Fix auto-correction threshold and promote full matched words" into honeycomb 2011-01-26 20:10:31 -08:00
satok
14e427d5bb Fix safety net not to be enabled at aggressive autocompletion mode
Bug: 3374359

Change-Id: I7b1dbeb64a87dda05397c236bb58da292f819471
2011-01-27 13:09:27 +09:00
satok
58c49b9132 Fix auto-correction threshold and promote full matched words
Bug: 3374359
Bug: 3278422

"zbe" will be auto corrected to "be" by fixing s-line
"teh" will be auto corrected to "the" by promotion of full matched words

Change-Id: I314c632820e4e0b1501edeca60ada205d291451f
2011-01-27 12:53:13 +09:00
satok
6f7218627e Dim previously suggested words
Change-Id: Id673c03bfa22ea9ce1bedb5174d8309a37a2a460
2011-01-21 15:20:21 +09:00
satok
82411d47ba Add a safety net for auto-correction.
Bug: 3353956

Change-Id: I6a32632b2f986f0d9a07aa72f256a2c41cc09873
2011-01-19 17:54:22 +09:00
Ken Wakasa
da50e1e98d Fixes in close() in BinaryDictionary.
Avoid using 'synchronized' in finalizer as well.

bug: 3340837
Change-Id: I9b28f54e4490ecb844ba33a379f71b625e4246a2
2011-01-17 15:58:07 +09:00
Ken Wakasa
e90b333017 Load main dic in native
Follow up to Id57dce51

bug: 3219819
Change-Id: I00e11ef21d0252ffa88c12dffb9c55b0f2e19a66
2011-01-07 19:51:45 +09:00
Ken Wakasa
458249e703 Consolidate main dictionary files.
This change is a preparation for upcoming optimizations on dictionary file loading.
* We can consolidate dictionary files because we are no longer relying on Asset Manager.
* Stopping compressing dictionary files as planning to use mmap() on the region in the apk file.
* Probably we won't rely on Asset Manager.  Instead we'll probably use offset and size obtained from AssetFileDescriptor.

Change-Id: Id57dce512fd3d2397a58628f8264bd824194da76
2011-01-05 11:31:58 +09:00
Tadashi G. Takaoka
9fb8c6dd48 Suppress punctuation suggestions if not needed
Bug: 3294256
Bug: 3284745

Change-Id: I77d54cbfcc2e809315bab59ecb808ae944982501
2010-12-22 01:48:20 +09:00
Tadashi G. Takaoka
9ecad8c2e8 Fix auto correction threshold values array reference
This change also removes unused argument from Suggest.getSuggestions().

Change-Id: I512f8695d22898bb906e136a66e0ee6b521cd1d1
2010-12-13 14:40:49 +09:00
Tadashi G. Takaoka
1b1f7f907f Cleanup unused string resources
This change also renames some "completion" to "correction".

Change-Id: I156dd7ccafe99a632721f20769d5f0ea5915a564
2010-12-12 21:55:00 +09:00
Tadashi G. Takaoka
7e181fe101 Introduce SuggestedWords class to represent suggestions list
Change-Id: I81677a785640d37296be8b42c7a74bd0c00edf46
2010-12-12 16:44:42 +09:00
Tadashi G. Takaoka
9502cc177c Remove LatinIME prefix from classes
This change also cleanups preference key string constants

Change-Id: I58510f220a90d00d71a935731abeab87384675bb
2010-12-09 21:54:51 +09:00
satok
cdbbea735f Suggest excessive characters
bug: 3193883

Change-Id: Iea7a0fce7ce62d8779a7c7e4613d50db30d82b07
2010-12-08 16:56:06 +09:00
Tadashi G. Takaoka
5a309f5715 Move some inner static class to top class in new package
This change introduces new package com.android.inputmethod.keyboard
which hosts keyboard related classes.

Also adds missing @Override and @SuppressWarning("unused") annotation

Change-Id: I0317f5cfa317e13f3c77815f48ffc69b5d1ade05
2010-12-02 20:06:01 +09:00
Tadashi G. Takaoka
fa086c9076 Cleanup unused Java import
This change also fixes wrong file mode.

Change-Id: Ifcf4c9444ddcdc62d2e4b394891d6eee135c1e8f
2010-11-29 17:57:48 +09:00
Ken Wakasa
200ece7907 Capitalization for "Quick Fixes" words doesn't work
bug: 3151706
Change-Id: I7770a1d26edb1ea72ee93396181953a724dcc4bf
2010-11-01 20:25:07 +09:00
Mitsuhiro Shimoda
b1abda8d62 Add an auto complete's threshold option.
Change-Id: I3a6821ced8642ab8f954e79a25e31766e4a18eb8
2010-10-05 14:44:00 +09:00
Ken Wakasa
0b4ae1f578 Capitalize the displayed text in the suggestion bar when all of the user typed chars are upper case
bug:3014227
Change-Id: Ic453e2fde57ce51be00f3a506e1c9328103ca99a
2010-09-28 01:15:11 +09:00
satok
525141a402 Clean up LatinIME java
- remove unused code
- add @Override
- change the inappropriate cast

Change-Id: Ib25b4939e5b4273794ab0f6349776b5b62d89894
2010-08-24 12:40:00 +09:00
satok
979f869096 DO NOT MERGE. Backport LatinIME from master to Gingerbread
TODO: Cleanup will follow.

Change-Id: I4a68ba9f2f55760aa24187f1f13fdfa8a0b70963
2010-08-20 14:37:03 +09:00
Jean-Baptiste Queru
443c360d0a Clarify licensing
-use AOSP copyright instead of Google
-add NOTICE and tag file

Bug: 2548782
Change-Id: If50b2e9e9cc4b4876b0d047fc9f34e2d537a6da4
2010-04-05 09:47:36 -07:00
Amith Yamasani
0c05902e33 Don't auto-add when in suggest-only mode. Bug: 2521344
Also don't highlight quickfixes when in suggest-only mode
In general, reduce the situations where words are auto-added. It was
too eagerly adding even words that were in the dictionary.
2010-03-24 19:31:49 -07:00
Amith Yamasani
1e5374e98b Remove popup for extension keyboard in landscape. bug: 2519903
Also add a summary text in the input language list for languages with
a dictionary so that users don't feel cheated when they pick a language
that doesn't happen to have a dictionary. Remove greek as it isn't an
extension of the QWERTY keyboard.
2010-03-17 17:02:28 -07:00
Amith Yamasani
07b1603a3f Don't let the native code target be included twice when unbundling.
Move java code to a different directory so that the unbundled
version doesn't try to compile the native code again.

Change-Id: I05cf9e643824ddc448821f69805ccb0240c5b986
2010-03-09 15:01:09 -08:00
Renamed from src/com/android/inputmethod/latin/Suggest.java (Browse further)