Fix updateAboveInsetsState may not apply IME window in some cases
In case updateAboveInsetsState didn't apply IME window to update app's above insets state when an edge case happens during unlocking the device that WindowState#applyImeWindowsIfNeeded returns false because the input target has not yet being drawn or visible, we should keep applying the IME window to update the input target's insets state when the input target is during unlock and in requested visible state. Bug: 246402296 Bug: 201987724 Test: atest InsetsStateControllerTest#\ testUpdateAboveInsetsState_imeTargetOnScreenBehavior Test: atest RemoteAnimationControllerTest#\ testLaunchRemoteAnimationWithoutImeBehind Test: manual as Bug 246402296 1) Launch a chat app 2) Start a chat channel to show IME 3) Press power button to turn the screen off 4) Press power button to turn the screen on and unlock 5) Expect the chat activity looks fine without flickers Test: manual as Bug 201987724 0-1) Set secure unlock method (e.g. pattern) 0-2) Install "Google Pay" app 0-3) Add a payment method instruction 1) Start Message app 2) Click search window and wait IME window appears 3) Hit power button to lock the device 4) Tap screen to show Lockscreen 5) Tap GPay icon 6) See animation and expect there is no IME flickering behind Change-Id: Ib43f4e2659d3afab63dc327f5f939fbd13afa5f3
Loading
Please register or sign in to comment