fix(android): use main looper to dispatch key events when OSK is hidden #12871
+6
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #12366
Supersedes: #12381
Alas, it would appear that we cannot rely on the
WebView
's version ofpostDelayed
, as apparently that doesn't actually trigger delayed events when theWebView
has been detached! We can, however, construct aHandler
instance and link it to the UI thread's looper in order to achieve our desired effect.User Testing
Setup - Install the PR build of Keyman for Android on a physical device. Also pair an external keyboard (USB/bluetooth) to the device
TEST_KEYBOARD - Verifies external keyboard works when virtual keyboard hidden
à
.à
Please repeat the test a few times, verifying that no errors are triggered during any attempt.