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