Commit Graph

170 Commits (9ebba46c775f37abeb0451602cb323fd45adf33b)

Author SHA1 Message Date
Jean Chalard 75715f7d9f Revert "[CB15] Remove a redundant variable."
This reverts commit 0de7a6d1a2.

Change-Id: I327679b76a14cf9c3aec4b00b013b921408c32f9
2014-03-27 09:43:45 +00:00
Jean Chalard 0de7a6d1a2 [CB15] Remove a redundant variable.
This is a tiny bit slower, but probably unnoticeable.
Still, it gains some performance in other places,
saves memory, and more importantly makes for simpler
code, so it's certainly better.

Change-Id: Id1ab4f73f71acd73f5920bc729817abd22cf0d07
2014-03-27 16:47:27 +09:00
Jean Chalard 1079665c3c [CB14] Implement backspace in the combiner chain
Bug: 13622107
Bug: 13406701
Change-Id: I0023b398c4451253f9f717e2bd990b8a054004bc
2014-03-25 17:57:03 +09:00
Jean Chalard d36cbc44e4 [CB13] Remove an unused method.
Change-Id: If4d2fa9c6499ce9b2427cea424abd497ec4a966b
2014-03-24 17:44:36 +09:00
Jean Chalard cbed462d19 [CB12] Reset the combining state when resetting the composer
Bug: 13406701
Change-Id: I490574b7ca4b953f67dd2c0ef97401297fade0a4
2014-03-24 17:44:31 +09:00
Jean Chalard 835965a75e [CB11] Get the result of the combination
Change-Id: I165ec4a24f5b1334d55c14948e4d942ec40eb33b
2014-03-20 23:33:12 +09:00
Jean Chalard f2bb15b0ab [CB09] Pass events through the combiner chain
Bug: 13406701
Change-Id: I4696f145478afdd132314b7d3c148c3a9ca11c9c
2014-03-20 16:59:29 +09:00
Jean Chalard 7ede642df4 [CB08] Create a combiner chain in the word composer.
Bug: 13406701
Change-Id: I3b9f75de9283f76366d1bef7e14a8f22f2186669
2014-03-20 14:27:55 +09:00
Jean Chalard f8accd8839 [CB04] Add an event array to WordComposer.
Bug: 13406701
Change-Id: I9ecd2709c8f1c678a85b0cfaf7c5ed4f78459821
2014-03-14 12:44:49 +09:00
Jean Chalard be846fc352 [IL73] Remove all refs to Key and Keyboard in WordComposer
Please hold my gun while I have this nice cup of tea.
Yes !!

Bug: 8636060
Change-Id: I33c8ffe51bb2106b17f7941235ad1e427e3a81f7
2014-01-23 15:52:29 +09:00
Jean Chalard 1284e556f4 [IL70] Remove unused arguments
Bug: 8636060
Change-Id: Iec56bce362ebfc52fedab02b127978abb4f3c7f9
2014-01-23 15:33:14 +09:00
Jean Chalard d1f463eacf [IL69] Oust Keyboard from WordComposer#setComposingWord
Bug: 8636060
Change-Id: I624a45500603dfad355ee3b8b794b2d895219c0b
2014-01-23 15:32:59 +09:00
Jean Chalard 9da4b49ef6 [IL68] Start refactoring setComposingWord
Bug: 8636060
Change-Id: I242b7c264abf380bcd6b6b3c848238921f988e54
2014-01-23 15:15:49 +09:00
Jean Chalard 4752b68f5a [IL56] Don't erase suggestions when reverting a commit.
Bug: 12297051
Change-Id: Iffa1c98b8fe2b816c3ac6bc171037288107f637d
2014-01-16 03:22:46 +09:00
Tadashi G. Takaoka ad78058a93 Rename InputPointers.addPointer and ResizableIntArray.add
Change-Id: I5580250c91b29f93ed886b080ce33845b3b67ace
2014-01-08 14:30:21 +09:00
Jean Chalard 6bca9ac43d Fix a bug where predictions would not pop upon manual pick
Bug: 12295276
Change-Id: Id359c92acde44758b12929e7bac719d5c9c7577b
2013-12-26 23:19:29 +09:00
Jean Chalard 7cd7cf73f4 Fix a bug with languages without spaces and predictions
This is simpler and more correct.

Change-Id: I41806d2fc12b4ca25f76e32972b38f91f3d05c2b
2013-12-16 23:16:02 +09:00
Jean Chalard fae1ba767c Don't use the previous word after a non-whitespace separator
Bug: 12101276
Change-Id: Icf36d55ec171194e5561b946021bcf648782ddd4
2013-12-13 20:51:28 +09:00
Ken Wakasa 2fa3693c26 Reset to 9bd6dac470
The bulk merge from -bayo to klp-dev should not have been merged to master.

Change-Id: I527a03a76f5247e4939a672f27c314dc11cbb854
2013-12-13 17:13:32 +09:00
Tadashi G. Takaoka 7dc60f9db7 Add getters and copy constructor to Key class
Change-Id: I78eb96dcc26378926dc63acbfeb4828cbd44435d
2013-08-15 20:12:46 +09:00
Satoshi Kataoka ffcbbaf127 Refactor on UserHistoryDictionary
Bug: 9429906
Change-Id: I576a91643bdaf5017cc826ac2e07a74a9a275d60
2013-07-26 13:00:19 +09:00
Jean Chalard 5fa2202e36 Fix a bug when moving the pointer in a > 48 chars word
Bug: 9892261
Change-Id: I9db20c5b20a0764bd9f5b5e2bdc98180bbb9ec15
2013-07-22 17:02:09 +09:00
Jean Chalard f0af452ce2 Do not re-resume suggestion if it's not needed.
This is much better interface-wise. It eliminates all blinking
of the line in the practice.

Bug: 8874148
Bug: 8864306
Change-Id: I87754e44784327c2e9c8b162d598d145e20668e8
2013-07-01 14:40:12 +09:00
Satoshi Kataoka 244a24e368 Consolidate dummy proximity info to the spell checker info
Bug: 8783170

Change-Id: I067486e5ec1ae7cdef8e2121392464ba71ee8add
2013-05-08 11:49:12 +09:00
Jean Chalard 0e9ee4d3bf If there are no suggestion span, recompute suggestions.
Bug: 8084810
Change-Id: I1743c09c43ca6835bb2f607684b037bf17d36335
2013-04-15 19:33:23 +09:00
Jean Chalard d40f3f6bc1 Reject a previously user-refused suggestion.
If the user gestures a word, then hits backspace in
disapproval, and gestures about the same thing again,
make sure that we don't suggest the same thing again.

Bug: 7549311
Change-Id: I793bc4df7c3841fa8f2f4146707c26e873f374c1
2013-04-15 16:36:44 +09:00
Jean Chalard 6a114fa700 Restart suggestions when the cursor moves.
This uses the old suggestions. It does not try to recompute
new suggestions if there are no old suggestions yet: this is
coming in a later change.
If there are no suggestions, this shows the word itself
as a suggestion.

Bug: 8084810
Change-Id: I4c2e25df0ff3673be1825f57a0c19a9d23d47a48
2013-04-12 20:49:03 +09:00
Tadashi G. Takaoka 5701a6647f Use WordComposer.addKeyInfo for testing
Change-Id: I500654e7a26717aa5547942357e56060afb72969
2013-02-20 17:09:25 +09:00
Tadashi G. Takaoka 8aa9963a89 Fix Apache license comment
Change-Id: Ic56167f952a7f4449da366e1e81610e72c966086
2013-01-21 22:23:37 +09:00
Jean Chalard 8914555776 Reset forgotten members (D3)
Only resetting mCapitalizedMode is enough to fix bug#8013488,
but we may as well correctly reset both fields.

Bug: 8013488
Change-Id: Icb0d7c5b1e93368e8eb7848aa9137b45d5d3531e
2013-01-17 20:39:09 +09:00
Jean Chalard b6b7f5e39e Forward the capitalized mode to the positional info (D1)
Bug: 7972124
Change-Id: I3c74f3b075e698b9e9dd1d2c7b6f173073539063
2013-01-17 14:35:58 +09:00
Ken Wakasa 96b22200be Privatize a few constants in BinaryDictionary.java
Change-Id: I7defaf1f577fd67e678cac83ff935e8181dd0a48
2012-12-17 17:46:57 +09:00
Tadashi G. Takaoka 240871ecaf Move code point constants from Keyboard to Constants class
Change-Id: Iee01d4d2b916d0b584531104ac865ae6e6370a3d
2012-10-29 16:04:20 +09:00
Tadashi G. Takaoka bc464e2952 Replace useless CharSequence to String
Change-Id: Idc478f901185ee1b4912acc82d0cbc54fee4e991
2012-10-22 11:03:28 -07:00
Tadashi G. Takaoka d445b56ce1 Fix possible NPE caused while monkey test
Bug: 7269036
Change-Id: I9054b33ad3c8996cac3ee5f0e9c01ba8ceea4971
2012-10-03 14:33:52 +09:00
Tadashi G. Takaoka a28a05e971 Cleanup: Make some classes as final
Change-Id: I6009b3c1950ba32b7f1e205a3db2307fe0cd688e
2012-09-27 19:03:30 +09:00
Jean Chalard ad0642cf25 Fix a bug that would persist caps lock state
...with regards to suggestions. It's much simpler to look at
whether the word is actually all capitalized or not.

Bug: 7113544
Change-Id: Idc0e77b2f812964e650ade0e32b9d4c09228cb74
2012-09-19 17:54:35 +09:00
Jean Chalard 75b3f81fe1 Fix a bug with capitalizations (A15)
When only one character has been typed, we should not take that
as a strong symbol that everything should be upper-cased.

Change-Id: I4e3a3223269e6763e3594baeaa844daa79a624ed
2012-09-18 18:52:05 +09:00
Jean Chalard a05a0f2077 Allow Latin IME to cancel smiley-auto-correct consistenly
This change makes Latin IME behave consistently with regards
to other auto-correction cancellations in cases of auto-correction
cancellation after smiley-triggered auto-correction. That is,
pressing the smiley key when the keyboard signals it's about to
auto-correct will get the auto-correction there plus a smiley,
and pressing backspace will cancel the auto-correction, and
pressing backspace again will delete the smiley.

Bug: 7067593
Change-Id: Ia7eef70a5d06b8b9afa1f1fbb0ed1dbc21a3059f
2012-08-29 16:49:39 +09:00
Jean Chalard 8b6b5592cb Merge "Treat all caps for gesture input." into jb-mr1-dev 2012-08-21 04:39:04 -07:00
Jean Chalard 324cc1dbe6 Merge "Tell the shift mode to the word composer." into jb-mr1-dev 2012-08-21 04:38:27 -07: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
Tadashi G. Takaoka ac78633be2 Rename and consolidate some constants
Change-Id: I7863936cca18b28bf0117afcbcf544a5fd7f185d
2012-08-21 17:54:53 +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 57f7de0ba6 Add default capacity parameter to InputPointers' constructor
Change-Id: I02f23096f0682d30effe4dfc1ca57881a1e4aedc
2012-07-19 12:06:00 +09:00
Tom Ouyang eea34598bf Merging minimal gesture input
Change-Id: Iee6ae48bb6309c2867b5d2e344fe7d86dfabd654
2012-07-13 19:32:18 +09:00
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 d82dcdc924 Add batch input dictionary lookup
Change-Id: I4da3c976838e8eb56c9ec80aafaaf54d759b7981
2012-07-10 20:01:28 +09:00
Jean Chalard 2a37fb9d30 Refresh the cached single quotes count on commit
Change-Id: I9df5cf95c14da2e11ac709ca5e32dc7db3b02c37
2012-07-10 18:43:42 +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 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 adc80eef15 Use Keyboard.getKey
Change-Id: I722b9e981389f660db928b7fd5ced1b82371fbf3
2012-07-04 16:31:57 +09:00
Satoshi Kataoka 71538b08e4 Add input pointers
Change-Id: I95300bf0a847fb86d026e846ff4ad723bb45284f
2012-06-29 18:58:51 +09:00
Ken Wakasa e55c23e4b0 Small cleanups
Change-Id: Ic1a198ab1b4f0323fde9e4245729fd0e6011b914
2012-06-27 16:54:37 +09:00
satok c54d558e2e Cancel adding user history bigram when autocorrection is cancelled
Bug: 6465474
Change-Id: Ifbfe0ddc2ce5fab070939ede3db7bf03a8535a45
2012-05-24 12:11:02 +09:00
Jean Chalard 4b5b46bb66 Don't autocorrect after suggestion resuming
Bug: 6105732
Change-Id: I92e7a9c6d6eb648f747c3b396d7993479fd8478a
2012-05-01 17:06:29 +09:00
Tadashi G. Takaoka c61cd79229 Fix some obvious compiler warnings
Change-Id: I10a634f7492b45d5a72345f14d36cf341946387d
2012-03-29 15:07:53 +09:00
satok 6ba8de2a60 Good bye the proximity logic in Java code
Bug: 4343280
Change-Id: I82f7d08703647a3492ce6e2d3b741146df58927e
2012-03-28 18:42:30 +09:00
satok 67094f5bde Do not re-calculate primary code in WordComposer
Bug: 4343280
Test: Ib43c0f1d1a19d067ea0

Change-Id: I3393a6099cb7fb824994f4656ccfef884f9c6bc4
2012-03-28 17:23:10 +09:00
satok 9611b281e1 Fix AIOOBE
Bug: 6236912
Change-Id: Ie09e5ef1c23eb48621ac3f2f2dc28dc2e46ca288
2012-03-28 13:02:14 +09:00
satok 01ab7c8b59 ongoing cleanup 2
Change-Id: I66b61cbe491cf8375144e834390beae3209a777d
2012-03-27 16:28:48 +09:00
satok 8980bd4a25 Merge "Cleanup jni 1" 2012-03-23 03:24:08 -07:00
satok 9df4a4527a Cleanup jni 1
Change-Id: Ieb6af8385356e259720b50f1fe46a694a098b30f
2012-03-23 19:03:20 +09:00
Jean Chalard a492790982 Stop creating useless objects
Man that was bad, it's heavy, it's called quite often, and it's
totally useless

Change-Id: Ia7e23e0e60ff4a929b226f3f4ccabedbc3ea2c06
2012-03-23 17:55:11 +09:00
Jean Chalard 081616cd2f Send correct coordinates for the spell checker
This results in the computation being done in native code
and the correct proximity being used.
Bug: 6181080

Change-Id: I08fa05c781d607e4feca2caeda353ec19c133a3d
2012-03-23 13:02:58 +09:00
satok 728d1c884e Cleanup proximity related code
Bug: 4343280
Change-Id: I57c0f9e20d9d8911009ea97057251a7f7a81512f
2012-03-19 18:33:59 +09:00
satok 1caff47ecd Calculate proximity characters in the native code
Bug: 4343280

Change-Id: I6adaf560f7a4f1f96dcb6ec2f61f20ee3001167e
2012-03-16 17:26:36 +09:00
satok ef08daddea Do not change the proximity orders
Bug: 4343280
Change-Id: I4e2dfb00d9c843a8a285d409ac5ab8fca5fb1694
2012-03-16 12:54:17 +09:00
Tadashi G. Takaoka 723aaa2eeb Remove touch dead zone
KeyDetector should use the distance from the hit box to detect the
key.

Bug: 6174250
Change-Id: Id1745d90222d1d1a10467f194b45307c12449944
2012-03-15 20:16:43 +09:00
satok 853d9020ed Really pass the y - touch correction to the native code
Bug: 4343280

Test:  I11f8518d9ee

Change-Id: I4b90bdffffed9736af223ac83c1a54019add70bb
2012-03-14 21:54:52 +09:00
satok 691f1c174b Fix coordinates sent to native code
Change-Id: I2c8b093b59ad36ffe860c3c4d360d87251d101c4
2012-03-06 16:38:00 +09:00
satok ca7ec2097c Integrate the logic to calculate the proximities
Bug: 4343280

Change-Id: I0f6a7e6912ed4abea07c10d266da4c7ccb0dae76
2012-03-06 15:34:27 +09:00
Jean Chalard 9271b770e8 Activate the code to cancel a manual pick (A5)
This finally makes active the behavior described in
Bug: 5968922

Change-Id: I363ed23270c3dea75411ea806011225097b5d07c
2012-02-22 00:05:19 -08:00
Jean Chalard 66bb563535 Give LastComposedWord knowledge of the separator (A2)
This stores the separator that was used to commit the word in
the LastComposedWord. It may be NOT_A_SEPARATOR if there was
no separator (for example, the cursor moved causing a commit,
or there was a manual pick). This is necessary to implement
feature request #5968922.

Change-Id: I5fcf19a78ec66d68d4df89418eaef13952588207
2012-02-21 23:33:58 -08:00
Jean Chalard cf9d92629c Give LastComposedWord knowledge of the committed word (A1)
There is no point storing the prospective autocorrect - we are
recomputing it anyway. The committed word however will be necessary
to implement feature request #5968922.

Change-Id: I588c18e1a5a1050a791d601de465f421ccbe36cd
2012-02-21 23:12:21 -08:00
Jean Chalard 9159b9953d Fix the auto-composer to support supplementary chars
Change-Id: I61ff218ae2ca4eb443a370e581b677755258670a
2012-02-08 15:45:51 +09:00
Jean Chalard a7f2500001 Fix a bug with common objects.
Bug: 5961179
Change-Id: I452efc552c6ab390931f25557d7aee5a64bf054e
2012-02-06 18:41:00 +09:00
Jean Chalard 825e2bbd91 Fix a bug when deleting the last char
And unit test

Change-Id: Ic4fc3626f8b86e10156d770d41cd6deab5d31f39
2012-02-03 13:03:54 +09:00
Jean Chalard 9242a2bcf8 Fix string iterations in a couple places.
Seems I didn't get how to iterate on a String correctly >.>
Talk about a big bug. Anyway, I think it's working now.

Bug: 5955228
Change-Id: I988c900cf2a16c44b9505cfd4f77c7cda7e592f0
2012-02-03 11:15:46 +09:00
satok e05b3f4b3a Support additional proximity characters
Change-Id: Ifbe0d7e4eafea1926bbce968eae4724dd5769689
2012-02-02 16:07:16 +09:00
Jean Chalard 449415c72f Cleanup (A9)
Deactivate the LastComposedWord when the commit was not the right
type, instead of fooling it by passing it a null auto-correction.

Change-Id: I032b477dc691bd151a644ca4b0c9f0a9b5512e45
2012-01-26 20:10:49 +09:00
Jean Chalard 5971a0a0bb Remove a useless member (A8)
It turns out this can be removed entirely.

Change-Id: I6f23703cef1666311989a825285317eef696487f
2012-01-26 20:10:49 +09:00
Jean Chalard be79227dc9 Remove the CharacterStore class (A7)
Remove the now useless WordComposer.CharacterStore class
and merge back its members inside WordComposer. This should
simplify the word composer a bit.

Change-Id: I5fe32418c62a583cd558dce98758a4701559bdf5
2012-01-26 20:03:44 +09:00
Jean Chalard b6b8729374 Straighten out resuming suggestion on kept word (A5)
This is cleanup.
This also introduces a "deactivated" state to the last committed
word, that can be used for
Bug: 5875776

Change-Id: I1855adb8ac8123f6d2c5365b0ae899145e5c3ba1
2012-01-26 19:24:36 +09:00
Jean Chalard 2712f23acb Remove mCommittedWordSavedForSuggestionResuming (A4)
Change-Id: Ia62ef33b5c777a258b02280bda1b8368780a7eef
2012-01-26 18:36:28 +09:00
Jean Chalard 2692a87007 Move some functionality into LastComposedWord (A3)
Change-Id: Ie0ea02a061dd0cb84db5f33113ff433584636bc7
2012-01-26 18:25:08 +09:00
Jean Chalard 1f8fc62ccb Add useful information to LastComposedWord (A2)
Change-Id: Idf47f2e2bdd1d6394fc4b1ab7df28d64a808da1e
2012-01-26 17:49:55 +09:00
Jean Chalard 267563d1bb Add a class for previously composed data (A1)
Change-Id: I87498799e6a48b8fa65924a098bb0ceb7626dce1
2012-01-26 17:22:52 +09:00
Ken Wakasa 0d0f01da67 Fix a typo. A follow up to I68dd6b8d
Change-Id: I16fa4099c75faac35344b0e4d3c2b866ddac896a
2011-12-21 22:34:08 +09:00
Jean Chalard 0fd625bcfd Fix a bug with wrong auto-correct cancellation
Auto-correct cancellation would sometimes kick in at
wrong times, causing crashes.

Bug: 5784542
Change-Id: I68dd6b8d9237ce9b66af2dc63e77ba6dd5fd69dd
2011-12-21 19:28:02 +09:00
Jean Chalard 9e8761c440 Reorganize the auto-correction memory
Change-Id: I31cce9db471dcd4a7b3477bcb037a8ff482b7696
2011-12-19 17:33:15 +09:00
Tadashi G. Takaoka 3708787fe9 Remove LatinKeyboard class
Change-Id: I68c667b00dadf2ed9f1c62fb7da37d2cf499cd81
2011-12-18 19:10:42 +09:00
Jean Chalard 196d82cdd7 Use the WordComposer to check if we are composing a word
...instead of the hard-to-understand mHasUncommittedTypedChars.
This is possible because now the word composer is actually aware
of commits.

Change-Id: I36b664ce8402a280f801e87b9ebe161f416b0853
2011-12-16 15:58:29 +09:00
Jean Chalard c73c26790f Make the word composer aware of commits.
Change-Id: I04e691fbc9227d4df195429bca89edea93575347
2011-12-16 15:41:10 +09:00
Jean Chalard 27dff63833 Group all input-related info into an inner class.
Currently, these variables hold the info about the composing
word, or maybe some outdated info, and it's not very clear
which it is. LatinIME is maintaining the freshness info in
a separate boolean, and uses it throughout the code for many,
many things, leading to much confusion.
The idea in grouping this info is, it can be saved in another
instance and restored later. It can be tested against to know
whether there is actually outdated but kept info or not, and
it should allow to straighten out what is actually currently
being typed. Ultimately, it will eliminate the need for
LatinIME to keep track of the status of the info in the
word composer.

Change-Id: I00e2c690f303f8320c9be35590a6df4583e9e456
2011-12-15 19:58:04 +09:00
Jean Chalard f7d6517d6b Various mini-cleanups
- Stop the word composer from escaping - take a page from the law
  of Demeter and only report what is actually needed.
- Fix typos in comments.
- Add a comment for a fishy processing.
- Remove a useless local variable.

Change-Id: I5fa78901cbb5483fc9683bfb7094f47244b85df6
2011-12-13 23:09:22 +09:00
Jean Chalard 117fc93f37 Move mBestWord to the word composer.
mBestWord has a confusing name - it's actually an auto-correction.
It's cleaner if it lives in the word composer because an
auto-correction should be tied to a specific user input, and
should be reset each time the user input changes to avoid
race conditions.

Change-Id: I718d29395bc747372067e6440e090c6a181994ae
2011-12-13 21:06:51 +09:00
Jean Chalard 3651220327 Remove a duplicated variable.
This is awesome cleanup.

Change-Id: I35ce8940a13f3084630dc26d6e7e397acfdaac36
2011-12-12 12:06:41 +09:00