Commit Graph

4827 Commits (eb1443883f0b645459976f2d0471ccbb42ee946e)

Author SHA1 Message Date
Satoshi Kataoka 84ed096641 Separate SpellCheckerSession from SpellCheckerService
Bug: 6789576
Change-Id: I7c55d36afad7ef6046353b3c9e849a54a6dc83ae
2012-07-10 15:34:40 +09:00
Jean Chalard fed702a0ad Merge "Move a test (A77)" 2012-07-09 23:01:33 -07:00
Jean Chalard 75e605f7ca Merge "Pull up common code in the consolidated method (A76)" 2012-07-09 22:41:33 -07:00
Jean Chalard c466cd3f99 Move a test (A77)
Change-Id: I417bd5f1318696aaa39fee18f3e750ea5c231f6b
2012-07-10 14:24:33 +09:00
Jean Chalard 32f5384fc9 Pull up common code in the consolidated method (A76)
Change-Id: I3ebecec37b49e139c243cf9da8bfe491e7ddada1
2012-07-10 14:22:12 +09:00
Ken Wakasa 1e8fb312bf Fix app name case
Change-Id: Id568adac98135cffceb111000e80f77928c045ea
2012-07-10 14:10:30 +09:00
Tadashi G. Takaoka 80973dc76f Merge "A little optimization of InputPointers.copy" 2012-07-09 21:09:13 -07:00
Tadashi G. Takaoka 2ad6d12a30 A little optimization of InputPointers.copy
Change-Id: Id83b34e076ef91e06d7c1dd2b3ee7bb64d01b8cb
2012-07-10 13:05:43 +09:00
Jean Chalard 24e8a06f98 am 949d2ae5: am 4bcf70c9: Fix a bad interaction with mmap
* commit '949d2ae5788977c5e87e35e1bd1770f54ac88f5b':
  Fix a bad interaction with mmap
2012-07-09 20:24:01 -07:00
Ying Wang 59205dd270 Import translations. DO NOT MERGE
Change-Id: I48fd690e9368a6637c7fa93c15b6ecadcbe47ce8
Auto-generated-cl: translation import
2012-07-09 13:56:48 -07:00
Satoshi Kataoka 14ec214132 Merge "Separate string resource of IME name" 2012-07-09 02:26:35 -07:00
Satoshi Kataoka 69aef47e23 Separate string resource of IME name
Change-Id: Ib4afefac0e87c814c9e54cb65e78ee584c3f954c
2012-07-09 17:48:39 +09:00
Tadashi G. Takaoka 7389c601e3 Merge "Add InputPointers.append() method" 2012-07-09 01:39:38 -07:00
Tadashi G. Takaoka 1087c53f5a Add InputPointers.append() method
Change-Id: Id2b0e242f7e9ce0ca888067857f8b64c02fde84e
2012-07-09 17:33:10 +09:00
Jean Chalard e4498929b0 Simple refactoring (A75)
Change-Id: Id19efc5d279616da52667fa70326b86aba70d4a0
2012-07-09 15:06:16 +09:00
Jean Chalard d579f1aefc Consolidate methods that do the same thing (A74)
Change-Id: I6e7c3aba2b40ecefa483c9680978bc806368e96e
2012-07-09 15:06:16 +09:00
Jean Chalard 347a80f793 Tiny refactoring (A73)
If !mWordComposer.isComposingWord(), then mWordComposer.getTypedWord()
will always return an empty string.

Change-Id: Ife66d0abc44c743cbc30d31724e833cda168fd5c
2012-07-09 15:06:16 +09:00
Jean Chalard 7a422a0142 Cleanup again (A72)
Change-Id: Id3765bf9826cc2c7ca70158cda53c75dc58f51c6
2012-07-09 15:06:16 +09:00
Jean Chalard 37eaa24b5a Simplification (A71)
Change-Id: I7a91d84291bea581ecc8ec5b29b9a87ccec76e7d
2012-07-09 15:06:16 +09:00
Jean Chalard dc1b84d96c Defer testing composition to a later time (A70)
This is not exactly the same logically speaking, because it's
theoretically possible that the composing state changed in between
the message enqueueing and it's retrieval. However in the practice,
if the composing state changed the message *must* have been
cancelled and resent, else the behavior breaks. So this actually
is more robust, and removes some obscure requirements on the
calling code.

In the practice, it should also make the cancelUpdateSuggestionStrip
message useless, although this change does not yet remove it.

Change-Id: I75141920ce64e38e2f92e9c02b6c979936eee9a9
2012-07-09 15:06:16 +09:00
Jean Chalard a6757f400a Code simplification (A69)
Change-Id: I2a77e437795fbbea47fd2e604ee6c26f8d0e458a
2012-07-09 15:06:16 +09:00
Jean Chalard 8f9c9377fc Consolidate two methods (A68)
Change-Id: I4b91414190b3786065ebd962a76299b605e5797e
2012-07-09 15:06:15 +09:00
Jean Chalard 146bd2e456 Pass the value we really want to pass to update functions (A67)
Change-Id: Ica9b875d119dea2f8dc237fd63e5b4eaa5e1c400
2012-07-09 15:06:15 +09:00
Jean Chalard 60dbe0be43 Preparative change to pass a boolean with known value (A66)
Change-Id: Iff03fe7c4a8eec17c00a2fe99197e0cf21a0630a
2012-07-09 15:06:15 +09:00
Jean Chalard 853f4221ab Merge "Remove useless processing (A65)" 2012-07-08 23:05:11 -07:00
Tadashi G. Takaoka 9c0ddb5988 Merge "Remove unused WordComposer.init method" 2012-07-08 18:33:56 -07:00
Ken Wakasa 1a9ef01187 Add a copyright header to AndroidManifest.xml
Change-Id: I588d7acc6f64360404440ad8dc2c00296046b09d
2012-07-06 20:29:08 +09:00
Tadashi G. Takaoka 6b4ce58fc6 Remove unused WordComposer.init method
Change-Id: I46c6a6e1c1536599cb909bf81297001b238f2ec8
2012-07-06 20:12:14 +09:00
Tadashi G. Takaoka 36311cacd6 Merge "Extend onTextInput to be able to inject suggestions" 2012-07-06 03:40:03 -07:00
Tadashi G. Takaoka 4be03befe3 Extend onTextInput to be able to inject suggestions
Change-Id: I1061da0edfdb05c64c5711717d4ef9fa9681e568
2012-07-06 19:36:11 +09:00
Jean Chalard a3dee0d062 Merge "Fix a bug where spaces would be forgotten" 2012-07-06 02:09:28 -07:00
Jean Chalard 4fde56b818 Fix a bug where spaces would be forgotten
Bug: 6785706
Change-Id: Ic7bf242ef058d116b986d47ad197b6d2802e2342
2012-07-06 17:51:10 +09:00
Jean Chalard 8e36e5102e Remove useless processing (A65)
We just resetted the composing state - updating suggestions
is sure to yield no results. We may as well not call
updateSuggestions at all.
We should however still cancel any lingering timer from a
previous input field, to avoid this useless processing.

Change-Id: Ic1a19d577903d792bb797c837cc517ea8d430e75
2012-07-06 16:28:42 +09:00
Jean Chalard 449be371ae Refinement (A64)
Change-Id: I7c16e28ffce4fe0965b756bf2b00ee63b77dd039
2012-07-06 16:28:42 +09:00
Jean Chalard 43193ad60f Remove useless code (A63)
If the separator is not a space, then we will always call
setPunctuationSuggestions and reset the suggestion strip anyway.
If the separator is a space, then the cursor has a space on
the left, which means isCursorTouchingWord depends only on
whether it touches a word on the right. If we were displaying
the "add to dictionary hint", it means a suggestion was just
chosen, so it had to be displayed, and that requires a composing
word and no non-separator at the right of the cursor.

In the end, if we go through this postUpdateSuggestions call,
we are sure we will reset the suggestions later in this method,
either by calling postUpdateBigramPredictions, or
setPunctuationSuggestions.

Change-Id: I95d5f77a5d0ac6d1a6ced8d67d6ac8f650db4a32
2012-07-06 16:28:42 +09:00
Jean Chalard 8ba33c1a49 Simplification (A62)
Change-Id: I606270a0387787445b7cd6b94e4830bfc144b49e
2012-07-06 16:27:55 +09:00
Jean Chalard 66a2e96fb4 Remove useless code (A61)
Just after this, clear() will be called, removing the suggestion
strip from the screen. It will later be displayed again through
onStartInputView, which will update its content.

Change-Id: I15c23ad2adecab76b0791d7fc222d15b6533f3bd
2012-07-06 13:07:48 +09:00
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