Update IME window status when KeyguardController#setKeyguardShown
As in IMMS#handleSetInteractive handles the IME icon status (e.g. Back-key arror or IME picker icon on navigation bar) when the interactive changed and setting IME icon as invisible when the keyguard is not the IME client and in shown state. However, the keyguard state is independent of the screen going non-interactive and the transition to locked can happen much later (e.g.the brief flow will be starting from triggering dream service to notify KeyguardService to update keyguard shown state to WM side), or even never depens on user settings. Add InputMethodManagerInternal#setImeWindowState for KeyguardController to update IME icon status directly to fix the timing issue that in IMMS side expects to set IME icon as IME_INVISIBLE when KeyguardManager#isKeyguardLocked is true but sometimes may return false and still see the IME icon is visible even the Lockscreen is shown. Bug: 185763794 Test: manual as below steps 0) setup PIN lock for the device 1) launch an app (e.g. Messaging) and show IME 2) turn-off the screen and then turn-on quickly 3) verify if the IME icon is invisible when the keyguard shown Change-Id: Ic12baae9fd7886d2d96a049c8067a79360088549
Loading
Please register or sign in to comment