aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/Suggest.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Search bigrams for the lower case version of the word (A46)Jean Chalard2012-07-041-10/+0
| | | | | | | ...if there aren't any for the exact case version. Bug: 6752830 Change-Id: I2737148b01ba04a64febe009ceb2ef53c265d224
* Consolidate a method inside another (A45)Jean Chalard2012-07-041-2/+1
| | | | | | | | | | | | | | | 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
* Move the safety net function to AutoCorrection (A44)Jean Chalard2012-07-041-37/+1
| | | | Change-Id: Iec791d061f237f60992dd6048c4a37b46f4cb9aa
* Refactoring (A43)Jean Chalard2012-07-021-3/+3
| | | | Change-Id: Ib0b6f36999518096819ada2f19365767cb5f9931
* Remove useless code (A42)Jean Chalard2012-07-021-5/+0
| | | | | | | | | | | 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
* Clarify some code and fix a bug (A41)Jean Chalard2012-07-021-10/+13
| | | | | | | | | | | | | | 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
* Small refactoring (A39)Jean Chalard2012-07-021-14/+14
| | | | Change-Id: I3c45b5a6571f986acc7adb3a8fe17b210303f7ea
* Match calls for future consolidation (A38)Jean Chalard2012-07-021-3/+3
| | | | Change-Id: I2b2ab99e801fa8b4b30eab16a8aefb8cfe104ba9
* Make the autocorrection scheme more straightforward (A37)Jean Chalard2012-07-021-1/+1
| | | | Change-Id: I4833ca7e057b8c1f1f22390673cbca0d2433b1bd
* Remove cruft (A32)Jean Chalard2012-06-291-7/+1
| | | | Change-Id: I35c2ba4caf6be4ba0449e11c0597ae8e468c0e6e
* Simplification (A31)Jean Chalard2012-06-291-6/+2
| | | | Change-Id: I9e4d030974ccec1a6256de6ca87610870e404149
* Small refactoring (A30)Jean Chalard2012-06-291-4/+4
| | | | Change-Id: I41b413986a3c5bb6697bb7bbced17ed1e361913c
* Remove a useless parameter (A29)Jean Chalard2012-06-291-1/+0
| | | | Change-Id: I52625e707abf61da9b95e542f0814c66b532f483
* Optimization (A26)Jean Chalard2012-06-291-9/+2
| | | | Change-Id: I1d7790289635729645995fb8c38868259ab1b3be
* Remove useless code (A25)Jean Chalard2012-06-291-4/+1
| | | | | | | | | | | | | | | | | | | | 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
* Add a few comments for future reference (A24)Jean Chalard2012-06-291-0/+6
| | | | Change-Id: Ia356130b8a95ec9cf676bc6be05d801c13f14b64
* Rename a method for readability (A23)Jean Chalard2012-06-291-1/+1
| | | | Change-Id: I6f569322e645d36bc82fddf4ec2fd621972e3b47
* Revert a test for readability (A22)Jean Chalard2012-06-291-14/+12
| | | | Change-Id: I1df4cef5ae2736a22273843dce67f0012181bfd3
* Remove a useless variable (A21)Jean Chalard2012-06-291-4/+4
| | | | Change-Id: I901e6b0e2b994128da19d68233b9f68bb308cb95
* Remove a useless variable (A20)Jean Chalard2012-06-291-6/+4
| | | | Change-Id: Ifc37462f5243563693c8cd7cbeb401ff054daa52
* Rename a method for readability (A19)Jean Chalard2012-06-291-2/+2
| | | | Change-Id: I0b8c06d1fd0bfb3caf363c048acc7048abed1752
* Remove a useless test (A18)Jean Chalard2012-06-291-2/+2
| | | | | | | | 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
* Inline a method (A17)Jean Chalard2012-06-291-1/+2
| | | | | | This will allow us to remove unnecessary processing Change-Id: I251dfdaffb077906186686ebe65fd82e1e360bd2
* Inline a simple method (A15)Jean Chalard2012-06-291-1/+1
| | | | Change-Id: Ib74fcbf33c680bf02c39a9896e30e3afbcfd149a
* Inline a method (A14)Jean Chalard2012-06-291-4/+11
| | | | | | | The new code is worse than the old one, but this is a necessary step to make things prettier. Change-Id: If6e8a139bb85e6920c749743c78792a22a8acb45
* Small readability improvement (A10)Jean Chalard2012-06-291-1/+3
| | | | Change-Id: Iba326921711e1c4eab38264e66b6b44a64fec398
* Optimization (A8)Jean Chalard2012-06-291-9/+13
| | | | Change-Id: I2b9e8cc6a13fd9af84a5189e4d3fbb2b05c68d46
* Cleanup (A7)Jean Chalard2012-06-281-4/+2
| | | | Change-Id: Iba97e0062b702c005ab3ff9ce59f181d19ab7c98
* Stop special-casing a single suggestion (A6)Jean Chalard2012-06-281-13/+12
| | | | | | Treat it like the others Change-Id: Ic24e40ada0e75773c3ece9470ab61c350697be5d
* Cleanup (A5)Jean Chalard2012-06-281-17/+0
| | | | Change-Id: I06134145b47c46bbc6c340ca539f34a01e2ca163
* Transform the whitelist suggestion like the others (A4)Jean Chalard2012-06-281-16/+7
| | | | | | ...instead of having a different code path Change-Id: Icd177e2151e45d25300000d4b63d4fba1f52b6a8
* Small refactoring (A3)Jean Chalard2012-06-281-6/+8
| | | | | | This will help make upcoming changes clearer Change-Id: Ida8d4935f7315e5da6007ad364124694da3112d0
* Don't pass everything to a function that needs only the head (A2)Jean Chalard2012-06-281-1/+3
| | | | Change-Id: Ic367836202ab8071c1a9a02eaf0651b0da947d51
* Use a TreeSet to sort suggestions instead of doing it by hand (A1)Jean Chalard2012-06-281-28/+8
| | | | Change-Id: I16ba39321107e87ad48a99c2410a15995a66f23c
* Convert local members to local variablesJean Chalard2012-06-271-17/+13
| | | | Change-Id: I852787986c79502a4de7effe9c8281a4cf2d519d
* Optimization.Jean Chalard2012-06-271-7/+11
| | | | | | | It's useless to do this for all suggestions including those that will be ousted from the list. Change-Id: I7bd63d783e21984a269e4b1ae17e9b9d8c0859e3
* Read the suggestion type from the suggestionJean Chalard2012-06-271-4/+5
| | | | | | ...instead of dirtily passing it from the dictionary loop Change-Id: I92ddbd7451609b69f6d4dc31bf89d614423b2016
* Remember the source dictionary for each suggestion.Jean Chalard2012-06-271-5/+7
| | | | Change-Id: I3c63372bd5572a479a67eaecfe8c8ea1cabc70d9
* Move constants to a better place.Jean Chalard2012-06-271-17/+9
| | | | Change-Id: I5c27a3ed99b17f850e26a8503de16f001c7111c1
* CleanupJean Chalard2012-06-271-17/+8
| | | | Change-Id: I575f22330bf6881af1d9a35f22b51b7bf2198113
* Remove unused stuff.Jean Chalard2012-06-271-24/+0
| | | | Change-Id: Ifd0d5b6978f76b841574a6e10157c32d0cd656b6
* Update the prototype of onAddSuggestedWord - calling side.Jean Chalard2012-06-271-10/+6
| | | | | | We want to get rid of all those IDs in Latin IME. Change-Id: Ibe08100a5e2976c80abb049889233b4047a686f3
* Use binarySearch instead of a hand-written linear searchJean Chalard2012-06-271-9/+5
| | | | | | Yay. Change-Id: Icf686eb2d675da959f19edc856b521e6288dcea3
* Implement a comparator for SuggestedWordInfos.Jean Chalard2012-06-271-4/+18
| | | | Change-Id: Ic4b0ae05cd98a1aec5806c5e4b744158e73aea7a
* Merge "Remove some special casing"Jean Chalard2012-06-261-27/+10
|\
| * Remove some special casingJean Chalard2012-06-261-27/+10
| | | | | | | | | | | | | | | | | | | | | | 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
* | Fix a bug where a log would mysteriously not workJean Chalard2012-06-261-3/+2
|/ | | | Change-Id: I5ca77ed65e95a6d357215c0e730238fb463986bb
* Optimization.Jean Chalard2012-06-261-2/+2
| | | | | | We already had that computed Change-Id: I2a9742eaee2e9db1f73aeddda7bae7e237b4d15c
* Cut out a method for clarityJean Chalard2012-06-261-13/+25
| | | | Change-Id: I1dc668698a5cd840297e713a26a525f5e32d35d6
* Avoid string conversions when possible.Jean Chalard2012-06-261-4/+4
| | | | Change-Id: Ibf5f3e40da55998364d0d835ecf283f32c80fcf5