It turns out that in the middle of updating Android context after a keystroke, we were triggering a selection-change before the batch-edit process was complete - though only if there was selected text. It's not clear why that one branch was left out of the "ignore selection change" mode, but including it is enough to fix the issue.
Refer to #8611 and #8682 for related historical context.
User Testing
TEST_REPRO: Using an up-to-date version of Android, attempt to reproduce the base issue (#11337).
Open Keyman In-app.
Type a sentence (eg., All things are beautiful)
Select the last word 'beautiful'.
Press Backspace key to delete that word.
Type the text 'ha..' (eg.,happen)
Verify that predictive text operates normally, instead of breaking as it did in #11337.
Fixes #11337.
It turns out that in the middle of updating Android context after a keystroke, we were triggering a selection-change before the batch-edit process was complete - though only if there was selected text. It's not clear why that one branch was left out of the "ignore selection change" mode, but including it is enough to fix the issue.
Refer to #8611 and #8682 for related historical context.
User Testing
TEST_REPRO: Using an up-to-date version of Android, attempt to reproduce the base issue (#11337).
Verify that predictive text operates normally, instead of breaking as it did in #11337.