diff options
| author | 2023-05-05 09:34:05 +0000 | |
|---|---|---|
| committer | 2023-05-08 17:52:38 +0000 | |
| commit | 8fb9afd6559357f6583f19b04422312749ca910e (patch) | |
| tree | 12c1f0085f6b32dc0932430d8b0126d4c37cae26 /libs/androidfw/AssetsProvider.cpp | |
| parent | 957410032e8f8e226cfdba8cf4abfcb415a0e7bc (diff) | |
Fix ShowImeOnAppStartWhenLaunchingAppFromQuickSwitchTest flaky
As CL[1] that ImeVisibilityStateComputer leverages
onImeInputTargetVisibilityChanged callback to check whether the current
IME input target has been covered and became invisible by non-IME focusable
layering target. If so then ImeVisibilityStateComputer will hide the IME
to address the IME persists on top of layering target but the input target
was invisible case.
But there is an edge case that the starting window could possible shown
and cover the IME input target befor it drawn during animating (e.g.
quick-switching app tasks by recents animation) then leads to IME may
hidden by CL[1]'s case.
Luckly the above scenario has caught by
ShowImeOnAppStartWhenLaunchingAppFromQuickSwitchTest, to fix this
flaky case, add the windowType in onImeTargetOverlayVisibilityChanged
to give more context for ImeVisibilityStateComputer and ignore the starting
window case, since it since it's ok to cover the IME input target window
in temporary without affecting the IME visibility.
[1]: Ia71b975898efb19439c3a1b1a9a2bdcf21b78650
Fix: 278698977
Test: atest
FlickerTest:ShowImeOnAppStartWhenLaunchingAppFromQuickSwitchTest
--rerun-until-failure 10
Test: atest ImeVisibilityStateComputerTest
Change-Id: I3a950423f73f0a97432589d0a90ac8fd1c84f05e
Diffstat (limited to 'libs/androidfw/AssetsProvider.cpp')
0 files changed, 0 insertions, 0 deletions