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
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
This just mirrors what InputLogic#tryFixLyingCursorPosition
is doing. That method will go away in the next change.
Change-Id: Ifa2827dbc1f1d20e2c642d6f2d23514a01ed9203
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
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
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
This is conflicting with later changes. Temporary revert for cherry-pick.
This reverts commit 0b593ce858.
Change-Id: Id53eadb023a950cfcca496c0cfbfe583c7ec7b8c
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
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
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
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
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
This sheds some light on what's happening here. Some
comments were at least misleading, maybe indicating something
is not sequenced as intended.
Bug: 8636060
Change-Id: Ia74feb457a39fe4a672c27fe4203264fda940f04
No point in calling maybeRetrieveOlderSuggestions now that the
same work is done right here. The callback is also useless now.
Bug: 8636060
Change-Id: Ic14849cb6f6e6293a42cfe068f5c6b18b7677bc0
I don't see why we would want to remove other suggestions just because
the only suggestion happens to be a dictionary word. That's just
inconsistent.
Bug: 8636060
Change-Id: Ie2d990e5785273d625e6e5518026364165a8f2df
Move the logic that determines how to handle gesture typing from
PointerTracker to BatchInputArbiter class.
This change must be checked in together with Ia7db8f4fb7.
Change-Id: I5e9f786de58d8a3cb0407ae562af707710ec37fb