aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/Suggest.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add Suggest initialization finish listenerTadashi G. Takaoka2012-07-251-2/+16
| | | | | Bug: 6860204 Change-Id: I1e4c03c99415cd9bdea5a8556ff4093c33f0f508
* Merging minimal gesture inputTom Ouyang2012-07-131-1/+17
| | | | Change-Id: Iee6ae48bb6309c2867b5d2e344fe7d86dfabd654
* Readability improvement (A117)Jean Chalard2012-07-121-6/+3
| | | | Change-Id: I6f8bb05a23edb40a079da60b7136170ec9043282
* Simplification (A116)Jean Chalard2012-07-121-8/+6
| | | | Change-Id: I97cf92a7b0dabc251dd241b24978ea00d1e5f047
* Compute variables closer to where they are used (A115)Jean Chalard2012-07-121-4/+3
| | | | | | This improves locality, it's better for readability/performance Change-Id: Ibb1efaf86e362dd2c9398722d0da2144df96b333
* Cleanup (A114)Jean Chalard2012-07-121-3/+4
| | | | Change-Id: I7e24e0aeae7c004cae310ae9f46cf90dac2d4d14
* Cleanup (A113)Jean Chalard2012-07-121-1/+1
| | | | | | | | | | | | | If not composing a word, then consideredWord is always the empty string. Hence, it's never whitelisted, but it's also always "NotAWord", so isWhitelistedOrNotAWord returns always true, so allowsToBeAutoCorrected is always true. Which means that isPrediction implies allowsToBeAutoCorrected == true. Thus, !isPrediction && !allowsToBeAutoCorrected is strictly equivalent to !allowsToBeAutocorrected. Change-Id: I4ad7a7c3447851c539646d97cf55ff065e6ee115
* Simplification (A112)Jean Chalard2012-07-121-3/+2
| | | | | | | If we are not composing a word, that isFirstCharCapitalized and isAllUpperCase are guaranteed to return false. Change-Id: Ic4a0be9574acf4653c729a9594f963f5bcf0c757
* Remove the ultimate code duplication (A111)Jean Chalard2012-07-121-14/+5
| | | | Change-Id: I7c76613df8f148feb02765f187db3ca6dc577977
* Resolve a TODO: bury some implementation detail in native (A110)Jean Chalard2012-07-121-6/+4
| | | | | | | The fact that prediction does not accept a null argument is an implementation detail, it should not be visible to Java code. Change-Id: I3a156b323b6db9353de898d33f3f7c81751cecb1
* Add batch input dictionary lookupTadashi G. Takaoka2012-07-101-2/+44
| | | | Change-Id: I4da3c976838e8eb56c9ec80aafaaf54d759b7981
* Remove a useless parameter (A91A)Jean Chalard2012-07-101-4/+2
| | | | Change-Id: I1d1758048649ef337875a5141d825569af7ad38c
* Add a consolidated method to the Dictionary interface (A85)Jean Chalard2012-07-101-3/+3
| | | | Change-Id: I5d79021e69cc738e3013e31764ab0a59e15decdf
* Enhance behavior consistency (A84)Jean Chalard2012-07-101-11/+12
| | | | | | | | Use the word the same way for suggestion and prediction. It makes little logical sense that the trailing single quotes be removed for suggestion lookup but not for prediction lookup. Change-Id: I0de4b5f7c5b4c1b4ba1817ff9653d7c03967146d
* Refactoring for whitelist (A83)Jean Chalard2012-07-101-3/+0
| | | | | | | Avoid special casing the whitelist dictionary by having it implement the interface it pretends it implements Change-Id: I8b873cb0f3fe13cefd32c8cb756a25c8ae16a2b4
* Refactoring (A82)Jean Chalard2012-07-101-3/+2
| | | | | | | The user history dictionary should be the one knowing it does not suggest words beyond 2 characters, not Suggest. Change-Id: Ie85ec6116eb495e0c7f51108e4620c5ae536f4bf
* Fix a bug with suggestion behavior (A81)Jean Chalard2012-07-101-2/+7
| | | | | Bug: 6788235 Change-Id: I5a4212872e0fd3f9e80168fd3abd5c2b3bc4110f
* 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