Commit graph

3218 commits

Author SHA1 Message Date
Tadashi G. Takaoka
5c98206dc5 Merge "Use Keyboard.getKey" 2012-07-04 01:12:02 -07:00
Tadashi G. Takaoka
adc80eef15 Use Keyboard.getKey
Change-Id: I722b9e981389f660db928b7fd5ced1b82371fbf3
2012-07-04 16:31:57 +09:00
Tadashi G. Takaoka
040aa28ed4 Merge "Get rid of redundant CharSequence member from SuggestedWordInfo" 2012-07-04 00:27:07 -07:00
Tadashi G. Takaoka
f3897fb54e Get rid of redundant CharSequence member from SuggestedWordInfo
Change-Id: Ie8792f4f5d3593c25c992fc72cf219daeaa70beb
2012-07-04 16:04:59 +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
accd63f35f Merge "Refactoring (A43)" 2012-07-03 19:40:19 -07:00
Jean Chalard
b87b23eb75 Merge "Remove useless code (A42)" 2012-07-02 18:56:41 -07:00
Jean Chalard
6547f43666 Merge "Clarify some code and fix a bug (A41)" 2012-07-02 18:52:56 -07:00
Jean Chalard
d6496c0913 Merge "Fix a bug with the user dictionary locale." 2012-07-02 02:57:50 -07:00
Jean Chalard
d113fd0be4 Fix a bug with the user dictionary locale.
We internally use the string "zz" to mean no locale, but
the user dictionary service does not understand that and
words added with this locale pitifully end being added to
a "zz" user dictionary, which makes no sense to the user.
This change fixes things so that words added when the
keyboard is in a "no locale" layout, the words are added
to the global, all-locales user dictionary.

Bug: 6645306
Change-Id: Iec3cdd1fe3d5bc43427a43ef9ae9bf89e12be1f2
2012-07-02 17:14:47 +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
aba432bf8d Remove a duplicate method (A36)
Bug: 6705473
Change-Id: Ib6260034b09739b60071e90a018b2dc6be3815d7
2012-07-02 12:12:16 +09:00
Jean Chalard
84074cf503 Update log and make a variable private (A35).
Change-Id: Ib4a8f41dc5941bce46402e1a41a6c21dccb0601f
2012-07-02 12:11:27 +09:00
Jean Chalard
1842fbba93 Remove old debug code that has been long broken (A34)
Change-Id: I9b5a0e34529724984aad1e2bf99b3e00f8ed0dd7
2012-06-29 19:47:00 +09:00
Satoshi Kataoka
105069a15f Merge "Add input pointers" 2012-06-29 03:03:01 -07:00
Satoshi Kataoka
71538b08e4 Add input pointers
Change-Id: I95300bf0a847fb86d026e846ff4ad723bb45284f
2012-06-29 18:58:51 +09:00
Jean Chalard
f2af726f79 Merge "Add a more synthetic variable (A33)" 2012-06-29 02:22:05 -07:00
Jean Chalard
aa246f23ce Merge "Remove cruft (A32)" 2012-06-29 02:12:47 -07:00
Jean Chalard
defc2e2efa Merge "Simplification (A31)" 2012-06-29 02:09:16 -07:00
Jean Chalard
7a6ac44f5f Merge "Small refactoring (A30)" 2012-06-29 02:09:06 -07:00
Tadashi G. Takaoka
e0b7359126 Merge "Use SparseArray<E> instead of HashMap<Integer,E>" 2012-06-29 02:05:39 -07:00
Tadashi G. Takaoka
56853c1e48 Use SparseArray<E> instead of HashMap<Integer,E>
Change-Id: Id962e670ee1a5164e6c69deb84625139bf5e7974
2012-06-29 17:56:31 +09:00
Jean Chalard
1b2e2d893d Add a more synthetic variable (A33)
The goal here is to disambiguate TypedWordValid and
HasAutoCorrectionCandidate. Ultimately, HasAutoCorrectionCandidate
will disappear.

Bug: 6705473
Change-Id: I1acbd0a5efc7f4bf7b0bdb12839fe3d84e9d1dda
2012-06-29 17:00:57 +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
4f444410f2 Remove a useless variable (A28)
Change-Id: I1058123d233540fb72a94028987a43740224f635
2012-06-29 17:00:56 +09:00
Jean Chalard
f4267c0521 Fix a small bug (A27)
TypedWordValid and AllowsToBeAutoCorrected are almost the
same thing; the difference is whether the word is also a
whitelist entry or not. In this case, TypedWordValid was
the right one to test.

Change-Id: I695fe5b9f6bbe9d3ba314c646da3a25742c9f4ed
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
1333579b4b Don't special-case 1-letter words (A13)
There is no reason to prevent 1-letter words to auto-correct
to themselves, or to dictionary words. Don't do it.

Change-Id: Iceada847ae632336026ada29afed0353cd9c51b5
2012-06-29 15:12:51 +09:00
Jean Chalard
4d5e7235c5 Remove a useless variable (A20)
Change-Id: Ifc37462f5243563693c8cd7cbeb401ff054daa52
2012-06-29 15:12:51 +09:00
Jean Chalard
d426941ee8 Fix a theoretical bug (A12)
If a word is a dictionary word but still has no suggestion,
this method should return true. In the practice, it makes
no difference since a word without suggestion won't be changed
anyway.

Change-Id: Ib1f5ef254b7da7e5cedb2f973529ad431beb93f9
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
42dde06782 Make a function a one-liner (A16)
...to better inline it

Change-Id: I88496b8f18b81f0c05e4bbf2d1039de1f93e0c25
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