It makes more sense to catch words with the safety net in
updateSuggestions() than in showSuggestions(). Also, it's useless
to do it in updateBigramPredictions, because the result will
always be provably false.
This will also help with writing unit tests.
Change-Id: Ifab81e6c5a74b1aa75cf85ef7742fee69a98f5ce
I wish "are we autocorrecting?" was not computed in a dozen
places all depending on a hundred code paths
More than likely, this fixes very subtle discrepancies
between auto-correction indicator with the underline and with
the LED on the spacebar - which is not displayed any more in
the current version anyway. Especially, the LED probably
would have been off when the word was caught by the safety net.
Change-Id: Idda3021771081d6155b06915e728ecd64d9e042e
The message id 0 is used intrinsically by the framework
for all messages without a specific ID. Using 0 here
we can't reliably use the post(Runnable) method on our
handler, because these would in *some* respects be taken
for update_suggestion messages, but not all.
For example, they'd be removed on removeMessage() but
they would not trigger the actual process. This would
lead to utter confusion.
Change-Id: I5d9b01d38e2ff090cd0d80c27421dc8a41c317b8
This is never called any more, since we now use the cancelCommit
path to react to a backspace after a manual pick.
This concludes the run of changes to implement feature
request #5968922
Change-Id: I23df653bb2a3de2ba0152394d5d616a42ac7519b
Also remove a test in debug mode that would check for absence of
a situation which is now expected.
Change-Id: Ia5be350bc98a604b3bf8f6057652c5534f6a19af
This is new code, but simple code. The new code path is never
used for now, but it will be in an upcoming change. This serves
to implement feature request #5968922
Change-Id: I3e67731ec6e9fc0b86c5cbd972e9c081781c11a9
Now that we have stored our committing separator, we can use
it directly instead of reading it back from the text view
paying the IPC cost. This prepares for feature request #5968922.
Change-Id: Ifeaa2d659cf12b91c89d28e6ff7d07a669258184
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
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
This would happen when a character is not a separator but is not
a word starter. Such characters include single quote and
dollar, and others non-letter, non-separator chars.
We set the bigram predictions if any - if not so configured, this
will fallback on setting back punctuations into the strip.
Bug: 6010408
Change-Id: Id203bbe87f8c13de0d5027b555c9067c7ec98f92
It turns out this was available in an unexpected place.
Fixes both the following bugs
Bug: 5948469
Bug: 6023118
Change-Id: Ie1a91b8268540ea0f0df02bee94c3bbdeb0fa4c5
This change also cancels double tap and long press timers if other
letter key is pressed after shift key.
Bug: 5693999
Bug: 6017610
Change-Id: I3b5f3debfb8915fa73a93b409a38afadf24132e9