Commit Graph

100 Commits (95fcb0cce939fa730d90ed975f65bfaa1ffbfbcb)

Author SHA1 Message Date
Jean Chalard d0d4074392 Remove a useless parameter.
Change-Id: I7625bf17158c207ad7e8cd496bef825704173c4c
2012-03-13 15:34:06 +09:00
Jean Chalard c3c4ed91cf Consolidate words into SuggestedWordInfo
We can't get rid of SuggestedWordInfo because it conveys
the information about whether a suggestion is outdated or
not. It is always created anyway. So it makes sense not
to have separate lists and to just keep everything in the
SuggestedWordInfo object.

Change-Id: Idd79dc267d97633901d3d2869da457736963e178
2012-03-12 18:58:20 +09:00
Jean Chalard 682c2d53cc Make access to the safety net calculation easier
Change-Id: If33897b38af94ae81b05e5ef140a542724b9f34a
2012-03-09 21:44:40 +09:00
Jean Chalard 151d5cb532 Extract a condition from a method
Change-Id: I6b0262fe7cb3f7a31cc19d724c301467be932640
2012-03-09 21:37:44 +09:00
Jean Chalard 36c1b37914 Remove a useless argument
Change-Id: I713433a3225193489fad5bdafcf302b529903116
2012-03-09 21:24:47 +09:00
Jean Chalard 28e59b98c6 Remove a useless escape
Change-Id: I1ef0685cc9888c9cef9f60015d32b66dde75ef9b
2012-03-09 21:10:55 +09:00
Jean Chalard ed9986824e Move some auto-correction logic to where it belongs
Change-Id: I897c5ec3a630a4a6bfc593906df4d3fc7b244482
2012-03-09 20:45:37 +09:00
Jean Chalard 0cf422fbb7 Reduction, step 8
Change-Id: I54334039597e235e24f169e34c1d44109180ee88
2012-03-09 19:00:29 +09:00
Jean Chalard a333ff19ef Reduction, step 7
Change-Id: I177ef2f29c8b6000c5e3d021c016c5d216fe3fc6
2012-03-09 18:59:20 +09:00
Jean Chalard a3ee019331 Reduction, step 6
Change-Id: I22ad4cea0e0cac23813da7e788f5c94974ce0ebf
2012-03-09 18:58:01 +09:00
Jean Chalard dbd140504d Reduction, step 5
Change-Id: Iac52e62c2bdffad14f916f69eade2b785bb41767
2012-03-09 18:44:23 +09:00
Jean Chalard 0b96bc4b2b Reduction, step 4
Change-Id: Ib27dc6e9486c3f0f2ec1e94a88a52d12c1af2d38
2012-03-09 18:44:20 +09:00
Jean Chalard 5a61d03f31 Reduction, step 3
Change-Id: I0e08b102c9539d97c473505b9d42176c4a7c8853
2012-03-09 18:44:16 +09:00
Jean Chalard 8abd15b59f Reduction, step 2
Change-Id: I06e117df43d25dbaf9fc7a7366efd9355a6215ce
2012-03-09 18:44:10 +09:00
Jean Chalard f08f30176b Reduction, step 1
Change-Id: Ic3ed04300cfd4c0b69b93b27379aca4093b32f67
2012-03-09 18:38:44 +09:00
Jean Chalard de165aed2a Separate bigram prediction from suggestion process
Change-Id: Ibdef206fbd6688a45cebbd7fb8a9f6cd175d03b0
2012-03-09 18:38:20 +09:00
Jean Chalard 67af2a2415 Export some more logic out of Latin IME
Change-Id: Ib264533a05e9e09347bf254789e6ab5beec92400
2012-03-09 18:36:49 +09:00
Jean Chalard df9fce5df1 Export some logic out of LatinIME
Hopefully that will end in Suggest/SuggestedWords being autonomous
and won't need the logic spoon-fed to them

Change-Id: I915661bce13c69c8a5b8e5d4a8c41e18fea594cf
2012-03-09 18:36:45 +09:00
Jean Chalard de19ab878d Merge "Remove useless tests (B5)" 2012-03-08 22:22:56 -08:00
Jean Chalard 54392438c5 Merge "Optimize and clean up (B2)" 2012-03-08 22:00:02 -08:00
Jean Chalard 92146f2926 Remove useless tests (B5)
WordComposer#getTypedWord() may not return null. Don't test for it.

Change-Id: I6aff14892503d0c275a3328c404ed99d2f40a687
2012-03-09 14:52:04 +09:00
Jean Chalard 94b20c90d8 Optimize and clean up (B2)
Stop parameters from escaping and don't do useless work and
simplify the code.
Yay.

Change-Id: I0dfc3e14b1cb50e0730f6d9c1d52b54516baa90e
2012-03-09 12:51:55 +09:00
Jean Chalard 13fb8fb775 Limit escape of parameters
Change-Id: I3a7ab069042d5542ab2e033d1eeb13d718cd7698
2012-03-09 12:30:23 +09:00
Jean Chalard 23a5e9d1a7 Merge "Make AutoCorrection static and non-instantiable (A5)" 2012-03-08 19:05:30 -08:00
Jean Chalard 2621fe2256 Merge "Move a memory in the container class (A4)" 2012-03-08 19:04:56 -08:00
Jean Chalard 427dfe37ec Merge "Remove an unused method" 2012-03-08 18:31:26 -08:00
Jean Chalard 58722d83f0 Merge "Stop uselessly remembering a value (A2)" 2012-03-08 18:30:10 -08:00
Jean Chalard caae6df0ce Remove an unused method
Who would have guessed this wasn't being called at all.

Change-Id: Ib74a212356ea44e9bf149619ed5464c14684a1ba
2012-03-09 11:10:55 +09:00
Jean Chalard 82adfdaeae Make AutoCorrection static and non-instantiable (A5)
This needs change Ic6756baa to not break the build

Change-Id: I1c772dd99d63fec5d3ad67a0eb7fbc28ec7a0f0f
2012-03-08 20:56:59 +09:00
Jean Chalard 7a580a4769 Move a memory in the container class (A4)
This allows us to make AutoCorrection a purely static class.

Change-Id: I15b81bd7f3d6ea487154a5b09a81bc323be82ce1
2012-03-08 20:56:11 +09:00
Jean Chalard 719f92fc77 Stop uselessly remembering a value (A2)
The value is only used in debug mode, and it can be recomputed
at the time.
This change does not impact the logic. There is however a side
effect: in debug mode, the normalized score will be displayed
also when the word comes out of the whitelist or is a valid word.
It's actually a good thing.

The end purpose is to make all methods in AutoCorrection static.

Change-Id: I1642b1fdfa6ae62b8aa2fed94a8a26ff4a7e4d0e
2012-03-08 20:55:37 +09:00
Tadashi G. Takaoka cc8c8b99bd Split Utils class to StringUtils, SubtypeUtils, and JniUtils
Change-Id: I09e91675fe7d573dad8c933ad513b21d7e409144
2012-03-08 20:30:38 +09:00
satok ca7ec2097c Integrate the logic to calculate the proximities
Bug: 4343280

Change-Id: I0f6a7e6912ed4abea07c10d266da4c7ccb0dae76
2012-03-06 15:34:27 +09:00
Jean Chalard 6e082cb30d Convert an internal enum into an int of same underlying value.
Goes together with Id4f4e066

Bug: 5922118
Change-Id: I1e39dd01c67e9284d9d7fe008d868847e69986d7
2012-01-26 13:07:51 +09:00
Tadashi G. Takaoka 9c735b8038 Fix SuggestTests
We need revised scoring test because dictionary look up algorithm has
been changed significantly since this SuggestTests was made.

Change-Id: I69d527a6bfa24ed0dc189fddad1afab0566c6eb8
2012-01-13 15:25:28 +09:00
Jean Chalard 4606de117b Stop a flag from escaping.
The ultimate intent is to close it up in the settings, as it does not
change while typing, only when the keyboard is open again.

Change-Id: I12ff56e7482c1584877fe5531473bf03e95a60f6
2011-12-09 16:09:04 +09:00
Jean Chalard c1fdd966a7 Remove a useless method
Change-Id: Ib6a0ee21bfe2000231f9ba7bcad4b18ae57e4249
2011-12-08 21:47:26 +09:00
Jean Chalard 117fc18ed4 Keep count of the trailing single quotes for suggestions
Bug: 5665809
Change-Id: I4d9100dbe980861ccb55c78464524be670cac1f7
2011-11-29 15:16:28 +09:00
Jean Chalard c83359f974 Special case quotes at start and end of words
Single quote at start of word is not considered a part of a
word any more.
Single quote at the end of a word now behave like capitalization:
lookup in the dictionary is done *disregarding* a final quote,
and it is forcefully added back into the suggestions afterwards.

Bug: 5566368
Change-Id: I14dd3815f4b743edba56d64a3abdf4b73d863a6a
2011-11-21 16:34:39 +09:00
Tadashi G. Takaoka 8fbf29e2d5 Make some private method static
Change-Id: Ia23765268be0ef89d7fe7c3f5372ed32d6615765
2011-10-28 13:31:31 +09:00
Jean Chalard fee149abe0 Use the whitelist as a dictionary in the spell checker.
Bug: 5402436
Change-Id: If89b8bbdebf6751697c4788270d01d4639cff665
2011-10-07 19:25:36 +09:00
Jean Chalard 3458d61807 Make the whitelist an instanciable class.
This goes together with I6b8628b9acc32449e4147a2a754b222fbb76c754
or it will break the build

Bug: 5402436
Change-Id: I07c6266b713773a8de80bb22afdd4c566261f78a
2011-10-06 16:05:21 +09:00
satok 904baab25a Remove code related to AutoText
Bug: 5245751

Change-Id: Ic02f951e8e1dbde9d8964d2c16e4928fb374ca41
2011-10-03 14:38:44 +09:00
Jean Chalard 5c08151c22 Avoid returning an object that's still used internally
There is no definite path known for this to end up being
touched by other classes, but we could imagine through
some way or some other it ends up shoved in the stringbuilder
pool, leading to catastrophic results.

Hopefully related to
Bug: 5248688

Change-Id: Ib8abfc31263cbf31d515ed607ced5d8253971938
2011-09-15 16:23:03 +09:00
Jean Chalard 358e1327d8 Fix a bug where autotext would occasionally not work
Autotext correction would check whether the first suggestion
so far was the same as what Autotext would return, and if it
was indeed the same, would not send its result as
autocorrect. However, the first suggestion is not guaranteed
to have a high enough score to trigger autocorrection, and
there would be cases where a word in autotext would not get
autocorrected because the word came out of bigram
suggestions. These occurrences would be extremely rare, as
they would require concomitant insert between autotext for
one char and bigram suggestion. It is, in fact, probably
limited to the capitalization of "I".

This did not happen in gingerbread because gingerbread would
not register 1-letter words as valid bigrams.

This fix works by just always sending the result of autotext
regardless of whether it is already the first suggestion or
not. This is okay because duplicates are removed afterwards
anyway - and this processing is absolutely necessary because
the autotext'd word may actually be somewhere else in the
suggestion, so it made really no sense checking for only the
first one.

Please note that there is also a race condition that can
result in "i" not being converted to "I": at the moment,
Latin IME relies on having the suggestions evaluated
at the time autocorrection is performed, but when typing
very, very fast, those messages may have been canceled.
This is not limited to the autocorrection of "i", but
affects all autocorrections. It requires a nearly
inhumane typing speed to trigger, but hitting "i" and
space in turn as fast as one can it's possible to
reproduce occasionally.

Bug: 5135113
Change-Id: I530ea6212487300001a2c0fc5b25a5c7716bdf63
2011-09-01 12:59:17 +09:00
Jean Chalard a6e912cf98 Fix a bug with the string pool.
This also adds some optional debug code to detect more easily possible
future occurrences of the same problem.

Bug: 5195017
Change-Id: I2558b468e46f7090de868f1ec2dc9e24895d670f
2011-08-23 14:55:34 +09:00
Jean Chalard 6da8b74582 Move the dupes-removing method to the Utils class
This is preparation for bug: 5175740

Change-Id: I18b2042317f740cb1e021d3dfbf90ecfbb1a1d37
2011-08-19 19:49:59 +09:00
Jean Chalard 4e01afc520 Make the string builder pool in Suggest a singleton.
This is internal refactoring, done as preliminary work to fix
Bug: 5175740

Change-Id: I21bd4c001c27e7b925ddb87a152105b4dcab320a
2011-08-18 18:41:57 +09:00
Jean Chalard 3016863f86 Refactor string removal to make it static
The next step is to move this over to the Utils class.
The ultimate goal is to make use of the duplicate removal code
also in the spell checker as per
Bug: 5175740

Change-Id: Ica36691b843b0713b832c56ffc65e5b2ec427c4a
2011-08-18 15:16:59 +09:00
Jean Chalard 14051e2b53 Stop reloading contacts when not appropriate.
A recent change had the contacts reloaded every time a new field
is touched. This change not only fixes the problem, but also removes
reloading contacts when changing language, which should make language
switch within LatinIME lighter.

Bug: 5125034
Change-Id: Ia61c4f75a8617113cdce88a2e2c6fdf073146a2d
2011-08-09 12:49:19 +09:00