Commit Graph

4890 Commits (2474b37abd315f5d8123f5145393de00ccf3a547)

Author SHA1 Message Date
Jean Chalard b1dc8ad5f2 Simplification (A60)
Change-Id: I99e912d3edfc7dd3f17ee835331d5fcba976750c
2012-07-06 13:07:48 +09:00
Jean Chalard 663dbfd1cc Simplification & UI improvement (A59)
The responsivity is better like this. This does not seem to
feel slow as the previous comment seemed to indicate.

Also remove a stale comment.

Change-Id: I4e7bf9fe28716e112db182e44b3fa88ee4526bb4
2012-07-06 13:07:48 +09:00
Jean Chalard 746e014eb5 Show predictions in the right cases (A58)
After reverting an auto-correct we always have a separator after
the previously inserted word, and the cursor is never touching
a word. Showing predictions is the right thing to do, while
calling postUpdateSuggestions will invariably yield an invariably
blank suggestion strip, which is not very helpful.

Likewise, after we pick a suggestion, we should be showing the
predictions unless showing the addToDictionary hint. There was
a bug here in the corner case that the word would be a candidate
for user dictionary, but the user dictionary provider is not
available: in this case we should be showing predictions, but
we were showing an unhelpful empty suggestion bar.

Change-Id: I287bb5eb4af762bd5a433e85e185fab6d203e91a
2012-07-06 13:07:48 +09:00
Jean Chalard 0e9e7e337d Cleanup (A57)
We stopped cancelling manual picks a few weeks ago. This code
is dead.

Change-Id: I4032fcc3c95e9379f1839fe860a1b8a9bd7d0bc7
2012-07-06 13:07:30 +09:00
Jean Chalard 29eeef75ec Merge "Fix a bug where the caps mode would not be changed" 2012-07-05 19:11:28 -07:00
Jean Chalard f254e3fec7 Fix a bug where the caps mode would not be changed
Bug: 6766059
Change-Id: I378f9d35c4904c4f373260bda5863235d833eb31
2012-07-06 11:08:20 +09:00
Jean Chalard d81e7d24d3 Simplification (A56)
If suggestion and prediction messages both happen to be in
the queue, the latest one will win (update the suggestion strip
later than the other, overwriting any previous suggestions).
So when we enqueue either one, it is always safe to cancel
all messages of both types.

Change-Id: Iad9dd06d08c49f60cac16b88edcc9531a18ec02e
2012-07-05 18:19:51 +09:00
Jean Chalard 414f14436e Remove an unused method (A55)
Change-Id: I9974b88923b85cd6bec74f7607067c660f36f040
2012-07-05 18:10:37 +09:00
Jean Chalard c84f178cd9 Merge "Remove a useless method, rename another. (A54)" 2012-07-05 02:05:50 -07:00
Tadashi G. Takaoka 92d2f7e03b Merge "Initialize SubtypeLocale from Settings" 2012-07-05 02:04:35 -07:00
Jean Chalard 792e7ddc24 Merge "Remove a redundant test (A53)" 2012-07-05 01:57:04 -07:00
Jean Chalard 9636735c0a Merge "Small simplification (A52)" 2012-07-05 01:56:55 -07:00
Jean Chalard 21524c755c Merge "Put some more code in common (A51)" 2012-07-05 01:50:44 -07:00
Jean Chalard 71d7fc91b7 Merge "Pull up a common variable into the wrapping method (A50)" 2012-07-05 01:47:59 -07:00
Jean Chalard ac3ad6ef9f Merge "Factorize some common code (A49)" 2012-07-05 01:45:08 -07:00
Tadashi G. Takaoka d6ac0443f0 Initialize SubtypeLocale from Settings
Bug: 6781106
Change-Id: I22f04af4fabf93346ab6f72c1841f096afaccb96
2012-07-05 17:39:30 +09:00
Tadashi G. Takaoka 15d3532170 Merge "Fix tab key's navigation behavior" 2012-07-05 01:24:00 -07:00
Jean Chalard 3d8e7a62fc Remove a useless method, rename another. (A54)
Change-Id: If36b5375b04f68deeb72bcece3cb8d37aed57f59
2012-07-05 17:22:15 +09:00
Jean Chalard 0783366036 Remove a redundant test (A53)
Change-Id: If711074fdcb586e35d02e421c845f2c9024ca718
2012-07-05 17:22:04 +09:00
Jean Chalard 4cba560dbb Small simplification (A52)
Change-Id: I56bc5b9b584de5a14b41fc32c19f7fefb3b12e88
2012-07-05 17:22:00 +09:00
Jean Chalard ea80794dd4 Put some more code in common (A51)
Change-Id: If1589e29728df20713c75e08df7f47f0de9202d4
2012-07-05 17:21:55 +09:00
Jean Chalard cbfd2e1fdb Pull up a common variable into the wrapping method (A50)
Change-Id: I0b62098308169b5c44ced25ffb902766e3732fbf
2012-07-05 17:21:51 +09:00
Jean Chalard 7ed22f1f72 Factorize some common code (A49)
Also add some comment to clarify what's happening inside those
methods

Change-Id: I5b9b1e105b3145f0b050f35d12c5b6ca6e4a4d8c
2012-07-05 17:21:44 +09:00
Tadashi G. Takaoka b28934adac Fix tab key's navigation behavior
Bug: 6435484
Change-Id: Iffe459c117ad438e96ec6f5c7e64fb80b32d227e
2012-07-05 16:57:14 +09:00
Tadashi G. Takaoka 133bb8544a Merge "Fix upper case Eszett more key" 2012-07-05 00:52:08 -07:00
Tadashi G. Takaoka 5946838b8e Fix upper case Eszett more key
Bug: 6773873
Change-Id: I1a533c729c312a53663fb142cb6fcb4915b53206
2012-07-05 16:13:52 +09:00
Jean Chalard 0726f466f7 Merge "Add a wrapper to updateSuggestions / Predictions (A48)" 2012-07-04 21:08:21 -07:00
Tadashi G. Takaoka 7aeb7ef1ab Merge "Fix Keyboard.getKey as thread safe" 2012-07-04 19:58:17 -07:00
Tadashi G. Takaoka 8f6c603b3b Fix Keyboard.getKey as thread safe
This is a follow up of Id962e670.

Change-Id: I9e8542bff9e8faf57f934051fe612463c99ad61f
2012-07-05 11:43:43 +09:00
Jean Chalard e47c728dd5 Add a wrapper to updateSuggestions / Predictions (A48)
The goal is to have those converge, as they contain almost 100%
duplicated code.

Change-Id: I6921791d47efce9fb396efd9626839d706664a91
2012-07-05 11:10:04 +09:00
Jean Chalard 7b40c68277 Refactoring which will help with future changes (A47)
Change-Id: Ibc2d28f9f95966f77d4d7bdf9ae4688baaed5989
2012-07-05 11:10:02 +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 4bcf70c931 Fix a bad interaction with mmap
Bug: 6761221
Change-Id: I7e6d98dc9d7cb34a6163c3957e401ff97abb975c
2012-07-04 17:57:06 +09:00
Tadashi G. Takaoka ac3bd96192 Merge "Remove WordComposer.add(int, int, int, KeyDetector) method" 2012-07-04 01:48:42 -07:00
Tadashi G. Takaoka 5c641a9f59 Remove WordComposer.add(int, int, int, KeyDetector) method
Change-Id: Ie6af46acba18a2d1cf3ddd1578d60ded4c90f89a
2012-07-04 17:29:47 +09:00
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
Ying Wang b0593636b1 Import translations. DO NOT MERGE
Change-Id: I9c9bbd6dda1e978e29e985296cb624035d45497d
Auto-generated-cl: translation import
2012-07-03 14:21:10 -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
Eric Fischer d0ba95678e Import translations. DO NOT MERGE
Change-Id: I13c7109bb886ef2860cbb4fc24650dd2b8badbcb
Auto-generated-cl: translation import
2012-07-02 14:37:28 -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 bd1d711488 Merge "Remove a duplicate method (A36)" 2012-07-01 22:36:38 -07:00
Jean Chalard 654d5ba165 Merge "Update log and make a variable private (A35)." 2012-07-01 22:30:36 -07:00
Jean Chalard 3ca3afe971 Merge "Update dictionaries." 2012-07-01 20:55:47 -07: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
Ying Wang 26c45718a5 Import translations. DO NOT MERGE
Change-Id: I1c7b1b7877fdbf6963b7a034a8ec197004f97b0e
Auto-generated-cl: translation import
2012-06-29 14:05:31 -07: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
Jean Chalard 6f7b1ff468 Update dictionaries.
- English : some words caught through regression tests
- English : some words externally reported
- French : some words externally reported
- French : finished review of all accented words

Bug: 6726969
Bug: 6730031
Change-Id: I37d0dc310db2c79e03ac7ad452391e92d9b13357
2012-06-29 19:30:01 +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 9e0af57736 Optimization (A26)
Change-Id: I1d7790289635729645995fb8c38868259ab1b3be
2012-06-29 17:00:56 +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 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
Jean Chalard 9701b360d9 Rename a terribly-named method for clarity (A11)
Change-Id: Id180000404dc6929d80f98c0e9cd2026230ad2d1
2012-06-29 15:12:50 +09:00
Jean Chalard 6b911c27a3 Merge "Small readability improvement (A10)" 2012-06-28 23:11:23 -07:00
Jean Chalard f89a75134b Small readability improvement (A10)
Change-Id: Iba326921711e1c4eab38264e66b6b44a64fec398
2012-06-29 15:05:08 +09:00
Jean Chalard 305326e789 Refactoring and add debug prints (A9)
Change-Id: I46497bff107f0def0dfa2b043b20d9a0b0cde040
2012-06-29 14:24:54 +09:00
Jean Chalard 5110e2cb51 Optimization (A8)
Change-Id: I2b9e8cc6a13fd9af84a5189e4d3fbb2b05c68d46
2012-06-29 12:54:11 +09:00
Ken Wakasa 8fcd7694ae Update LatinIME native Makefile for gesture code
Also, a small clean up in the proguard.flags file

Change-Id: I860034c51a2abf448f7ecc250ed35687b1f1dd82
2012-06-29 00:06:14 +09:00
Jean Chalard 4847a27f74 Cleanup (A7)
Change-Id: Iba97e0062b702c005ab3ff9ce59f181d19ab7c98
2012-06-28 19:13:16 +09:00
Jean Chalard ed83d4b143 Stop special-casing a single suggestion (A6)
Treat it like the others

Change-Id: Ic24e40ada0e75773c3ece9470ab61c350697be5d
2012-06-28 19:12:37 +09:00
Jean Chalard 251bb70f08 Cleanup (A5)
Change-Id: I06134145b47c46bbc6c340ca539f34a01e2ca163
2012-06-28 19:12:37 +09:00
Jean Chalard 4c4e3a0949 Transform the whitelist suggestion like the others (A4)
...instead of having a different code path

Change-Id: Icd177e2151e45d25300000d4b63d4fba1f52b6a8
2012-06-28 19:10:32 +09:00
Jean Chalard 33b3805e79 Small refactoring (A3)
This will help make upcoming changes clearer

Change-Id: Ida8d4935f7315e5da6007ad364124694da3112d0
2012-06-28 19:10:24 +09:00
Jean Chalard b7cdafd78a Don't pass everything to a function that needs only the head (A2)
Change-Id: Ic367836202ab8071c1a9a02eaf0651b0da947d51
2012-06-28 19:10:13 +09:00
Jean Chalard 09b30ac954 Merge "Use a TreeSet to sort suggestions instead of doing it by hand (A1)" 2012-06-28 03:08:26 -07:00
Jean Chalard 2d2e348033 Use a TreeSet to sort suggestions instead of doing it by hand (A1)
Change-Id: I16ba39321107e87ad48a99c2410a15995a66f23c
2012-06-28 18:54:14 +09:00
Tadashi G. Takaoka 69527d4d60 am 5e5cf045: am 7f7947c9: Keep subtypes in method.xml the same as pre-JellyBean
* commit '5e5cf045ca6debafcc29ae1c47afda4a3a152326':
  Keep subtypes in method.xml the same as pre-JellyBean
2012-06-27 21:58:53 -07:00
Tadashi G. Takaoka 7f7947c97b Keep subtypes in method.xml the same as pre-JellyBean
This change prevents Android Keyboard subtypes being mistakenly
disabled when upgrading from pre-JellyBean to JellyBean.

Bug: 6750906
Change-Id: I05de6c512e7aa17356e415476e5248986c7d4253
2012-06-28 13:44:09 +09:00
Ying Wang ca5449bf4f Import translations. DO NOT MERGE
Change-Id: I3d022f22729b758a73352f0e7361e3aead0ef062
2012-06-27 17:16:15 -07:00
Jean Chalard 10abf10c1f Convert local members to local variables
Change-Id: I852787986c79502a4de7effe9c8281a4cf2d519d
2012-06-27 19:54:29 +09:00
Jean Chalard 3ecb2747b3 Optimization.
It's useless to do this for all suggestions including those
that will be ousted from the list.

Change-Id: I7bd63d783e21984a269e4b1ae17e9b9d8c0859e3
2012-06-27 18:55:43 +09:00
Jean Chalard 3705ef407b Read the suggestion type from the suggestion
...instead of dirtily passing it from the dictionary loop

Change-Id: I92ddbd7451609b69f6d4dc31bf89d614423b2016
2012-06-27 18:18:35 +09:00
Jean Chalard 24eec0fa68 Remember the source dictionary for each suggestion.
Change-Id: I3c63372bd5572a479a67eaecfe8c8ea1cabc70d9
2012-06-27 18:17:28 +09:00
Jean Chalard d8f0caa406 Move constants to a better place.
Change-Id: I5c27a3ed99b17f850e26a8503de16f001c7111c1
2012-06-27 18:08:08 +09:00
Jean Chalard 089c11a086 Cleanup
Change-Id: I575f22330bf6881af1d9a35f22b51b7bf2198113
2012-06-27 17:59:58 +09:00
Jean Chalard b5afd3de0c Remove unused stuff.
Change-Id: Ifd0d5b6978f76b841574a6e10157c32d0cd656b6
2012-06-27 17:44:16 +09:00
Jean Chalard 05efe576f9 Cleanup the dictionary type.
Stop storing an int in each of the different class types, and
just store a string in the top class.

Change-Id: I2af1832743e6fe78e5c1364f6d9cc21252bf5831
2012-06-27 17:31:09 +09:00
Jean Chalard c356df8e08 Merge "Update the prototype of onAddSuggestedWord - calling side." 2012-06-27 01:25:59 -07:00
Ken Wakasa e55c23e4b0 Small cleanups
Change-Id: Ic1a198ab1b4f0323fde9e4245729fd0e6011b914
2012-06-27 16:54:37 +09:00
Jean Chalard 32ff2504a0 Update the prototype of onAddSuggestedWord - calling side.
We want to get rid of all those IDs in Latin IME.

Change-Id: Ibe08100a5e2976c80abb049889233b4047a686f3
2012-06-27 16:17:14 +09:00
Jean Chalard 2db27bcd06 Merge "Use binarySearch instead of a hand-written linear search" 2012-06-26 23:55:46 -07:00
Jean Chalard 78a8d5b6bc Merge "Implement a comparator for SuggestedWordInfos." 2012-06-26 22:55:51 -07:00
Jean Chalard 56beb9e321 Use binarySearch instead of a hand-written linear search
Yay.

Change-Id: Icf686eb2d675da959f19edc856b521e6288dcea3
2012-06-27 14:17:29 +09:00
Jean Chalard 9da0027b38 Implement a comparator for SuggestedWordInfos.
Change-Id: Ic4b0ae05cd98a1aec5806c5e4b744158e73aea7a
2012-06-27 14:16:23 +09:00
Kurt Partridge 30447239e8 Merge "only output every kth word to log" 2012-06-26 20:49:03 -07:00
Jean Chalard 4ef01c51f8 Merge "Remove some special casing" 2012-06-26 20:33:43 -07:00
Kurt Partridge e961188e9f only output every kth word to log
multi-project CL with Ib5b544b9b2d8b0e4419238976b2e274e5ac564f8

Bug: 6188932
Change-Id: Iea68cf36924d6fda126130a98431a6ce02ba251e
2012-06-26 16:15:20 -07:00
Jean Chalard 7e49a2b6b8 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
2012-06-26 20:40:42 +09:00
Jean Chalard a3f5f51ec4 Fix a bug where a log would mysteriously not work
Change-Id: I5ca77ed65e95a6d357215c0e730238fb463986bb
2012-06-26 20:36:51 +09:00
Jean Chalard 22657dcba0 Optimization.
We already had that computed

Change-Id: I2a9742eaee2e9db1f73aeddda7bae7e237b4d15c
2012-06-26 20:02:07 +09:00
Jean Chalard ec8b27fe49 Cut out a method for clarity
Change-Id: I1dc668698a5cd840297e713a26a525f5e32d35d6
2012-06-26 19:49:01 +09:00
Jean Chalard 0131170da9 Merge "Avoid string conversions when possible." 2012-06-26 03:48:01 -07:00
Jean Chalard 5953dc93cf Avoid string conversions when possible.
Change-Id: Ibf5f3e40da55998364d0d835ecf283f32c80fcf5
2012-06-26 19:45:52 +09:00
Jean Chalard 5d218bc029 Merge "Simplify a method call." 2012-06-26 03:45:02 -07:00
Jean Chalard bed514bd90 Simplify a method call.
Change-Id: Ieede787a13cef79353f13af52488ef3732ac9850
2012-06-26 19:33:16 +09:00
Jean Chalard 61c1002b6b Merge "Refactor and squash long-standing bugs (A2)" 2012-06-26 03:19:20 -07:00
Tadashi G. Takaoka abf81192ff Merge "Remove unnecessary variables" 2012-06-26 03:16:17 -07:00
Tadashi G. Takaoka 342ea3d324 Merge "Pass MotionEvent to PointerTracker" 2012-06-26 03:16:12 -07:00
Jean Chalard 9433ce86b7 Refactor and squash long-standing bugs (A2)
This is awesome.
- Improve performance by stopping useless string/array conversions.
- Simplify method interface.
- Fix localization bugs - we now know our locale
- Fix bugs with surrogate code points

Bug: 4769095
Change-Id: I8a8ee224b713429ee0a4ce5bd52f1b63378cf56f
2012-06-26 19:12:07 +09:00
Tadashi G. Takaoka 3314d38daf Pass MotionEvent to PointerTracker
This is a one of groundwork to integrate gesture input.

Change-Id: I5b75c6978b51df91fdc384a9f6d1d5a5ddc563e2
2012-06-26 19:05:47 +09:00
Jean Chalard a8c9946b44 Merge "Remember the locale in the Suggest object (A1)" 2012-06-26 03:05:05 -07:00
Tadashi G. Takaoka 7bb8e95b52 Merge "Cleanup PointerTracker debug method" 2012-06-26 03:03:49 -07:00
Tadashi G. Takaoka 0d9d37cec2 Remove unnecessary variables
Bug: 6722052
Change-Id: I92e85b3e49b8f4b228f0cf0994216c5050e0865c
2012-06-26 19:01:59 +09:00
Jean Chalard 8e17f6d93a Remember the locale in the Suggest object (A1)
This will be necessary for uppercasing and titlecasing words
correctly.

Change-Id: I0f446a4c82bc482240ff730a2ad6586a61571d6b
2012-06-26 18:55:18 +09:00
Jean Chalard a5cfeeb6ef Merge "Remove a useless member (A2)" 2012-06-26 02:46:48 -07:00
Jean Chalard 0f455ae2a6 Merge "Convert a member to a local variable (A1)" 2012-06-26 02:46:39 -07:00
Jean Chalard bf0cae3695 Merge "Reword the 'word prediction' option" 2012-06-26 02:45:49 -07:00
Jean Chalard 6cad198d9c Remove a useless member (A2)
Change-Id: Ia727ffc2946352bbf79e0c97684f8fa98f428cef
2012-06-26 18:42:06 +09:00
Jean Chalard 0da9a7c094 Convert a member to a local variable (A1)
Change-Id: I9eab910989443704f83711cf4fb0070c5987a13a
2012-06-26 18:41:49 +09:00
Tadashi G. Takaoka d7edd1cbb5 Cleanup PointerTracker debug method
Change-Id: Ib3bfa0a46f5814a6df838005d7243e2f536a98a0
2012-06-26 18:36:30 +09:00
Jean Chalard 8d076be2d1 Reword the 'word prediction' option
Bug: 6694141
Change-Id: Ic8fd902554cdf81998f3806a58484d9733848d99
2012-06-26 18:23:06 +09:00
Jean Chalard f05392f213 Remove an unused method (A22)
Change-Id: I2195f365df1799c8b3b2a53670d1df535ab1a742
2012-06-26 17:59:04 +09:00
Jean Chalard 6234be1fe7 Simplification and optimization (A20)
Change-Id: Ia837e553ccfe67cd4303096290194a5186df059b
2012-06-26 17:59:04 +09:00
Jean Chalard 77e95e60bb Preparation for a simplification (A19)
Change-Id: I4605a571faf5fbc68b18ce525d6019600bfa8cf7
2012-06-26 17:59:04 +09:00
Jean Chalard 0a79446531 Remove a meaningless separation (A18)
Change-Id: I267177044c7d7b0d9119839a11057b2bbf41f75f
2012-06-26 17:59:04 +09:00
Jean Chalard 61e7ec6587 Remove the Callback interface for simpler code. (A17)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530

Change-Id: I009b54fc2e73cadca6734bdca074d033e81f6a2b
2012-06-26 17:58:52 +09:00
Jean Chalard 2f1b6c9ea4 Remove the callback argument to getBigrams() (A16)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I7457ac04f8cd4019fb86c986725aae3de1b1a65e
2012-06-26 17:54:49 +09:00
Jean Chalard 60eed92dc3 Remove the callback argument to getWords() (A15)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I919bf70a1213ab5d7c7a9e5715bd72a6e257148b
2012-06-26 17:36:47 +09:00
Jean Chalard 2225b3bace Do away with Utils#addAllSuggestions (A14)
It's not used any more.

Change-Id: Id9da40fdbf7078f3ac647d1368237d6601f5a2ba
2012-06-26 17:36:47 +09:00
Jean Chalard d9df8094e6 Neutralize AndroidSpellChecker.SuggestionsGatherer#addWords (A13)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: Ia54e1e44e1fd4e8ba2c9316928c0595cbe3f933c
2012-06-26 17:36:47 +09:00
Jean Chalard 7830476022 Neutralize Suggest#addWords (A12)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: Id923367342a62a650a5f1d38e2fa0e913030dca8
2012-06-26 17:36:47 +09:00
Jean Chalard fd998bd37a Refactoring (A11)
Change-Id: I86bd7587dd80773a51ba6db312ba55dc41e7c8c7
2012-06-26 17:36:47 +09:00
Jean Chalard 64dad2d5a9 Remove an unused method and inline another (A10)
Change-Id: Ifd71ce79711b0c15c7764e97351dbb1b8e4c0c2d
2012-06-26 17:36:47 +09:00
Jean Chalard d522ddefc2 Merge "Merge the interface of two methods that do the same thing (A9)" 2012-06-26 01:35:15 -07:00
Jean Chalard 90981e423a Merge "Change the return type of getWords and getBigrams (A8)" 2012-06-26 01:33:04 -07:00
Jean Chalard 9053862470 Merge "Remove dependency on WordCallback from BinaryDictionary (A7)" 2012-06-26 01:16:43 -07:00
Jean Chalard b9f99c8679 Merge "Remove useless code and storage (A6)" 2012-06-26 01:16:32 -07:00
Jean Chalard 8fb0ff00b1 Merge "Remove a duplicate processing (A5)" 2012-06-26 01:16:19 -07:00
Tadashi G. Takaoka 1c6a9cc44d Merge "Update current key reference in PointerTracker when keyboard is changed" 2012-06-26 00:58:16 -07:00
Jean Chalard 28eeb35d14 Merge the interface of two methods that do the same thing (A9)
Change-Id: Ia5701d713d0fd5bb646b54a03a1a5602dad0a9e6
2012-06-26 16:55:09 +09:00
Jean Chalard d82898c5a9 Change the return type of getWords and getBigrams (A8)
This only returns stuff, but it doesn't change yet how the data
is really passed. It merely adds a way of getting the same data.
Later, the old way will be removed.

Change-Id: If3a064de362175fc5a6781b7a97b65d8730aaf3c
2012-06-26 16:44:26 +09:00
Jean Chalard bda7eaa63a Remove dependency on WordCallback from BinaryDictionary (A7)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I8245698fbd170e0f5cbad3c0109774bcaddc0614
2012-06-26 16:42:48 +09:00
Jean Chalard 17111afcd6 Remove useless code and storage (A6)
This is only used as temporary storage to be then added to
the other variable, relying on the fact that it is hopefully
sorted. It's better to just add it right away to the final
storage.

Change-Id: I5da702ac9dc579593ab21feb2021a01e5dfdf4dc
2012-06-26 16:39:32 +09:00
Jean Chalard 5e0545d69d Remove a duplicate processing (A5)
This filtering is already done in native code. It's useless (and
costly) to do it again here.

Change-Id: Ide6794d7a8682a881f097f33e222f10d30f297bd
2012-06-26 16:37:05 +09:00
Jean Chalard fac8a16c6f Merge "Remove another dependency to WordCallback (A4)" 2012-06-25 23:31:39 -07:00
Tadashi G. Takaoka 8a092b4ede Update current key reference in PointerTracker when keyboard is changed
This change also checks that the current key is the same key that
started the key repeat, when key repeat timer is fired.

Bug: 6722052
Change-Id: Id69880ded3338a5a3cbe7f8bf951f94f2651119c
2012-06-26 15:00:12 +09:00
Kurt Partridge 3ec249c6d1 Merge "fix IllegalOutOfBoundsException" 2012-06-25 22:52:36 -07:00
Kurt Partridge 01106f6a10 fix IllegalOutOfBoundsException
StringUtils.toCodePointArray() had thrown IllegalOutOfBoundsException if
passed an empty string.  change to just return an empty int[].

Bug: 6188932
Change-Id: Ic41c628c0d407f49fc98cd48cb7ea13d8d5bdd77
2012-06-25 22:40:56 -07:00
Jean Chalard d7b9e8f503 Remove another dependency to WordCallback (A4)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I5b277124dc9244e78c4a1f4d542a55071eb479bd
2012-06-26 13:12:01 +09:00
Tadashi G. Takaoka 3c5db23c7a Merge "Tune CHAR LIMIT" 2012-06-25 20:02:43 -07:00
Ken Wakasa 681184d137 Merge "Remove "Key popup dismiss delay" when "Popup on keypress" is suppressed" 2012-06-25 19:52:05 -07:00
Tadashi G. Takaoka 11327c7b20 Tune CHAR LIMIT
Bug: 6513247
Change-Id: I55e36620bd8b2e7b47a51ccde1b0bf3e277cd56b
2012-06-26 11:00:19 +09:00
Jean Chalard 30dd558802 Merge "Pull the "next word prediction" option up a level." 2012-06-25 18:54:28 -07:00
Eric Fischer 43d9b7818b Import translations. DO NOT MERGE
Change-Id: I8b66b0f81300af586db2db3f653ce3e2882a7efe
2012-06-25 13:47:45 -07:00
Eric Fischer 04f0b2113d Import translations. DO NOT MERGE
Change-Id: Ie741f7f0dccd2aef3ba43ac02776eaac9cb4f9af
2012-06-25 13:44:10 -07:00
Ken Wakasa 9f78eed456 Remove "Key popup dismiss delay" when "Popup on keypress" is suppressed
bug: 6714783
Change-Id: Idf674e8e1af80642f2c53f7ae5c03e21c9e04292
2012-06-26 00:40:53 +09:00
Satoshi Kataoka 7368009799 Change JNI for Gesture
Change-Id: I774a0052038d16677f60f7efa11fd266cb5f3088
2012-06-25 18:54:37 +09:00
Jean Chalard 5a73d72265 Merge "Refactoring and groundwork to fix a bug with older apps" 2012-06-25 00:42:21 -07:00
Jean Chalard c3ebf1a43a Refactoring and groundwork to fix a bug with older apps
This has a good, although small, impact on performance : it removes
a two-way IPC call in a most frequent case, while possibly adding
one in a rather unfrequent and less critical case.

Also, this fixes a bug with surrogate pairs. This specific branch
of code now correctly handles surrogate pairs.
Aside from this, it should have no impact on behavior.

However, since it does delay access to the previous character in
the text view by a two-way IPC call, it actually goes a long way
toward fixing bug#6668226. It is not really a fix and the race
condition still exists, but this change makes it much, much
harder to hit.

Bug: 6668226
Change-Id: Id11cc6a0b7488d6bd392227cafdcf3a8d4c62f6c
2012-06-25 16:32:25 +09:00
Jean Chalard a316a15984 Merge "Tentatively remove a dependency on WordCallback (A3)" 2012-06-24 23:08:13 -07:00
Jean Chalard dc01bd5ea4 Merge "Improve compatibility for ICS." 2012-06-24 20:41:19 -07:00
Jean Chalard e9e51cab78 Pull the "next word prediction" option up a level.
Bug: 6694141
Change-Id: Ib01575b0994e69ef232a234c575242ec49ed0679
2012-06-25 12:15:21 +09:00
Satoshi Kataoka 2cf265b345 Merge "Fix possible NPE from a concurrent problem in LatinIME" 2012-06-21 22:16:48 -07:00
Kurt Partridge e6a39d5677 Merge "Allow punctuation through privacy filter" 2012-06-21 21:53:48 -07:00
Eric Fischer 142d6bb377 Import translations. DO NOT MERGE
Change-Id: Ida61fe3b2464868d3bb6d4b42032273edbf39689
2012-06-21 16:07:47 -07:00
Eric Fischer f44adb1845 Import translations. DO NOT MERGE
Change-Id: If472b6e3c80691ad057990f7c6e2710fc8758e2a
2012-06-21 16:04:00 -07:00
Kurt Partridge 33d9f9b6db Allow punctuation through privacy filter
Also cleaned up the privacy code a bit.

multi-project commit with Change-Id: Ic0919a6929ebb2623ff4124f7adc96d9e5f8df3c

Bug: 6188932
Change-Id: Id470fe7cc6e4a8fb01f1ea5b178a74cd27d59218
2012-06-21 00:17:48 -07:00
Jean Chalard 1b71ff00a2 Merge "Update an outdated comment" 2012-06-20 20:18:51 -07:00
Jean Chalard 9997b44846 Improve compatibility for ICS.
ICS didn't have a SHORTCUT column in the user dictionary.
If running on a build under JellyBean, we should not ask
for it lest we crash.

Bug: 6600617
Change-Id: Iac0cbcc63c10064f01e2d51eec5931fd9cdd0922
2012-06-20 18:43:56 -07:00
Jean Chalard 83f4a9866a Cleanup, part 10 : remove from the code obsolete options (C10)
Change-Id: Id0806ad3dc7ccb632713eebaca76f0bab26ece5d
2012-06-21 10:07:05 +09:00