diff options
| author | 2022-04-14 15:19:29 -0700 | |
|---|---|---|
| committer | 2022-04-21 21:34:31 +0000 | |
| commit | eae7ca816504db4c9fd832048391e4ba983f72ab (patch) | |
| tree | 1ccedcabbc26073cd8430adf44b19d8df83fd3ec /libs/androidfw/AssetsProvider.cpp | |
| parent | 48441703770de186ae9e81aadd6be38233812a4d (diff) | |
Do not cleanup IME window if show is requested.
This CL fixes a race condition for IMM#showSoftInput, which surfaces
when it's called during an IME hide animation.
IMM#showSoftInput ends up calling WIC#show asynchronously, but at that
time the running IME hide animation may have already been finished
successfully, and WIC#show may fail to cancel the hide animation
(then the cleanup IMM#notifyImeHidden hides the IME again disruptively).
I think a clean fix is to have IMM#showSoftInput call WIC#show
synchronously. However, this requires a significant refactoring.
As a short term fix, this CL adds a boolean field indicating whether or
not IMM#showSoftInput has been called. If it's called, we skip calling
IMM#notifyImeHidden.
Bug: 221483132
Bug: 225674038
Test: atest InputMethodStressTest
Test: atest CtsInputMethodTestCases
Test: atest WindowInsetsAnimationControllerTests
Change-Id: I36d570630085d0bc34097a2433208601dc9cb0fd
(cherry picked from commit 4c607982ed2d3d23a739232bb0263c4c136a29b8)
Merged-In: I36d570630085d0bc34097a2433208601dc9cb0fd
Diffstat (limited to 'libs/androidfw/AssetsProvider.cpp')
0 files changed, 0 insertions, 0 deletions