diff options
author | Ming-Shin Lu <lumark@google.com> | 2022-01-19 00:54:21 +0800 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2022-03-02 18:17:48 -0800 |
commit | 83c396e9e7fd9a94ee410cae1f8a5fe21dbaa96b (patch) | |
tree | 64bcf59a1a90a02446b4d1b8f46a9e0ae454fbc5 /rs/java/android/renderscript/ProgramFragmentFixedFunction.java | |
parent | ade248a9bc7797209838d3d780f2ee03cff84d64 (diff) |
Fix IME flicker by dispatching unrelated insets after unset IME frozen
CL[1] to add InsetsStateController#updateAboveInsetsState in
DC#updateImeInputAndControlTarget that after setting
mImeInsetsFrozenUntilStartInput as false to unfreeze IME insets,
so that increases the possibility to deliver the last IME insets
change to non-IME input target window that didn't request show IME.
(Since updateImeInputAndControlTarget will call
WindowState#insetsChanged to client eventually)
As typically the new IME insets change will deliver to the client when
server receives InsetsStateController#onInsetsModified(InsetsControlTarget)
from the client requests IME visible after
DC#updateImeInputAndControlTarget.
So in DC#updateImeInputAndControlTarget, we should ensure to unfreeze
IME insets after the input target updated, in case updateAboveInsetsState
may deliver unrelated IME insets change to the non-IME requester.
[1]: I57357ba85501397fa5926ab4dee116c42df24506
Bug: 213522825
Test: atest ActivityRecordTests#\
testImeInsetsFrozenFlag_noDispatchVisibleInsetsWhenAppNotRequest
Test: atest WindowStateTests#\
testAdjustImeInsetsVisibilityWhenSwitchingApps
Test: Verify Bug 195385541 and Bug 195846009 that keyboard
won't cover the edit text.
(cherry picked from commit 938eb8fd2ded04bbcd5f32576a7bb4eaf186d56a)
(cherry picked from commit be42921e05ba3d1946efc090054cd4a498f22b80)
Merged-In: I95c5b45bd4cf9c30ff7771b2db485c8ae2b0c6db
Change-Id: I95c5b45bd4cf9c30ff7771b2db485c8ae2b0c6db
Diffstat (limited to 'rs/java/android/renderscript/ProgramFragmentFixedFunction.java')
0 files changed, 0 insertions, 0 deletions