Commit graph

1385 commits

Author SHA1 Message Date
Satoshi Kataoka
f739807a3f Merge "Add onDestroy to PersonalizationDictionarySessionRegister" 2013-08-21 10:54:08 +00:00
Satoshi Kataoka
3c8f22880f Add onDestroy to PersonalizationDictionarySessionRegister
Bug: 9429906
Change-Id: Ibf8efd7302da2c27ac59e62b0393f1eec03dc136
2013-08-21 17:24:12 +09:00
Jean Chalard
2448159ad4 Don't start composing on dash.
Bug: 10403176
Change-Id: I9f969ab9b772dc5ba2015c494b4f98a8864277c4
2013-08-21 11:59:21 +09:00
Jean Chalard
2c7a3e0405 Merge "[AC3] Start calling the methods for auto-commit." 2013-08-20 11:05:23 +00:00
Jean Chalard
c10d76f28c Merge "[AC2] Reference a dict rather than a string in suggestion infos" 2013-08-20 11:05:12 +00:00
Jean Chalard
3f15c41d88 Merge "[AC1] Add a memory of where to cut the first word." 2013-08-20 11:05:09 +00:00
Jean Chalard
66a870cb53 [AC3] Start calling the methods for auto-commit.
Bug: 9059617
Change-Id: I190a4baf2fa831b70e00e129b5dfaa8c9c32b3a0
2013-08-20 19:26:11 +09:00
Jean Chalard
e8ef095670 [AC2] Reference a dict rather than a string in suggestion infos
Bug: 9059617
Change-Id: Ic17bc0fd5d812268fd37d7fd35b4e9ebfb95fa5e
2013-08-20 19:18:09 +09:00
Jean Chalard
ef1e363016 [AC1] Add a memory of where to cut the first word.
Bug: 9059617
Change-Id: I931b6d1eb49f9f7dd7d5b18956e35751d1b2b631
2013-08-20 18:43:19 +09:00
Satoshi Kataoka
d6ddb96ee8 Add a functionality to boost scores of personalization dictionary
Bug: 9429906
Change-Id: I1518c5cbc7d41188e7dc6a35d226da277ed5913f
2013-08-20 17:50:48 +09:00
Jean Chalard
c239a34262 Support languages that don't use spaces.
Thai is an example.

Bug: 10138062
Change-Id: Ib9a8264c77ed42b4256432d7c8a60d08575dcdc7
2013-08-16 21:01:08 +09:00
Tadashi G. Takaoka
ed5582ec65 Merge "Thin out audio and haptic feedback while key repeat" 2013-08-14 10:11:43 +00:00
Jean Chalard
5fd8b7ebd5 Merge "Add looksValidForDictionaryInsertion" 2013-08-14 09:41:49 +00:00
Jean Chalard
af5fbe70ac Add looksValidForDictionaryInsertion
...and test it.

Also at the same time, add a facility to create a SettingsValues for
test, and some minor performance improvement to surrounding
methods.

Change-Id: I13b629ae14755c244af2a9406a7e9b4a4a16090f
2013-08-14 18:39:28 +09:00
Tadashi G. Takaoka
ab16237e69 Thin out audio and haptic feedback while key repeat
Bug: 6522943
Change-Id: Id60f256ab0f8741578eda276116817fa48917325
2013-08-14 18:37:58 +09:00
Jean Chalard
fdfc8ad2d0 Merge "Re-evaluate auto-caps earlier." 2013-08-14 09:29:48 +00:00
Jean Chalard
4bc74d19ef Merge "Delete surrogate together." 2013-08-14 09:06:07 +00:00
Jean Chalard
b2d954cad6 Delete surrogate together.
Stop deleting them one after the other, it makes no sense. We
can know in advance if we should delete two of them, so let's
use that.

Bug: 6526420
Change-Id: Ifa2263cbde8fedc78bb750b84d4acd3f979774ea
2013-08-14 17:53:33 +09:00
Jean Chalard
b7e782d868 Re-evaluate auto-caps earlier.
We have all we know to re-evaluate auto-caps in this case.
We don't need to wait until we get the callback from TextView.

Bug: 10287972
Change-Id: I87e4e26cd193a001f91fe852ffc5a8f728db2449
2013-08-14 17:40:23 +09:00
Jean Chalard
1162c0537d Merge "Remove dead code" 2013-08-14 08:35:46 +00:00
Jean Chalard
d81b9d0276 Remove dead code
isComposingWord() is actually defined as size > 0, so this test
can never be false.

Change-Id: If71afae6f0b16bff46178f0fae3244597354fecb
2013-08-14 16:38:37 +09:00
Jean Chalard
e18fdf804a Merge "Fix a bug with surrogate pairs" 2013-08-14 07:27:54 +00:00
Jean Chalard
a74ae9c451 Fix a bug with surrogate pairs
Bug: 10316781
Change-Id: I528c59c8823cda11975cb01b0ae59f12cfadef3b
2013-08-14 16:00:28 +09:00
Tadashi G. Takaoka
d1d607287d Remove audio and haptic feedback while key repeating
Bug: 6522943
Change-Id: Iad1b11172e47bfbae2b4129361a56b9d793f8f62
2013-08-13 17:03:26 +09:00
Satoshi Kataoka
8c4fcb108f Add PersionalizationDictionaryRegister
Bug: 9429906
Change-Id: Ibd4d5cedb371c0b4ee1342a3e6d221c9e34c2402
2013-08-12 14:48:45 +09:00
Ken Wakasa
4a2f6a2216 am 25402fd5: am 724db044: Deallocate gesture trail bitmap when unneeded further
* commit '25402fd5309891884a843528d47f6b4646341a3f':
  Deallocate gesture trail bitmap when unneeded further
2013-08-09 15:53:29 -07:00
Ken Wakasa
724db04495 Deallocate gesture trail bitmap when unneeded further
Follow up to I5bc980c4dc41bc304be3c190934c1f7c55c9d244

bug: 8967766
Change-Id: I7b916daa5269cfde359a77555e8ffadf0e4a8f92
2013-08-09 21:07:40 +09:00
Tadashi G. Takaoka
2dfcfc5013 Remove key preview backing view
This change re-origanizes view hierarchy of IME's input view.

Change-Id: I9d0a07692d0f41de3345d207366393bcd5424f7e
2013-08-09 20:25:42 +09:00
Satoshi Kataoka
c05b3b56cc Merge "Add a session for the personalization dictionary" 2013-08-07 08:45:19 +00:00
Satoshi Kataoka
80aa7197b4 Add a session for the personalization dictionary
Bug: 9429906
Bug: 4192129

Change-Id: I361ab380edeee5a8a8b364df3f9f4ab202b79105
2013-08-07 16:44:30 +09:00
Tadashi G. Takaoka
cc38bfb5d3 Merge "Add emoji icon and code as a groundwork" 2013-08-06 05:35:14 +00:00
Tadashi G. Takaoka
b127d88285 Add emoji icon and code as a groundwork
The emoji switching key icon asset should be updated. The icons in
this change are just borrowed from Hangout.

Bug: 10179862
Bug: 6370846
Change-Id: Icea26d2cf2ac6a6df9beb4c98f646dbe309bdcd9
2013-08-06 14:16:15 +09:00
Tadashi G. Takaoka
52d220e71b Remove unnecessary suggestion strip container
Change-Id: I3710e1fe1574c0f69f7f448619e939fb45e9b8d3
2013-08-06 10:57:47 +09:00
Tadashi G. Takaoka
c0a732f032 Remove CODE_RESEARCH
Instead of CODE_RESEARCH, special outputText ".research." is used to
invoke a research feedback dialog.

Change-Id: Ic95c956ab4f2b5f0c3f2205c9bbcdcfb67db5d6e
2013-08-05 19:05:07 +09:00
Tadashi G. Takaoka
28a148681e Small cleanup
Change-Id: I7dce7373b371f1ed5a985815f5d43fb6c6ee1f84
2013-08-05 18:46:35 +09:00
Satoshi Kataoka
60586b57cf Connect the personalization dictionary
Bug: 9429906
Bug: 4192129
Change-Id: I9c9f3ed7699f74339ad92be6dcddb8a52c377545
2013-08-01 16:33:20 +09:00
Ken Wakasa
c8814e20b7 Deallocate gesture trail bitmap when unneeded
This frees up 1.7MB on Nexus 4 (occam), and 900KB on occam_svelte while
LatinIME goes to background.
The keyboard bring-up speed feels acceptable on both devices.

bug: 8967766
Change-Id: I5bc980c4dc41bc304be3c190934c1f7c55c9d244
2013-07-31 20:39:32 +09:00
Jean Chalard
2d7e927354 Fix inconsistencies with mSuggest.
This should fix some NPEs, but they are so unlikely that we never
see them.

Bug: 10065412
Change-Id: I2aefea1f52024405cc3fda9106fea41a02aaf4d8
2013-07-31 18:59:18 +09:00
Satoshi Kataoka
87d06afc66 Refactor on the user history dictionary
Bug: 9429906
Bug: 4192129
Change-Id: I1a2bfe96e18119d30a72290aa48746f77a021018
2013-07-31 16:48:55 +09:00
Jean Chalard
c5c226c424 Fix inconsistency with mutable settings.
Change-Id: I0550044199273cecb6f5713aa2e43ae16319cd47
2013-07-30 14:30:24 +09:00
Jean Chalard
74bcc911ea Fix a problem where settings were not renewed correctly.
Bug: 10065412
Change-Id: Id05284f45466cd5b2697a695c3d1bdfbf3cc1f24
2013-07-30 13:22:05 +09:00
Ken Wakasa
b60e65a0cc Rename a variable for SettingsValues
Change-Id: Icb4155532ea8724791c9194e8dc75ce32b6e8b16
2013-07-29 18:53:23 +09:00
Jean Chalard
d9f0c1e020 Merge "Fix an NPE" 2013-07-29 09:46:32 +00:00
Jean Chalard
5408fec63a Fix an NPE
Also make mSuggest private for more security.

Bug: 10045657
Change-Id: I712505e4d2a2606efff5d09ba9b4c656f9e7c7a9
2013-07-29 18:09:48 +09:00
Satoshi Kataoka
d45e4b6e5b Add personalization dictionary helper
Bug: 9429906
Bug: 4192129

Change-Id: Ic618b0b09a54ed46b20633bd4c1c570d4ac775af
2013-07-29 12:37:27 +09:00
Satoshi Kataoka
ffcbbaf127 Refactor on UserHistoryDictionary
Bug: 9429906
Change-Id: I576a91643bdaf5017cc826ac2e07a74a9a275d60
2013-07-26 13:00:19 +09:00
Tadashi G. Takaoka
5c095e59f6 Cancel all ongoing event when onFinishInputView
Bug: 9334755
Change-Id: If0c2ac49a50f4a529aefeca603569f9413367469
2013-07-25 20:05:39 +09:00
Ken Wakasa
a7d2fc6bef Move settings related classes to "settings"
Change-Id: Id170dbfe2dcfc93130b7be4a84615940403ec37f
2013-07-22 16:35:44 +09:00
Ken Wakasa
b03447e1af Move a couple classes to the utils package
Change-Id: Ia14a2011d79bad7cd02697b9254705f6e2099442
2013-07-19 10:46:46 +09:00
Tadashi G. Takaoka
6455172a70 Distinguish key press in repeat key
Bug: 9859367
Change-Id: Iad643f9785b193e1918a8363de4fefc3b7558bdf
2013-07-16 19:21:16 +09:00
Tadashi G. Takaoka
4be6198cb7 Reorganize Utils class
Change-Id: I7294d1547def5dcfcae9d1d53b277cb3cc9f2d18
2013-07-05 19:24:40 +09:00
Tadashi G. Takaoka
f87e8f7ec1 Handling key repeat by emulating key press and code input
This change also eliminates a reference of
AudioAndHapticFeedbackManager from KeyboardSwitcher and MainKeyboard.

Bug: 6522943
Change-Id: Iac42ec8ff00c66deb76a660ffc07477923a58959
2013-07-02 19:50:34 +09:00
Jean Chalard
e5a3b77664 Merge "Move Range out of RichInputConnection and rename it." 2013-07-01 07:20:51 +00:00
Jean Chalard
675bcf191c Move Range out of RichInputConnection and rename it.
Range has grown a bit too big to stay an internal class.

Change-Id: Ic3fbc48a5d10776eedd7559c4d696e5926b88288
2013-07-01 15:41:13 +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
Jean Chalard
2bbd78ab0a Merge "Ignore spans that are not the right size." 2013-06-27 03:06:47 +00:00
Jean Chalard
2f7f6257b6 Ignore spans that are not the right size.
Bug: 8839763
Bug: 8862327
Change-Id: I5d49c86edcbc0fc1b2b147856437cfbadd678377
2013-06-26 23:02:50 +09:00
Jean Chalard
6c0e412137 Merge "Resume suggestion at start input" 2013-06-26 10:18:32 +00:00
Jean Chalard
fb72890ac6 Readability improvement
Change-Id: I2f350145f333ba1fa4eb20027b0f41107c2df02c
2013-06-26 16:03:40 +09:00
Jean Chalard
7fcf304c97 Fixing follow-up to I548d899b
I548d899b introduced a new method to fix a sync miss between
the cursor position and the cached cursor position, but did not
take into account that it should also update the cached text
before and after the cursor in this case and that there was
already a method for doing this.

Change-Id: I31bd741893207c822827304e77791b1159774e1a
2013-06-26 15:28:42 +09:00
Jean Chalard
2f69348d51 Resume suggestion at start input
Bug: 9568410
Change-Id: I65468268f8613c863fa7f3a497b64656da0a221c
2013-06-25 19:38:31 +09:00
Ken Wakasa
9419e02fd9 Make UserLogRingCharBuffer an external class
Change-Id: I9d506995337d64ec11c72939a8d739423ee46efa
2013-06-25 18:38:13 +09:00
Jean Chalard
10585620bd Merge "Fix a bug in the cached cursor pos, and simplify selection handling" 2013-06-25 05:00:11 +00:00
Jean Chalard
cdf774122d Merge "Fix a small bug" 2013-06-24 10:00:05 +00:00
Ken Wakasa
bfaf349c35 Load the native lib eagerly
in the hope of avoiding UnsatisfiedLinkError. This is definitely not a
confident fix as we still don't know the root cause of the issue.

bug: 9325110
Change-Id: I1abf8031b98509f63fce6a2d069d497895ea712c
2013-06-24 18:12:04 +09:00
Ken Wakasa
bc1813186d Merge "Move util classes to the latin/utils directory" 2013-06-24 08:49:06 +00:00
Jean Chalard
ca52e1ca5a Fix a small bug
SpannableStrings are not the only type of Spanned, they are
only the mutable kind. SpannedString is the immutable one.
Spanned is the correct class to use there.

Bug: 8839763
Bug: 8862327
Change-Id: Ic5e6199a51f22368914f2748ac2d0d1ca6a33f78
2013-06-24 17:39:17 +09:00
Ken Wakasa
e28eba5074 Move util classes to the latin/utils directory
Change-Id: I1c5b27c8edf231680edb8d96f63b9d04cfc6a6fa
2013-06-24 17:04:40 +09:00
Jean Chalard
e8c4b99e56 Refactor text range to be able to get spans larger than the word
This changes how the Range class stores its data, but not its
functionality. It also improves encapsulation a bit.

Bug: 8839763
Bug: 8862327
Change-Id: I5bd583b3fc96a99b93a2632882d8fd587c03ab76
2013-06-24 12:31:14 +09:00
Jean Chalard
673c727b7a Defer disk-intensive tasks until after the keyboard is shown
Bug: 8689779
Change-Id: Ia78d3540f44ec0028c3246a8e0163e9ecf061ecf
2013-06-21 19:41:45 +09:00
Jean Chalard
e5dee0af4a Fix a bug in the cached cursor pos, and simplify selection handling
The documentation for setComposingRegion states explicitly
that it does not move the cursor. This is just a bug.
This does not have any ill effects right now, but it will have
in later changes if not fixed.

As for the selection handling, the specific test that this code
removes used to serve a purpose, but it does not any more because
the code using the value has been much sanitized. Now the variable
can just take the obvious value, and become so self-explanatory
that the comments are unnecessary.

Change-Id: I548d899b38776bd3ab5f5361aab0d89d98f12e73
2013-06-21 18:15:07 +09:00
Kurt Partridge
fc98325c61 Log score, kind, and sourceDict for manual suggestion and gesture
b/9422713

Change-Id: I4880fad6a5b10d09ca11b63311f14862bee724e5
2013-06-13 11:03:49 -07:00
Jean Chalard
27d9c6f795 Merge "Cache subtype lists reasonably." 2013-06-13 01:49:41 +00:00
Jean Chalard
ff6445ed0e Cache subtype lists reasonably.
This will spare a lot of IPC for Latin IME at the cost of very little
retained memory.
This improves the loading by potentially a lot - between 15 and 30%
when the layout is cached (which should now be the case almost every
time), and half that if it's not. More importantly, it makes the
load time less sensitive to high device load, which is one of the
sore points.

Bug: 8689779
Change-Id: I2e07736f1a92c38eed0e203bc690761a181da8b9
2013-06-12 18:04:52 +09:00
Kurt Partridge
efd26bb319 Allow downloadable dictionaries in development builds
Bug: 9305379

Change-Id: Iab32753070a056d3861a45aa898911b7ab67dfb6
2013-06-05 22:14:54 -07:00
Tadashi G. Takaoka
0bfc2bc419 Merge "Add CODE_CAPSLOCK for long press shift key" 2013-06-05 02:19:02 +00:00
Tadashi G. Takaoka
9552badf3c Add CODE_CAPSLOCK for long press shift key
This change utilizes the no panel auto more key feature to implement
long press shift key for shift lock.

Change-Id: I3995d25dc35aea3c67b5aa29299815462eff9cad
2013-06-04 18:20:06 +09:00
Tadashi G. Takaoka
9ff7354d78 Clear previous suggestions when gesture typing starts
Bug: 8651076
Change-Id: Ic65ed3e3696409edea4e35080c11e4d1869a5a7e
2013-06-03 17:59:26 +09:00
Kurt Partridge
743302888b Merge "Uncommit separator LogUnits" 2013-06-03 03:01:23 +00:00
Kurt Partridge
3d20946272 Merge "Uncommit LogUnits when reverting textInput" 2013-06-03 02:58:20 +00:00
Kurt Partridge
bdff287a0d Uncommit separator LogUnits
Now that separators have their own LogUnits, they must be uncommitted
from the LogBuffer when backspacing over them.

Bug: 9088919

Change-Id: Ib36cc94939b93abe18850a06bced17caf8aaa5b9
2013-06-02 19:15:57 -07:00
Kurt Partridge
720840851d Uncommit LogUnits when reverting textInput
Bug: 9088919

Change-Id: I17187aa0afc1c3e9d32269c65f66cfb3a08663cb
2013-06-01 23:42:35 -07:00
Kurt Partridge
4165ef031f Remove uncommit on reverting batch input
Currently when the user reverts a batch input, a LogUnit is uncommitted
from the LogBuffer.  It should not be, because the LogUnit containing the
batch input is never committed in the first place (it is only committed
to the LogBuffer when a key is pressed or a new batch input is entered).

Bug: 9088919

Change-Id: I323af453ce082437a663ccae977b21b775a964bc
2013-06-01 11:15:47 -07:00
Jean Chalard
68d9cb62e2 Tell the text view we reset state on finish input
This should be done in onFinishInput rather than onFinishInputView
but for an unknown reason onFinishInput never comes.

Bug: 9113167
Change-Id: Iafb40846a3ed8fad78bfc160d17cd431f81fe891
2013-05-29 18:44:40 +09:00
Satoshi Kataoka
3d97b95b90 Implement KIND_OOV_CORRECTION
Bug: 9127749
Change-Id: I96db15a3138e6b522c4c6ad16cc7faad577d3772
2013-05-27 18:53:43 -07:00
Tadashi G. Takaoka
618407ab7e Use localized toLowerString in AutoCorrection.isValidWord
Bug: 9112465
Change-Id: I63eb4115f393444560e80220d4c90f0f7101b934
2013-05-24 11:47:36 -07:00
Tadashi G. Takaoka
6f9105383a Remove unnecessary methods of KeyboardSwitcher
Change-Id: Idd3647bb1a1d40df8bb89eda715d45427a58d0cd
2013-05-22 10:49:53 -07:00
Jean Chalard
05ea7c5d02 am 167ba345: am 89fe1f50: Add a method to work around apps broken by recorrection
* commit '167ba3459b0ce02b9add12ade9388bd2b1e6eb62':
  Add a method to work around apps broken by recorrection
2013-05-20 21:10:07 -07:00
Jean Chalard
0013f97ddd am 5906b05b: am 7058b02a: Extract a new class for app-specific workarounds.
* commit '5906b05bb50c0a67bd4f03fcfae41db3daefe0bc':
  Extract a new class for app-specific workarounds.
2013-05-20 19:50:46 -07:00
Jean Chalard
89fe1f5088 Add a method to work around apps broken by recorrection
Bug: 8944307
Change-Id: I8986622554f30aaf4f595099c4ab5652b75c972c
2013-05-21 07:53:31 +09:00
Jean Chalard
7058b02a9c Extract a new class for app-specific workarounds.
Bug: 8944307
Change-Id: Iaff9dd03d3d856a6bdaa2b16c4e71e95cd2b6349
2013-05-21 07:53:28 +09:00
Kurt Partridge
500dea6ad4 Fix punctuation logging
Punctuation is currently put into the same LogUnit as the
following word.  This is counter-intuitive and makes
post-processing more complicated.

This change causes punctuation to be put into its own
LogUnit.

A tricky case is the phantom space.  A phantom space is
inserted right before other text, whose MotionEvents have
already been collected and inserted into mCurrentLogBuffer.
Phantom spaces are handled by creating their own LogUnit and
inserting it into the LogBuffer right before
mCurrentLogBuffer is shifted in.

Change-Id: I102d7cd93982ad37ba0abb6c1ac0f66b85b5f95d
2013-05-17 09:47:40 -07:00
Kurt Partridge
17b63ba588 Merge "Remove unnecessary commit/uncommit" 2013-05-15 23:52:43 +00:00
Jean Chalard
b1e37e4a47 am f1dcf725: Merge "Don\'t process recorrection or resets when not shown"
* commit 'f1dcf725061b3e61e40540566a5385cf4934f424':
  Don't process recorrection or resets when not shown
2013-05-15 07:58:27 -07:00
Jean Chalard
c9aaba1253 Don't process recorrection or resets when not shown
Bug: 8954116
Change-Id: Ica27dbfc570643bb81e6cdf34cc7c796ea080d71
2013-05-15 20:20:20 +09:00
Kurt Partridge
993acbaaa2 Remove unnecessary commit/uncommit
When the user reverts a commit, this causes the committed
word to be changed. The user usually then goes back to edit
that word.  Going back to edit causes an uncommit, so that
the editing actions are added onto the LogUnit containing
the operations used to construct the word.

But currently, reverting also involves its own
commit/uncommit pair, with the caller performing the
uncommit, and the commit happening inside the revert
command.  This may have been necessary in the past, when
revert was called in different situations, but is
unnecessary now.  Furthermore, the guarding conditions are
currently such that the uncommit doesn't always undo the
effects of the commit, corrupting the log output.

Change-Id: I74af41f4f1db2fcabfa496dcc4a2d7bd0af19b3a
2013-05-14 12:20:27 -07:00
Ken Wakasa
d6d70e7325 Merge "Revert "Fix isSuggestionsStripVisible when keyboard hidden"" 2013-05-14 11:46:04 +00:00
Ken Wakasa
3efa36f6aa Revert "Fix isSuggestionsStripVisible when keyboard hidden"
This reverts commit cb0d1c4c58

Change-Id: Ie2c8e01c25bd051b6157e8f32ab84392a0c7252a
bug: 8954116
2013-05-14 11:44:22 +00:00
Tadashi G. Takaoka
41016acacf Back to previous keyboard layout by canceling sliding input
Bug: 8915171
Change-Id: Iabdeb7920f67f89246087c3ee06240406ecfbc3d
2013-05-14 20:28:03 +09:00
Jean Chalard
cb0d1c4c58 Fix isSuggestionsStripVisible when keyboard hidden
When the keyboard is hidden, the suggestion strip is
never visible.

Bug: 8954116
Change-Id: I9f242d07b49ad60b625a22429bb013251e814905
2013-05-14 15:19:19 +09:00