Commit graph

6100 commits

Author SHA1 Message Date
Tadashi G. Takaoka
3033cc51b8 Refactor logic to retrieve relevant suggestions a bit
Change-Id: Ic7d2cbb2c1b2deaa4e735484bdc7413c0b3b1939
2014-01-20 12:08:25 +09:00
Keisuke Kuroyanagi
3f3b0af5b7 Merge "Fix unit tests by adding @UsedForTesting" 2014-01-19 22:47:03 +00:00
Keisuke Kuroyanagi
fde4c5f128 Fix unit tests by adding @UsedForTesting
Change-Id: I2d2d226e21a46239077394ab09db88a4bd563460
2014-01-19 13:37:23 -08:00
Keisuke Kuroyanagi
b1814c9633 Merge "Make contacts dict and user dict version 4." 2014-01-17 20:05:17 +00:00
Keisuke Kuroyanagi
ed95d79cc4 Make contacts dict and user dict version 4.
Bug: 12515251
Change-Id: I0b332e03b9102957bffaea56d4de17b9ee3cef23
2014-01-17 10:30:16 -08:00
Tadashi G. Takaoka
6a18af634e Refactor RichInputConnection a bit
Change-Id: I866488a47ca04ca587e805663dfd597bb7b1ebce
2014-01-17 13:14:29 +09:00
Jean Chalard
2334bf6d8c Merge "Fix a bug specific to German capitalization." 2014-01-17 01:49:14 +00:00
Jean Chalard
e4f584de73 Merge "[IL60] Make InputLogicHandler package private" 2014-01-16 18:15:15 +00:00
Jean Chalard
87f87d9ac5 Merge "[IL59] Rename a method" 2014-01-16 18:13:39 +00:00
Jean Chalard
9c9c43c0b7 Merge "[IL58] Simplification" 2014-01-16 17:45:59 +00:00
Keisuke Kuroyanagi
f4bf620502 Merge "Add a dedicated method to control time in native code." 2014-01-16 17:25:29 +00:00
Jean Chalard
ab4543d593 [IL61] Remove an internal use of key coordinates
Bug: 8636060
Change-Id: Id87b0ac4a99ec6a26db6e250d6cd22defc02a23d
2014-01-17 02:10:56 +09:00
Jean Chalard
81255612bc [IL60] Make InputLogicHandler package private
Yay

Bug: 8636060
Change-Id: Iad9c3804504635094e861999198f4baf70e61955
2014-01-17 02:10:56 +09:00
Jean Chalard
17bd129faf [IL59] Rename a method
Um... this is not async ? Remove that from the name

Bug: 8636060
Change-Id: Ida5f9bd6929eae75103eb2e3fb866ed7468af806
2014-01-17 02:10:56 +09:00
Jean Chalard
ac6dfaf80b [IL58] Simplification
No need to test multiple times for this. Let's just never do useless
stuff, and only test for that once.

Bug: 8636060
Change-Id: I50a9e4da769fbec44fbb12eedfed03aad924cc2c
2014-01-17 02:10:51 +09:00
Jean Chalard
60afa7000f Fix a bug specific to German capitalization.
Bug: 9663105
Change-Id: Ib68ee4edb135e96dfca229c1ccce308e7e638bdd
2014-01-17 02:06:24 +09:00
Keisuke Kuroyanagi
9e882e3937 Merge "Update personalization dict via dictionary facilitator." 2014-01-16 02:00:21 +00:00
Keisuke Kuroyanagi
12474634c5 Update personalization dict via dictionary facilitator.
Change-Id: I512c41e12d8d31f03b5df6ad03bf7711611c80f5
2014-01-15 17:54:17 -08:00
Keisuke Kuroyanagi
d78a447d10 Add a dedicated method to control time in native code.
Bug: 12443085
Change-Id: I41a5cf6c895cb59e54af98b40efded36afcd3247
2014-01-15 14:55:57 -08:00
Jean Chalard
2c1a13c56c Merge "[IL57] Don't require a main dict suggestion." 2014-01-15 22:14:27 +00:00
Jean Chalard
118a4fc2b7 Merge "[IL56] Don't erase suggestions when reverting a commit." 2014-01-15 19:21:06 +00:00
Jean Chalard
e22e67e37a [IL57] Don't require a main dict suggestion.
This is bad for recorrection (it will ignore recorrection suggestions).
But if you think about it well, if you didn't have a main dict, then you
probably will compute the same stuff anyway. It's not useful
to make this check at all.

Bug: 12297051
Change-Id: I6d6cf4d9353b7c668c5413c67701563b243e585c
2014-01-16 03:22:51 +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
20a8a4a3d9 Fix native method signature
Change-Id: Ia2d566f162f746c6b2b2b874f7278d86abd9e839
2014-01-15 18:56:40 +09:00
Tadashi G. Takaoka
01c1a1a2ba Refactor LanguageModelParam class a bit
This change must be checked in together with I9ecfd1adc1.

Change-Id: I26f8c17d6347b75dba6abb3d73239f4052327dae
2014-01-15 17:46:32 +09:00
Tadashi G. Takaoka
17a2bcfcce Make final Locale field public
This change must be checked in together with Id9382498a8.

Change-Id: I804d78969bccf8bdc224477bd64c8ac12c1ab0d6
2014-01-15 17:11:54 +09:00
Tadashi G. Takaoka
b8a2772b0e Consolidate LanguageModelParam constructors
Change-Id: I142651d1f268456a5901da524cbe55d315f76d28
2014-01-15 16:17:53 +09:00
Tadashi G. Takaoka
7b9b095090 Move LanguageModelParams class to utility package
This change must be checked in together with Ic82d951237.

Change-Id: I2ab451330f85a0147563b805682f26edecb71a29
2014-01-15 16:14:53 +09:00
Keisuke Kuroyanagi
68069c55c4 Fix flaky unit test.
Change-Id: I8df0f9a0398b29f679844f256ad84f09ebcea8ee
2014-01-14 18:51:29 -08:00
Tadashi G. Takaoka
bf418f7cba Pass time stamp to addToUserHistory method as an argument
Bug: 12179576
Change-Id: I93037ee2aa7c0432400fe2f93fb60d2e60f70f5f
2014-01-14 15:48:08 +09:00
Keisuke Kuroyanagi
5717c63a2b Fix possible NPE in DictionaryFacilitatorForSuggest.
Change-Id: I57792b7417b5f1acbb99e6ea60250eb44b193785
2014-01-10 21:42:08 +09:00
Jean Chalard
db0adf86a4 Merge "[IL55] Remove a useless argument." 2014-01-10 11:36:01 +00:00
Keisuke Kuroyanagi
eb66f1906d Merge "Check corpus handles during startup for personalization." 2014-01-10 11:34:39 +00:00
Jean Chalard
6c24b91601 [IL55] Remove a useless argument.
Change-Id: I0b3a6cdf49038c32194413c21da824784a53f581
2014-01-10 20:28:50 +09:00
Keisuke Kuroyanagi
eb28bac542 Check corpus handles during startup for personalization.
Bug: 12479792
Change-Id: I62fd75d4bebd28afebd9631e865f5d59385511e7
2014-01-10 20:28:30 +09:00
Jean Chalard
4be9137609 Merge "[IL54.5] Use the cursor pos estimate, not the last value" 2014-01-10 10:46:27 +00:00
Jean Chalard
a224aafea3 [IL54.5] Use the cursor pos estimate, not the last value
For edit tasks, the estimate is actually the right thing to use.
This is really dangerous, but it will get rid of pretty much all
race conditions.

Change-Id: I2d5ca3ce45e32f1bd9c8b778421fd54b9c1f6f63
2014-01-10 19:08:47 +09:00
Keisuke Kuroyanagi
f96e0f07af Merge "Periodic wipe of the personalization dict." 2014-01-10 09:31:22 +00:00
Keisuke Kuroyanagi
ba07df7fc1 Periodic wipe of the personalization dict.
Bug: 12216453

Change-Id: Ie59dd19c044e9b1eb9b8bd805366200737ea506a
2014-01-10 16:30:59 +09:00
Jean Chalard
ecf46df226 [IL54] Add a mirror method to fix the cursor pos estimate
This just mirrors what InputLogic#tryFixLyingCursorPosition
is doing. That method will go away in the next change.

Change-Id: Ifa2827dbc1f1d20e2c642d6f2d23514a01ed9203
2014-01-10 16:05:02 +09:00
Jean Chalard
6fbe83be7a [IL53] Fix a wrong test.
This test was intended only for cases without a selection, and as
a safety net for cases where the app would pretend the cursor
is at N but we can get P chars from the editor where P > N.

When there is a selection, this is wrong. In the practice it works
because these values are not used in this case, but it's still wrong.

The case where P > N is arguable, but actually I see little reason
to trust the getTextBeforeCursor() method more than the
onUpdate selection method. Plus in the practice, I don't think
we are aware of any app with this bug, and it's probably not a
great idea to be too robust about this as it may encourage wrong
values sent to onUpdateSelection.

Change-Id: I42f2065d7aee668074e6b8e40b259da7e88e16e1
2014-01-10 15:21:20 +09:00
Jean Chalard
958e452025 Merge "Fix an NPE." 2014-01-10 05:13:47 +00:00
Jean Chalard
e1de87ae69 Fix an NPE.
Bug: 12397228
Change-Id: I7632931f0685fc8f0558946be66025b2bb2b5a3d
2014-01-10 13:46:37 +09:00
Jean Chalard
84a3047e80 Fix build.
Change-Id: I6d0b572190080e58e95f72856ad39e72a49537b7
2014-01-10 12:18:26 +09:00
Tadashi G. Takaoka
ee35e69eae Passing SpacingAndPunctuations to StringUtils.looksValidForDictionaryInsertion
This change must be checked in together with Iec437d6df0.

Change-Id: Idf745b8870965f3bdf690de7ff3b22f83f6204bf
2014-01-09 19:05:09 +09:00
Tadashi G. Takaoka
494e2d6c17 Passing SpacingAndPunctuations to RichInputConnection.getNthPreviousWords
Change-Id: I174c50f509ed6998b755e1a712e7f6c0f82f4425
2014-01-09 18:33:25 +09:00
Tadashi G. Takaoka
d7660c6f56 Merge "Passing SpacingAndPunctuations to CapsModeUtils.getCapsMode" 2014-01-09 09:31:32 +00:00
Tadashi G. Takaoka
c912b2228a Merge "Add American typography boolean to SpacingAndPunctuations" 2014-01-09 09:31:24 +00:00
Tadashi G. Takaoka
0a75cf51af Passing SpacingAndPunctuations to CapsModeUtils.getCapsMode
Change-Id: I0b06e8cc75a403f7061864c5b7f3f6a2cacd60eb
2014-01-09 18:19:17 +09:00
Tadashi G. Takaoka
860c3b8e8c Add American typography boolean to SpacingAndPunctuations
Change-Id: Ic2663eaef38fbe7c5bd1fb3a81771e94c2d4de52
2014-01-09 18:17:29 +09:00
Yohei Yukawa
6c326caa4f A style fix
Just a style fix to follow up the previous commit.

BUG: 11439600
Change-Id: Ib7a4654627a6fc22d86f2097f86f001bd76426e9
2014-01-09 15:54:47 +09:00
Keisuke Kuroyanagi
b30f7e4bce Merge "Check whether the word is OOV or not for amanatto update." 2014-01-09 06:24:17 +00:00
Jean Chalard
eab4d25210 Merge "Remove some warnings" 2014-01-09 05:45:10 +00:00
Yohei Yukawa
c1f2986a72 Merge "Trigger haptic feedback at touch down on the EmojiPalettesView" 2014-01-09 05:19:37 +00:00
Jean Chalard
b11339b3ab Remove some warnings
Change-Id: I5cfa0d2fccc139bd6c45c5590a68c3e0c90534b8
2014-01-09 14:04:34 +09:00
Jean Chalard
d3e78fc5ce Merge "Fix a bug where changing auto-shift would cancel autorepeat." 2014-01-09 04:53:34 +00:00
Jean Chalard
5cbda70956 Fix a bug where changing auto-shift would cancel autorepeat.
Bug: 12453966
Change-Id: Idd65f732e2de0a7309e08315893c28cca63732c5
2014-01-09 12:57:10 +09:00
Yohei Yukawa
df10aeb1da Trigger haptic feedback at touch down on the EmojiPalettesView
EmojiPalettesView triggers the haptic feedback at the timing of touch-up rather than touch-down.
This patch set changes the timing to touch-up so that the UX on the EmojiPalettesView can be consistent with normal keyboard layouts.

This patch set also fixes the missing haptic feedback from facemarks such as ":-)".

Bug: 11439600
Change-Id: I22245946712bd1c36226786d6ff81e3b563f7ef7
2014-01-09 12:27:31 +09:00
Keisuke Kuroyanagi
05113c1847 Check whether the word is OOV or not for amanatto update.
Bug: 11736529
Change-Id: I27973212da7e922b2185dbb4febfb5bb4dfbdcbb
2014-01-08 21:02:35 +09:00
Keisuke Kuroyanagi
5742a415f3 Merge "Make reloadMainDict() private." 2014-01-08 11:03:02 +00:00
Keisuke Kuroyanagi
9f1fe87580 Make reloadMainDict() private.
Bug: 8187060
Change-Id: I852a751d748f39512e62c9cd69748dfbe87b2151
2014-01-08 18:59:43 +09:00
Jean Chalard
b90fa0fb2c Revert "Revert "Separate spacing and punctuation related settings values""
This reverts commit 8bc427799a.

Change-Id: I34f509998afdb1a7c120fbfdb9f0a1b188224a4d
2014-01-08 18:08:01 +09:00
Jean Chalard
e5cdcaff65 Fix a race condition, take 2.
Don't use absolute cursor positions when making edits,
this leads to race conditions.
This is a bit ugly and will need to be fixed soon. Plans are
underway to clean this up.

Bug: 12390573
Change-Id: I69c09fc41b979880d0800c55a710e39373287cff
2014-01-08 18:04:44 +09:00
Jean Chalard
1e7f2809d2 Merge "Revert "Separate spacing and punctuation related settings values"" 2014-01-08 09:03:15 +00:00
Jean Chalard
8bc427799a Revert "Separate spacing and punctuation related settings values"
This is conflicting with later changes. Temporary revert for cherry-pick.

This reverts commit 0b593ce858.

Change-Id: Id53eadb023a950cfcca496c0cfbfe583c7ec7b8c
2014-01-08 09:00:45 +00:00
Jean Chalard
d4843c25e2 Merge "Revert "Fix a race condition, take 2."" 2014-01-08 09:00:18 +00:00
Jean Chalard
a247264dc6 Revert "Fix a race condition, take 2."
Conflicts prevent this to be cherry-picked.

This reverts commit dd3d697a6e.

Change-Id: Ib97fae2234633b4bb27d611f48a79060db9ab16f
2014-01-08 08:59:26 +00:00
Jean Chalard
ff7103d356 Merge "Fix a race condition, take 2." 2014-01-08 08:35:24 +00:00
Jean Chalard
0a0a3cdad8 Merge "Revert "Revert "Fix a race condition.""" 2014-01-08 08:35:19 +00:00
Jean Chalard
dd3d697a6e Fix a race condition, take 2.
Don't use absolute cursor positions when making edits,
this leads to race conditions.
This is a bit ugly and will need to be fixed soon. Plans are
underway to clean this up.

Bug: 12390573
Change-Id: Ib42d4149343c642b1b5c1937b424e8afdbd4cc1f
2014-01-08 17:19:29 +09:00
Jean Chalard
f628629f69 Revert "Revert "Fix a race condition.""
This reverts commit 3840127244.

Change-Id: I7f0d975ec9e18d94fe3505250360c2b79ccbe96d
2014-01-08 16:44:43 +09:00
Tadashi G. Takaoka
ad78058a93 Rename InputPointers.addPointer and ResizableIntArray.add
Change-Id: I5580250c91b29f93ed886b080ce33845b3b67ace
2014-01-08 14:30:21 +09:00
Tadashi G. Takaoka
e13cc9d7e5 Fix ResizableIntArrayTests readability
Change-Id: I68862b98f228210f1d76fef4fd7454edbfd8e01d
2014-01-08 14:30:21 +09:00
Tadashi G. Takaoka
9b351f7594 Merge "Fix InputPointersTests" 2014-01-08 05:29:32 +00:00
Tadashi G. Takaoka
e7dc5302af Fix InputPointersTests
InputPointers.getTime(int) has a validity check of time values. And
the check is enabled when LatinImeLogger.sDBG is on. Such situation
may occur while unit testing. This change ensure that time values are
monotonic while unit testing.

Change-Id: I9ff2cff2bcd253de0e8206dd3be964fe565170fa
2014-01-08 14:14:42 +09:00
Keisuke Kuroyanagi
b3c51630a6 Fix: NPE in LatinIME.loadSettnigs().
Change-Id: Icae6c74401a7a8f4da6015737f09f557640c0cca
2014-01-08 12:43:58 +09:00
Tadashi G. Takaoka
385031557b Merge "Separate spacing and punctuation related settings values" 2014-01-08 02:41:51 +00:00
Tadashi G. Takaoka
0b593ce858 Separate spacing and punctuation related settings values
Bug: 12179576
Change-Id: Ibafd824a0ea2251843b388e95dcbd8f9bca92d5c
2014-01-08 10:02:37 +09:00
Keisuke Kuroyanagi
c09fd175c3 Prepare using dictionaryFacilitator for amanatto updates.
Bug: 11736529
Change-Id: I0d9d9b1c1108b11064163df7c2089f53e92cd7ad
2014-01-07 18:11:23 +09:00
Keisuke Kuroyanagi
55713e3695 Update personalized dict only when single subtype is used.
Bug: 12424891
Change-Id: If041d1ab45988dbf9b878ae3367fee0fbc8a8988
2014-01-07 18:10:27 +09:00
Keisuke Kuroyanagi
8214a8c2cf Fix possible NPE.
Bug: 11933670
Change-Id: Ib0ce853e691bdadffb73874ea9f188cfbec8bc93
2014-01-06 17:56:49 +09:00
Tadashi G. Takaoka
3f8c6b8c54 Merge "Add description of disabled voice input key option" 2014-01-06 03:25:15 +00:00
Tadashi G. Takaoka
12ba821bfb Add description of disabled voice input key option
Bug: 12377179
Change-Id: I44d35c6fa82883710674ecca6f630d09076472fe
2014-01-06 12:11:55 +09:00
Tadashi G. Takaoka
e91559a119 Merge "Update shortcut IME info before checking availability of it" 2014-01-06 03:07:23 +00:00
Tadashi G. Takaoka
e9584a1612 Merge "Add DictionaryFacilitatorForSuggest constructor for testing" 2014-01-06 02:58:12 +00:00
Tadashi G. Takaoka
b7c531b751 Update shortcut IME info before checking availability of it
Bug: 12377179
Change-Id: I4e2de78dc7e21f3f34eb56c790160b77cfc7584c
2014-01-06 11:54:46 +09:00
Tadashi G. Takaoka
49b5fadae1 Add DictionaryFacilitatorForSuggest constructor for testing
This change must be checked in together with I00b6e79d6b.

Change-Id: Id5f87a8d0286eb44958381fefd428f16896dc0d4
2014-01-06 11:00:51 +09:00
Jean Chalard
1e50c681af [IL52] Remove a useless method.
This old method doesn't even re-read the old suggestions. It used to
recompute them without the coordinates.
Re-using the recorrection code, which is much more advanced, is
the right thing to do here.

Also, refining the test. It's no use trying to resume suggestion
if we don't have a suggestion strip, since we aren't going to
auto-correct anything anyway.

Not the motivation for this change, but this also fixes
Bug: 11620256
Change-Id: Id49efa32e293c49837c61fdc752c86bbac1d2c88
2013-12-27 22:40:19 +09:00
Jean Chalard
8ce921dd6b [IL51] Make private what can be made private
Bug: 8636060
Change-Id: Ifa027de465a421b67897d51e9ad47666dda117ad
2013-12-27 21:09:47 +09:00
Jean Chalard
53c320e275 [IL50] Move the InputUpdater out of LatinIME.
...at last

Bug: 8636060
Change-Id: If5e27a9d28ff64d318dd76792f55edfc8a78d2d7
2013-12-27 21:09:41 +09:00
Jean Chalard
81e0ca5fd3 [IL49] Move InputLogic-related init code to InputLogic.
Bug: 8636060
Change-Id: Ie5027512f066d9c530a686ac559e4649a39bf439
2013-12-27 20:06:39 +09:00
Jean Chalard
4970eda286 Fix a failing test
How/when did this happen? How was it not noticed?

Change-Id: I352a8dad65f8c27bf5120d567e96d9a12cfa8496
2013-12-27 20:04:41 +09:00
Jean Chalard
d05ea8bd82 Merge "[IL48] Move onEndBatchInputAsyncInternal to InputLogic." 2013-12-27 08:06:48 +00:00
Jean Chalard
af26a44102 Merge "[IL47] Inline getSuggestedWordsGestureLocked" 2013-12-27 08:04:51 +00:00
Jean Chalard
51e79fb4b2 Merge "[IL46] Remove a useless message passing." 2013-12-27 07:56:56 +00:00
Jean Chalard
2fc1cc099f Merge "[IL45] Remove lingering messages" 2013-12-27 07:56:44 +00:00
Jean Chalard
c654fe57b1 [IL48] Move onEndBatchInputAsyncInternal to InputLogic.
Bug: 8636060
Change-Id: Idfabf7231a80e21786ce1910b5140bb3dddcac7d
2013-12-27 16:50:08 +09:00
Jean Chalard
4a144b9b4d [IL47] Inline getSuggestedWordsGestureLocked
This method is confusing with the *Locked convention, and
the two-step call creates a useless callback object. This is
better inlined both for readability and for performance.

Bug: 8636060
Change-Id: I7c427c3ca4e831388a6d54de6728b32206a45d80
2013-12-27 16:50:08 +09:00
Jean Chalard
71a3e96382 [IL46] Remove a useless message passing.
The only point of this message is to send the processing on another
thread. However, this will be accomplished later.
Here is the exact call graph:
0. onUpdateBatchInput
1. -> MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP
2. -> updateBatchInputSync
3. -> getSuggestedWordsGestureLocked
4. -> MSG_GET_SUGGESTED_WORDS
5. -> LatinIME#getSuggestedWords

The point of both step 1. and step 4. is to make sure the processing
is happening on the InputUpdater thread. Thus, it's useless to do
it twice.

Bug: 11326092
Bug: 8636060
Change-Id: Iceebb9e8879a8f15b73c987f5fd3489f27699be4
2013-12-27 16:50:06 +09:00
Jean Chalard
0d21223521 Merge "[IL44] Some factorization" 2013-12-27 06:58:12 +00:00