Commit Graph

3405 Commits (1f43ded6372e0629be62b44e3fc5a72d94bf7a61)

Author SHA1 Message Date
Jean Chalard e9808694fe Fix a bug where the word composer is not correctly reset
...upon commit

Change-Id: I1fea87cb4c133a0884329eb9b61bf3053c36cd1b
2012-07-13 13:31:27 +09:00
Tadashi G. Takaoka 7247bff6d6 Fix InputPointers.append
Change-Id: I6995f9b2ed00b9f948e1299e576a5e24725d58f8
2012-07-13 11:46:03 +09:00
Jean Chalard c7387a4fd0 Add values for suggestion types (A120)
Also, use it in getBigrams.

Change-Id: Ia0be9b57d1b7effcd8a936e01e957d1195b39c68
2012-07-12 19:21:44 +09:00
Jean Chalard 6931df9c17 Pass an array to output suggestion types (A119a)
This needs the matching A119b change to not break the build.
The array is passed, but not used yet.

Bug: 6166228
Change-Id: Ia91d658461d989ee8c94e9b31bb06f4a36f4c5b6
2012-07-12 19:21:42 +09:00
Jean Chalard 2c5cf744e5 Increase encapsulation (A118)
showSuggestions is only ever called by updateSuggestionsOrPredictions.
It only feels natural that, when called with a 0-sized or null
suggestion list, it clears the suggestions.

Change-Id: I5b52bc9151afca1bb6c6f0a7f81e3255add92177
2012-07-12 15:58:16 +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
Jean Chalard 18d76afa91 Remove an unused method (A109)
Change-Id: Ib785b7e8c554d030395e2c0ca92edb44eb2b245f
2012-07-12 14:30:03 +09:00
Jean Chalard 251f302985 Stop using a redundant method (A108)
Change-Id: Iffc0bae0a273419e7c50d69526c0c8e402c6461c
2012-07-12 14:30:00 +09:00
Jean Chalard 6a5d17cd2f Remove a useless parameter (A106)
Change-Id: Ic0ecea22212fd1a098a3a168da460374e446f4a3
2012-07-12 11:28:16 +09:00
Jean Chalard b7d7c5a369 Make a constant really constant (A104)
Change-Id: Ied1f9f96a574b1e6a8ee0a71bfb1604d9c962e1c
2012-07-12 11:16:30 +09:00
Jean Chalard e4e7e5fc82 Cleanup (A103)
Change-Id: Ib5ebddfdb87ef71a2f8d859fb45d3ac78040e97a
2012-07-11 16:14:58 +09:00
Tadashi Takaoka 5e21ea1a35 Revert "Workaround to avoid a bug in the batch input bigram dictionary lookup"
This reverts commit 1250cdeab2
2012-07-11 00:07:08 -07:00
Tadashi G. Takaoka 1250cdeab2 Workaround to avoid a bug in the batch input bigram dictionary lookup
Change-Id: I8a5641c88c45918d6bed81a0b03efdcff0b380c5
2012-07-11 15:38:13 +09:00
Jean Chalard 9c09fd02eb Inline a method to be able to factorize code (A102)
Change-Id: I121071f80c8af3c1053968dc76aaeca3352ca9a8
2012-07-11 14:57:51 +09:00
Jean Chalard d6c610400e Inline a wrapper method (A101)
Change-Id: I6ce856ff49a8f8c696851b2487590704010fc758
2012-07-11 14:57:51 +09:00
Tadashi G. Takaoka eb1443883f Support batch input
Change-Id: Ibe63212fe71cdebb5b897bc5018ae75b2a87555a
2012-07-11 14:53:20 +09:00
Jean Chalard 21e5759e8e Merge "Small readability improvement (A100)" 2012-07-10 22:49:25 -07:00
Jean Chalard 27207eaa04 Merge "Pull up some common code again (A99)" 2012-07-10 22:49:06 -07:00
Jean Chalard 722b00275d Merge "Pull up some identical code (A98)" 2012-07-10 22:48:58 -07:00
Jean Chalard 8b166465b0 Merge "Inline a method to avoid confusion (A97)" 2012-07-10 22:48:52 -07:00
Jean Chalard fd9b485111 Merge "Remove parameters for easier inlining (A96)" 2012-07-10 22:48:44 -07:00
Jean Chalard 0b329fd0d1 Merge "Pull up some more common code (A95)" 2012-07-10 22:48:38 -07:00
Jean Chalard a5acd68caa Merge "Pull up common code in the caller (A94)" 2012-07-10 22:48:33 -07:00
Kurt Partridge 0d54692ce4 Merge "intentional logging" 2012-07-10 21:20:47 -07:00
Jean Chalard 82d5ed6fcd Small readability improvement (A100)
Change-Id: I6340748654a95d203ed43ceb9a7e6468b5b8ab1c
2012-07-11 11:19:50 +09:00
Jean Chalard 860a9f85ff Pull up some common code again (A99)
Change-Id: I9e9f5664bb12bb25d74c8a076a6ee1024c708145
2012-07-11 11:19:50 +09:00
Jean Chalard 8eaeb60e7f Pull up some identical code (A98)
Change-Id: I6c265956394cf49e74b0256dfa5af06fe6b30467
2012-07-11 11:19:33 +09:00
Jean Chalard e77f2996ea Inline a method to avoid confusion (A97)
Change-Id: I3c3ffcd3d40493f4bfa0f6596f923b3430e605aa
2012-07-11 11:19:18 +09:00
Jean Chalard cfae32c610 Remove parameters for easier inlining (A96)
Change-Id: Ied2e291393609300173681e26e82b7dd36b41bd0
2012-07-11 11:16:22 +09:00
Jean Chalard ea98e026f1 Pull up some more common code (A95)
Change-Id: I3ac7ee823471a6d1da8031e064bce38b0e5a8f5c
2012-07-11 11:15:18 +09:00
Jean Chalard b4b93dbf3e Pull up common code in the caller (A94)
Change-Id: I84b97886280eca75d5f2b7546f20f8b1bced55bc
2012-07-11 11:13:56 +09:00
Kurt Partridge 223d671ffc intentional logging
- separate ResearchLog from ResearchLogger
- fix abort menu to explicitly indicate re-enabling of logging
- auto flush entries every 5s
- conform to new suggestedWords class

multi-project change with I9fe1f8fe59d5891daa4ca84af157f36fb1bb17dc

Bug: 6188932

Change-Id: I7e99390f934481c6ed9cea2b259944583edda5bb
2012-07-10 18:44:18 -07:00
Jean Chalard ff730dbd14 Merge "Remove useless member variables (A93)" 2012-07-10 04:33:32 -07:00
Tadashi G. Takaoka 20823b4623 Merge "Register the key when the finger slides off it in multitouch" 2012-07-10 04:19:40 -07:00
Jean Chalard 6f233f7ba1 Remove useless member variables (A93)
Change-Id: Iff0a0e8835f4d630b51a15c0d91881437094e785
2012-07-10 20:18:10 +09:00
Tadashi G. Takaoka 5e06b8534f Register the key when the finger slides off it in multitouch
Moved from jb-dev branch (I807fd6f4).

Bug: 6722867
Change-Id: I9764ac72f726396caaac819675d440372c882981
2012-07-10 20:14:29 +09:00
Jean Chalard 2ae75ed56b Start converging two identical methods (A92)
Change-Id: I3c85a80610fde664a328f5606d0724f00d445ebe
2012-07-10 20:13:54 +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 f5943153ad Cleanup old methods (A90)
Change-Id: I5435cef8ac6be523934ffa394952cb120c8e89d6
2012-07-10 19:30:46 +09:00
Jean Chalard b30d2185f2 Implement the common Dictionary interface (A89)
This will de-duplicate a lot of existing code.

Change-Id: Idaffb2fde23b9741f057bcb2ecb3dde9d12ea5c5
2012-07-10 19:30:42 +09:00
Jean Chalard a69f12a246 Reduce method visibility (A88)
Change-Id: I29d6afbcba0998558c9b19287a460d9f0e410994
2012-07-10 19:19:47 +09:00
Jean Chalard 0f57bdc0e5 Factorize code (A87)
Why was this copy-pasted :(

Change-Id: I6a537c56425ad039d7301a5fe1e0485784f07914
2012-07-10 19:19:43 +09:00
Jean Chalard 4e42e378fa Move stuff around for readability (A86)
Change-Id: I5f4a18e43f3012acf96978d625325bf7c69c9c80
2012-07-10 18:57:57 +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 2a37fb9d30 Refresh the cached single quotes count on commit
Change-Id: I9df5cf95c14da2e11ac709ca5e32dc7db3b02c37
2012-07-10 18:43:42 +09:00
Jean Chalard a9632d8173 Merge "Enhance behavior consistency (A84)" 2012-07-10 02:31:40 -07:00
Jean Chalard 184c552917 Merge "Refactoring for whitelist (A83)" 2012-07-10 02:24:58 -07:00
Jean Chalard b53e96813c Merge "Refactoring (A82)" 2012-07-10 02:24:47 -07:00
Jean Chalard 50d1b7902f Merge "Fix a bug with suggestion behavior (A81)" 2012-07-10 02:24:36 -07:00
Jean Chalard a4d346c37a Merge "Cleanup visibility in LatinIME (A80)" 2012-07-10 02:21:46 -07: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 a5bb353de9 Cleanup visibility in LatinIME (A80)
Many methods were public but could have been private: change them
to private. Also, add a comment above public methods that don't
come from the IMF to make it clearer why they are necessary.

Change-Id: I574154b015d09c0f8542b81763f497691afdc3c1
2012-07-10 18:05:15 +09:00
Satoshi Kataoka 7fcad7b9b6 Separate ICS-dependent code from the spell checker service
Bug: 6789576
Change-Id: Ia768258f6fa121c7a7757093eb8a20e665580865
2012-07-10 17:45:26 +09:00
Jean Chalard b98414f8fd Merge "Remove useless code (A79)" 2012-07-10 00:47:56 -07:00
Jean Chalard 29540b25f0 Merge "Simplification (A78)" 2012-07-10 00:47:10 -07:00
Jean Chalard 728c0cb251 Remove useless code (A79)
We postUpdateSuggestionStrip right away anyway - this only
makes the suggestion strip blink

Change-Id: I2ebd933e9a4c804ef1e8c62ccdaf4953a98a792e
2012-07-10 16:41:49 +09:00
Jean Chalard 09fdd30e52 Simplification (A78)
Change-Id: I622503af858ef419e94a17f182253cb03da00462
2012-07-10 16:41:47 +09:00
Satoshi Kataoka 74620f449e Merge "Create AndroidSpellCheckerSessionFactory" 2012-07-10 00:26:00 -07:00
Satoshi Kataoka 37b19ffe6c Create AndroidSpellCheckerSessionFactory
Bug: 6789576
Change-Id: I6de1e1aa64cf14f38ecb250579418bc518f0d838
2012-07-10 16:16:53 +09:00
Satoshi Kataoka 759778a751 Merge "Separate SpellCheckerSession from SpellCheckerService" 2012-07-09 23:42:15 -07:00
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
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
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 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