Jean Chalard
966efe4889
Fix a bug with suggestion behavior (A81)
...
Bug: 6788235
Change-Id: I5a4212872e0fd3f9e80168fd3abd5c2b3bc4110f
2012-07-10 18:05:19 +09:00
Jean Chalard
e9a86e2cdb
Search bigrams for the lower case version of the word (A46)
...
...if there aren't any for the exact case version.
Bug: 6752830
Change-Id: I2737148b01ba04a64febe009ceb2ef53c265d224
2012-07-04 20:12:58 +09:00
Jean Chalard
c5e911c06b
Consolidate a method inside another (A45)
...
It's simpler to check the safety net directly inside the
function that checks for auto-correction threshold.
This introduces one very slight change in behavior. The value
checked by the safety net is not any more the "typed word" but the
"considered word", the difference being any possibly appended
single quotes.
E.g. the user types "this'''" : the typed word is "this'''" but
the considered word is "this".
This change in behavior can be considered a bugfix.
Change-Id: Ia7ab4bc933183dfbd41bb00328e4c0b5ab76bc63
2012-07-04 11:51:51 +09:00
Jean Chalard
f72b8f5662
Move the safety net function to AutoCorrection (A44)
...
Change-Id: Iec791d061f237f60992dd6048c4a37b46f4cb9aa
2012-07-04 11:51:46 +09:00
Jean Chalard
4ca05e2474
Refactoring (A43)
...
Change-Id: Ib0b6f36999518096819ada2f19365767cb5f9931
2012-07-02 15:46:11 +09:00
Jean Chalard
7ad088a4cf
Remove useless code (A42)
...
If allowsAutoCorrected is false, there is no point in making
hasAutoCorrection true, since in the only place where we use
it again, it's &&'ed with allowsAutoCorrected !
Well that was extremely obscure, good thing refactoring allowed
to realize this was useless >.>
Change-Id: I34936d445f1ced17c7bd04a9524bf608f9e8b9c8
2012-07-02 15:46:08 +09:00
Jean Chalard
90d300c770
Clarify some code and fix a bug (A41)
...
The test against hasMainDictionary is a test to know if we should
auto-correct or not. Its result should be recorded in
hasAutoCorrection, not in allowsToBeAutoCorrected.
Actually, this value being inserted in allowsToBeAutoCorrected was
causing a bug that nobody noticed: when typing in a language with
no dictionary, the word in the middle of the suggestion strip would
always be bold, as if it was going to auto-correct to itself !
This change fixes this bug.
Change-Id: Ia1f08efd7089b9c5cbede910c5b0951d83e698d2
2012-07-02 15:46:03 +09:00
Jean Chalard
2631e3b195
Small refactoring (A39)
...
Change-Id: I3c45b5a6571f986acc7adb3a8fe17b210303f7ea
2012-07-02 15:45:58 +09:00
Jean Chalard
79f5317848
Match calls for future consolidation (A38)
...
Change-Id: I2b2ab99e801fa8b4b30eab16a8aefb8cfe104ba9
2012-07-02 15:45:54 +09:00
Jean Chalard
cd288620ea
Make the autocorrection scheme more straightforward (A37)
...
Change-Id: I4833ca7e057b8c1f1f22390673cbca0d2433b1bd
2012-07-02 15:45:34 +09:00
Jean Chalard
9011b89f4e
Remove cruft (A32)
...
Change-Id: I35c2ba4caf6be4ba0449e11c0597ae8e468c0e6e
2012-06-29 17:00:57 +09:00
Jean Chalard
2cda148fd5
Simplification (A31)
...
Change-Id: I9e4d030974ccec1a6256de6ca87610870e404149
2012-06-29 17:00:57 +09:00
Jean Chalard
deb2d88245
Small refactoring (A30)
...
Change-Id: I41b413986a3c5bb6697bb7bbced17ed1e361913c
2012-06-29 17:00:57 +09:00
Jean Chalard
0a63111821
Remove a useless parameter (A29)
...
Change-Id: I52625e707abf61da9b95e542f0814c66b532f483
2012-06-29 17:00:56 +09:00
Jean Chalard
9e0af57736
Optimization (A26)
...
Change-Id: I1d7790289635729645995fb8c38868259ab1b3be
2012-06-29 17:00:56 +09:00
Jean Chalard
7a94cbd2a4
Remove useless code (A25)
...
isWhitelistedOrNotAWord takes an 'ignoreCase' argument. By looking
at the contents of the wordcomposer here, there is only one case
where its output will be different : when the word is typed with a
capital, but the lower case version exists in the dictionary.
E.g. the user typed "This".
In this case, isWhitelistedOrNotAWord in line 235 will return false
instead of true, so the test will score a true instead of a false,
so hasAutoCorrection may be true instead of false in this specific
case and that's the only case where it's different.
But in this case, allowsToBeAutoCorrected is certain to be false,
which means the result will not have changed if hasAutoCorrection
was true in the first place. So in the end this change is sure not
to change the behavior.
Change-Id: Ic41cf959c20c19165f84d9b8ff006731fa595d84
2012-06-29 16:57:56 +09:00
Jean Chalard
b3cfde2cbb
Add a few comments for future reference (A24)
...
Change-Id: Ia356130b8a95ec9cf676bc6be05d801c13f14b64
2012-06-29 15:45:27 +09:00
Jean Chalard
e398c6c024
Rename a method for readability (A23)
...
Change-Id: I6f569322e645d36bc82fddf4ec2fd621972e3b47
2012-06-29 15:45:24 +09:00
Jean Chalard
ea578f6b1d
Revert a test for readability (A22)
...
Change-Id: I1df4cef5ae2736a22273843dce67f0012181bfd3
2012-06-29 15:44:55 +09:00
Jean Chalard
19d02c19d0
Remove a useless variable (A21)
...
Change-Id: I901e6b0e2b994128da19d68233b9f68bb308cb95
2012-06-29 15:44:17 +09:00
Jean Chalard
4d5e7235c5
Remove a useless variable (A20)
...
Change-Id: Ifc37462f5243563693c8cd7cbeb401ff054daa52
2012-06-29 15:12:51 +09:00
Jean Chalard
739683dcfb
Rename a method for readability (A19)
...
Change-Id: I0b8c06d1fd0bfb3caf363c048acc7048abed1752
2012-06-29 15:12:51 +09:00
Jean Chalard
31b346aac6
Remove a useless test (A18)
...
allowsToBeAutoCorrected always returns false if the word is empty.
This is because the whitelist never contains an empty string,
and isValidWord returns false if the word is empty.
Change-Id: I34ecc2a1563aea6db5b2f12796f251f6598576a2
2012-06-29 15:12:51 +09:00
Jean Chalard
b01cdb975a
Inline a method (A17)
...
This will allow us to remove unnecessary processing
Change-Id: I251dfdaffb077906186686ebe65fd82e1e360bd2
2012-06-29 15:12:51 +09:00
Jean Chalard
a96a11949f
Inline a simple method (A15)
...
Change-Id: Ib74fcbf33c680bf02c39a9896e30e3afbcfd149a
2012-06-29 15:12:51 +09:00
Jean Chalard
074c90af98
Inline a method (A14)
...
The new code is worse than the old one, but this is a necessary
step to make things prettier.
Change-Id: If6e8a139bb85e6920c749743c78792a22a8acb45
2012-06-29 15:12:51 +09:00
Jean Chalard
f89a75134b
Small readability improvement (A10)
...
Change-Id: Iba326921711e1c4eab38264e66b6b44a64fec398
2012-06-29 15:05:08 +09:00
Jean Chalard
5110e2cb51
Optimization (A8)
...
Change-Id: I2b9e8cc6a13fd9af84a5189e4d3fbb2b05c68d46
2012-06-29 12:54:11 +09:00
Jean Chalard
4847a27f74
Cleanup (A7)
...
Change-Id: Iba97e0062b702c005ab3ff9ce59f181d19ab7c98
2012-06-28 19:13:16 +09:00
Jean Chalard
ed83d4b143
Stop special-casing a single suggestion (A6)
...
Treat it like the others
Change-Id: Ic24e40ada0e75773c3ece9470ab61c350697be5d
2012-06-28 19:12:37 +09:00
Jean Chalard
251bb70f08
Cleanup (A5)
...
Change-Id: I06134145b47c46bbc6c340ca539f34a01e2ca163
2012-06-28 19:12:37 +09:00
Jean Chalard
4c4e3a0949
Transform the whitelist suggestion like the others (A4)
...
...instead of having a different code path
Change-Id: Icd177e2151e45d25300000d4b63d4fba1f52b6a8
2012-06-28 19:10:32 +09:00
Jean Chalard
33b3805e79
Small refactoring (A3)
...
This will help make upcoming changes clearer
Change-Id: Ida8d4935f7315e5da6007ad364124694da3112d0
2012-06-28 19:10:24 +09:00
Jean Chalard
b7cdafd78a
Don't pass everything to a function that needs only the head (A2)
...
Change-Id: Ic367836202ab8071c1a9a02eaf0651b0da947d51
2012-06-28 19:10:13 +09:00
Jean Chalard
2d2e348033
Use a TreeSet to sort suggestions instead of doing it by hand (A1)
...
Change-Id: I16ba39321107e87ad48a99c2410a15995a66f23c
2012-06-28 18:54:14 +09:00
Jean Chalard
10abf10c1f
Convert local members to local variables
...
Change-Id: I852787986c79502a4de7effe9c8281a4cf2d519d
2012-06-27 19:54:29 +09:00
Jean Chalard
3ecb2747b3
Optimization.
...
It's useless to do this for all suggestions including those
that will be ousted from the list.
Change-Id: I7bd63d783e21984a269e4b1ae17e9b9d8c0859e3
2012-06-27 18:55:43 +09:00
Jean Chalard
3705ef407b
Read the suggestion type from the suggestion
...
...instead of dirtily passing it from the dictionary loop
Change-Id: I92ddbd7451609b69f6d4dc31bf89d614423b2016
2012-06-27 18:18:35 +09:00
Jean Chalard
24eec0fa68
Remember the source dictionary for each suggestion.
...
Change-Id: I3c63372bd5572a479a67eaecfe8c8ea1cabc70d9
2012-06-27 18:17:28 +09:00
Jean Chalard
d8f0caa406
Move constants to a better place.
...
Change-Id: I5c27a3ed99b17f850e26a8503de16f001c7111c1
2012-06-27 18:08:08 +09:00
Jean Chalard
089c11a086
Cleanup
...
Change-Id: I575f22330bf6881af1d9a35f22b51b7bf2198113
2012-06-27 17:59:58 +09:00
Jean Chalard
b5afd3de0c
Remove unused stuff.
...
Change-Id: Ifd0d5b6978f76b841574a6e10157c32d0cd656b6
2012-06-27 17:44:16 +09:00
Jean Chalard
32ff2504a0
Update the prototype of onAddSuggestedWord - calling side.
...
We want to get rid of all those IDs in Latin IME.
Change-Id: Ibe08100a5e2976c80abb049889233b4047a686f3
2012-06-27 16:17:14 +09:00
Jean Chalard
56beb9e321
Use binarySearch instead of a hand-written linear search
...
Yay.
Change-Id: Icf686eb2d675da959f19edc856b521e6288dcea3
2012-06-27 14:17:29 +09:00
Jean Chalard
9da0027b38
Implement a comparator for SuggestedWordInfos.
...
Change-Id: Ic4b0ae05cd98a1aec5806c5e4b744158e73aea7a
2012-06-27 14:16:23 +09:00
Jean Chalard
4ef01c51f8
Merge "Remove some special casing"
2012-06-26 20:33:43 -07:00
Jean Chalard
7e49a2b6b8
Remove some special casing
...
This special casing is useless. If the word is the same as what
user typed, the scoring algorithm already ensures that it comes
out at the top. Actually, as is written in a comment here, code
executed later is actively relying on this suggestion having
the top score ! There is no need to test it for equalness and
inserting it at the top then.
Change-Id: I263a6de59b77ec72a2dcbb933361b8e16fca0681
2012-06-26 20:40:42 +09:00
Jean Chalard
a3f5f51ec4
Fix a bug where a log would mysteriously not work
...
Change-Id: I5ca77ed65e95a6d357215c0e730238fb463986bb
2012-06-26 20:36:51 +09:00
Jean Chalard
22657dcba0
Optimization.
...
We already had that computed
Change-Id: I2a9742eaee2e9db1f73aeddda7bae7e237b4d15c
2012-06-26 20:02:07 +09:00
Jean Chalard
ec8b27fe49
Cut out a method for clarity
...
Change-Id: I1dc668698a5cd840297e713a26a525f5e32d35d6
2012-06-26 19:49:01 +09:00
Jean Chalard
5953dc93cf
Avoid string conversions when possible.
...
Change-Id: Ibf5f3e40da55998364d0d835ecf283f32c80fcf5
2012-06-26 19:45:52 +09:00
Jean Chalard
bed514bd90
Simplify a method call.
...
Change-Id: Ieede787a13cef79353f13af52488ef3732ac9850
2012-06-26 19:33:16 +09:00
Jean Chalard
9433ce86b7
Refactor and squash long-standing bugs (A2)
...
This is awesome.
- Improve performance by stopping useless string/array conversions.
- Simplify method interface.
- Fix localization bugs - we now know our locale
- Fix bugs with surrogate code points
Bug: 4769095
Change-Id: I8a8ee224b713429ee0a4ce5bd52f1b63378cf56f
2012-06-26 19:12:07 +09:00
Jean Chalard
8e17f6d93a
Remember the locale in the Suggest object (A1)
...
This will be necessary for uppercasing and titlecasing words
correctly.
Change-Id: I0f446a4c82bc482240ff730a2ad6586a61571d6b
2012-06-26 18:55:18 +09:00
Jean Chalard
6cad198d9c
Remove a useless member (A2)
...
Change-Id: Ia727ffc2946352bbf79e0c97684f8fa98f428cef
2012-06-26 18:42:06 +09:00
Jean Chalard
0da9a7c094
Convert a member to a local variable (A1)
...
Change-Id: I9eab910989443704f83711cf4fb0070c5987a13a
2012-06-26 18:41:49 +09:00
Jean Chalard
f05392f213
Remove an unused method (A22)
...
Change-Id: I2195f365df1799c8b3b2a53670d1df535ab1a742
2012-06-26 17:59:04 +09:00
Jean Chalard
6234be1fe7
Simplification and optimization (A20)
...
Change-Id: Ia837e553ccfe67cd4303096290194a5186df059b
2012-06-26 17:59:04 +09:00
Jean Chalard
77e95e60bb
Preparation for a simplification (A19)
...
Change-Id: I4605a571faf5fbc68b18ce525d6019600bfa8cf7
2012-06-26 17:59:04 +09:00
Jean Chalard
0a79446531
Remove a meaningless separation (A18)
...
Change-Id: I267177044c7d7b0d9119839a11057b2bbf41f75f
2012-06-26 17:59:04 +09:00
Jean Chalard
61e7ec6587
Remove the Callback interface for simpler code. (A17)
...
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I009b54fc2e73cadca6734bdca074d033e81f6a2b
2012-06-26 17:58:52 +09:00
Jean Chalard
2f1b6c9ea4
Remove the callback argument to getBigrams() (A16)
...
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I7457ac04f8cd4019fb86c986725aae3de1b1a65e
2012-06-26 17:54:49 +09:00
Jean Chalard
60eed92dc3
Remove the callback argument to getWords() (A15)
...
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I919bf70a1213ab5d7c7a9e5715bd72a6e257148b
2012-06-26 17:36:47 +09:00
Jean Chalard
7830476022
Neutralize Suggest#addWords (A12)
...
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: Id923367342a62a650a5f1d38e2fa0e913030dca8
2012-06-26 17:36:47 +09:00
Jean Chalard
fd998bd37a
Refactoring (A11)
...
Change-Id: I86bd7587dd80773a51ba6db312ba55dc41e7c8c7
2012-06-26 17:36:47 +09:00
Jean Chalard
64dad2d5a9
Remove an unused method and inline another (A10)
...
Change-Id: Ifd71ce79711b0c15c7764e97351dbb1b8e4c0c2d
2012-06-26 17:36:47 +09:00
Jean Chalard
28eeb35d14
Merge the interface of two methods that do the same thing (A9)
...
Change-Id: Ia5701d713d0fd5bb646b54a03a1a5602dad0a9e6
2012-06-26 16:55:09 +09:00
Jean Chalard
17111afcd6
Remove useless code and storage (A6)
...
This is only used as temporary storage to be then added to
the other variable, relying on the fact that it is hopefully
sorted. It's better to just add it right away to the final
storage.
Change-Id: I5da702ac9dc579593ab21feb2021a01e5dfdf4dc
2012-06-26 16:39:32 +09:00
Jean Chalard
5e0545d69d
Remove a duplicate processing (A5)
...
This filtering is already done in native code. It's useless (and
costly) to do it again here.
Change-Id: Ide6794d7a8682a881f097f33e222f10d30f297bd
2012-06-26 16:37:05 +09:00
Satoshi Kataoka
7368009799
Change JNI for Gesture
...
Change-Id: I774a0052038d16677f60f7efa11fd266cb5f3088
2012-06-25 18:54:37 +09:00
Jean Chalard
0e8b1db948
Merge "Cleanup, part 6 (C6)"
2012-06-19 09:25:33 -07:00
Jean Chalard
c03bd090ea
Merge "Cleanup, part 4 (C4)"
2012-06-19 09:24:25 -07:00
Jean Chalard
bd765d3355
Merge "Cleanup, part 3 (C3)"
2012-06-19 09:24:00 -07:00
Jean Chalard
8b538807a3
Merge "Make a variable final (A2)"
2012-06-18 10:30:19 -07:00
Jean Chalard
0176faf6c0
Merge "Add a kind to the suggestion for bookkeeping (A1)"
2012-06-18 10:30:10 -07:00
Kurt Partridge
6080f6878b
Remove non-dictionary words and digit touch data.
...
Output to the ResearchLogger is now queued and only flushed if the word
the user was working on is a dictionary word.
multi-project commit with Ic713ec00777fbdcf4a937b3c77b995257e100fc7
Bug: 6188932
Change-Id: I9de15227ff51be23083d9096f1c1b3d83802fff7
2012-06-17 15:02:15 -07:00
Jean Chalard
c5f1d998c2
Cleanup, part 6 (C6)
...
Change-Id: I184f3a336278559df255c5d600a98fbba468a243
2012-06-16 10:52:49 +09:00
Jean Chalard
9b233ecef2
Cleanup, part 4 (C4)
...
Change-Id: I2821ae71ec49e4b6b512157d17b80198f74321e4
2012-06-16 10:51:04 +09:00
Jean Chalard
5475e92b3f
Cleanup, part 3 (C3)
...
Change-Id: Ib0be8dc26b6fa366a3dabeea940d466602073244
2012-06-16 10:46:18 +09:00
Jean Chalard
0998c48ac3
Make a variable final (A2)
...
This is never changed, and probably doesn't need to be.
It's public because it's going to be used elsewhere in a future
change
Change-Id: Iec8d65859c470de5e1fb0b05533356fbc3b8e91b
2012-06-16 03:10:54 +09:00
Jean Chalard
e7d2ee3ec3
Add a kind to the suggestion for bookkeeping (A1)
...
This will help for debug as well as serve as groundwork for
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I74d0a7b943fb22c514ad79dc064d69ddf336d3ef
2012-06-16 03:10:36 +09:00
Jean Chalard
67fd0c240d
Remove deprecated classes.
...
Should we maybe rename back *BinaryDict* to *Dict* in another
change for simplicity?
Change-Id: I8f7dcb78b9bdf1a13ce403a997fbb8619f2b453b
2012-06-08 17:12:15 +09:00
Jean Chalard
1b06b59e28
Fix a bug with a concurrent modification of a map.
...
Bug: 6538848
Change-Id: I1a8422356d9909213e53cfdc8c5bcc12eb48f19d
2012-05-24 19:38:04 +09:00
Tadashi G. Takaoka
b5db270962
Remove unused private method Suggest.searchBigramSuggestion
...
Change-Id: I077c4c019676fefb8eac6042bd7db1b7ab33ca03
2012-05-23 15:32:48 +09:00
satok
0028ed3627
Use "float" instead of "double"
...
Change-Id: I93ed4d88ede4058f081dd8d634b00dfff4e96d07
2012-05-16 20:45:05 +09:00
satok
f837b57bf5
Merge "Reorder suggestions result according to auto correction threshold" into jb-dev
2012-05-16 04:13:08 -07:00
satok
db1939dbaa
Reorder suggestions result according to auto correction threshold
...
Bug: 5413904
Change-Id: I3aa3a8109ba45d2129b58d8242866fd3dd3473cb
2012-05-16 19:58:48 +09:00
Jean Chalard
ed49e4d82e
Merge "Stop meaningless bigram computations" into jb-dev
2012-05-16 01:43:39 -07:00
Jean Chalard
f0e12a9699
Don't auto-correct when there is no main dictionary.
...
Bug: 6502485
Change-Id: I5803b0db8552867110587a1140fc03fc2e0eccef
2012-05-16 16:09:14 +09:00
Jean Chalard
a86c0f1ea4
Stop meaningless bigram computations
...
Bug: 6313806
Change-Id: Idf765b40812a43de13aa166ed0b44c7b5f7cc218
2012-05-15 16:34:17 +09:00
satok
0142b997bf
Do not set "SuggestionSpan"s for suggestions from the next word predicition
...
Bug: 6294817
Change-Id: I5010eafa5ba7e947743706adf7e722f4f0cfb415
2012-05-15 12:08:31 +09:00
Jean Chalard
4b5b46bb66
Don't autocorrect after suggestion resuming
...
Bug: 6105732
Change-Id: I92e7a9c6d6eb648f747c3b396d7993479fd8478a
2012-05-01 17:06:29 +09:00
Tom Ouyang
0806bb01d9
Binary bigram lookup checks both uppercase and lowercase when previous word is uppercase.
...
Bug: 6363029
Change-Id: I71a1ed5b88f54fcc15bfaf89d3645b8f17ebb821
2012-04-22 17:48:00 -07:00
Jean Chalard
ac27e4544b
Pass the previous word to getSuggestions
...
This is a preparative change to bug#6313806
Change-Id: I1be9ec49b21005c1f45ce459fa93712bc74ef3f0
2012-04-17 12:43:53 +09:00
Tom Ouyang
18222f8c86
Add a new binary contacts dictionary based on ExpandableBinaryDictionary and use locale for bigrams.
...
Bug: 6188977
Change-Id: I753422eed1effaeb5fd01124cf1ddd1e31ee9d60
2012-04-13 17:54:39 -07:00
Jean Chalard
e6269759d6
Read the dictionary resource in a more sensical place.
...
We don't need to pass this down all the way from LatinIME any more.
It fetched be done exactly where it needs to be.
Change-Id: I9f277f9c4f9de70ae755a1334d86c67bbb24c988
2012-04-11 21:03:21 +09:00
Jean Chalard
338d3ec725
Replace the flags in getSuggestions with a boolean.
...
Change-Id: I0ec44df1979cb1dc21017ea290d2151a2af0e7cd
Conflicts:
java/src/com/android/inputmethod/latin/Suggest.java
2012-04-06 19:34:48 +09:00
Jean Chalard
24aee9100e
Change the flags to a boolean in constructors.
...
Change-Id: I9939204f3b16346aaebd4d726315ba9c4faf910a
2012-04-06 19:33:01 +09:00
satok
7540fd009d
Merge "Fix the locale of the flags in BinaryDicitonary for tests"
2012-04-05 22:33:17 -07:00
Ken Wakasa
aa300bb73a
Don't draw red underline for manually picked words that came from bigram prediction
...
Change-Id: I544680c8b4b1baff71bd08168630a34e803c40b9
2012-04-05 20:50:27 +09:00