Commit Graph

256 Commits (17752016713b92a55e9c2356d07b7ed51c67416b)

Author SHA1 Message Date
Satoshi Kataoka 87cecf7db6 Log for geometric input
Change-Id: Ia0f0e38086b0be70cf2d04fc6fae48358f16e74f
2012-09-19 17:45:27 +09:00
Tadashi G. Takaoka f035649cb6 Asynchronously look up dictionary for gesture input
Bug: 7149248
Change-Id: Icba2db73508b89a85828ae9e196ab618e5e6c280
2012-09-14 02:12:11 -07:00
Jean Chalard 8c06a468e0 Stop auto-correcting non-whitelisted one-char strings
Bug: 7134017
Change-Id: I75cf474dedafda3e1683dd8f7740c13aafdcf5ab
2012-09-11 17:24:08 +09:00
Tadashi G. Takaoka 5f282ea9e4 Add CollectionUtils class to create generic collection easily
Change-Id: I6b4de9187e122298e5e9cd8ddc9070d062df6a89
2012-08-22 10:21:38 +09:00
Jean Chalard 1eba97d92f Treat all caps for gesture input.
Bug: 6950087
Change-Id: I9f2271780600572c9befa96c7ad98494c554dd2b
2012-08-21 20:29:53 +09:00
Jean Chalard adbd9ae105 Tell the shift mode to the word composer.
Bug: 6950087
Change-Id: Ifab9d6d075af398c6468d081216488712f8a53fb
2012-08-21 20:27:42 +09:00
Jean Chalard 46fc768e54 Remove the whitelist dictionary.
The functionality now lives in the binary dictionary.

This finalizes work on
Bug: 6906525

Change-Id: Id106d871e8afdf9afa886d2a30bea87ff89f2d24
2012-08-17 15:13:10 +09:00
Jean Chalard 3e43e6998e Remove access to the whitelist class.
...which becomes useless. It will be entirely removed in an
upcoming change.

Change-Id: I2f1d27f1eceda79454b01f21e057b98f2953131a
2012-08-17 13:01:25 +09:00
Satoshi Kataoka 3979f060f0 Step 28-A Introduce the session Id to getSuggestion
Change-Id: I39d9bf1a7c272eb16d6ed4698f52457579b40f10
2012-08-15 15:44:45 +09:00
Jean Chalard 7b258e512d Accept whitelisted entries from any source.
...not only the WhitelistDictionary.

Bug: 6906525
Change-Id: I7f181eb6936ec17bbccdc4e736fd09292af24e9c
2012-08-10 19:02:19 +09:00
Jean Chalard caed149b67 Optimization & Simplification
It's useless to do the whitelist lookup twice. Also, putting
this test out of this method will allow whitelist entries to
come from other sources.

Bug: 6906525
Change-Id: I4afe678cae6556d16642d155ce770fbf4e61ad49
2012-08-10 19:02:15 +09:00
Tadashi G. Takaoka 79eefda0d3 Add SuggestInitializationListener to BinaryDictionary.resetMainDict()
Change-Id: I4c01f172ddb2ca60fa6e604384610c90b76e5457
2012-08-08 15:55:26 +09:00
Jean Chalard e7c471a52f Don't auto-correct when there are digits.
Bug: 6667462
Change-Id: I796655f57c71c9f50ae6e38dd08b71df3998dbcf
2012-07-28 00:15:54 +09:00
Tadashi G. Takaoka 369e54cc33 Add Suggest initialization finish listener
Bug: 6860204
Change-Id: I1e4c03c99415cd9bdea5a8556ff4093c33f0f508
2012-07-25 09:55:22 +09:00
Tom Ouyang eea34598bf Merging minimal gesture input
Change-Id: Iee6ae48bb6309c2867b5d2e344fe7d86dfabd654
2012-07-13 19:32:18 +09:00
Jean Chalard 1343d27de3 Readability improvement (A117)
Change-Id: I6f8bb05a23edb40a079da60b7136170ec9043282
2012-07-12 15:58:16 +09:00
Jean Chalard 24a63b5537 Simplification (A116)
Change-Id: I97cf92a7b0dabc251dd241b24978ea00d1e5f047
2012-07-12 15:58:16 +09:00
Jean Chalard f5b55cb70c Compute variables closer to where they are used (A115)
This improves locality, it's better for readability/performance

Change-Id: Ibb1efaf86e362dd2c9398722d0da2144df96b333
2012-07-12 15:58:09 +09:00
Jean Chalard 2549b4978e Cleanup (A114)
Change-Id: I7e24e0aeae7c004cae310ae9f46cf90dac2d4d14
2012-07-12 15:09:57 +09:00
Jean Chalard 02f1c1534c Cleanup (A113)
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
2012-07-12 15:09:48 +09:00
Jean Chalard ae13061245 Simplification (A112)
If we are not composing a word, that isFirstCharCapitalized
and isAllUpperCase are guaranteed to return false.

Change-Id: Ic4a0be9574acf4653c729a9594f963f5bcf0c757
2012-07-12 14:30:33 +09:00
Jean Chalard d8afa2fbe1 Remove the ultimate code duplication (A111)
Change-Id: I7c76613df8f148feb02765f187db3ca6dc577977
2012-07-12 14:30:33 +09:00
Jean Chalard 3b57631b60 Resolve a TODO: bury some implementation detail in native (A110)
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
2012-07-12 14:30:30 +09:00
Tadashi G. Takaoka d82dcdc924 Add batch input dictionary lookup
Change-Id: I4da3c976838e8eb56c9ec80aafaaf54d759b7981
2012-07-10 20:01:28 +09:00
Jean Chalard 5e573a1f0a Remove a useless parameter (A91A)
Change-Id: I1d1758048649ef337875a5141d825569af7ad38c
2012-07-10 19:31:36 +09:00
Jean Chalard 82009901ea Add a consolidated method to the Dictionary interface (A85)
Change-Id: I5d79021e69cc738e3013e31764ab0a59e15decdf
2012-07-10 18:57:12 +09:00
Jean Chalard c677b0071d Enhance behavior consistency (A84)
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
2012-07-10 18:05:20 +09:00
Jean Chalard 1c6693a219 Refactoring for whitelist (A83)
Avoid special casing the whitelist dictionary by having it implement
the interface it pretends it implements

Change-Id: I8b873cb0f3fe13cefd32c8cb756a25c8ae16a2b4
2012-07-10 18:05:20 +09:00
Jean Chalard fb6eeeb35a Refactoring (A82)
The user history dictionary should be the one knowing it does not suggest words
beyond 2 characters, not Suggest.

Change-Id: Ie85ec6116eb495e0c7f51108e4620c5ae536f4bf
2012-07-10 18:05:20 +09:00
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