Fix IME is not working after reboot in kiosk mode
Problem:
If there is no secure lock screen and the device is in kiosk mode,
ime is not working after reboot
Reason:
Reboot -> starting kiosk activity in lock task mode -> AMS tries to
disable the keyguard while the "swipe to unlock" keyguard is showing.
mNeedToReshowWhenReenabled is set to be True, and system still considers
the keyguard is On (i.e. keyguardOn returns True). Thus, IME is not
allowed to bring up the window.
For the seucre lock screen case, it is fine because:
Reboot -> DE storage -> user enters credentail to unlock it ->
CE storage -> bring up kiosk activity in lock task mode -> AMS
disables keyguard while keyguard is already dismissed.
Solution:
Special handling the non secure case.
Dismiss the keyguard before disabling it.
FIXES: 74381063
Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testLockTaskAfterReboot_deviceOwnerUser
Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_deviceOwnerUser
Change-Id: I31ea924fff6f63741e74c36ef3c90c6b78fc9fe9
1 file changed