Request hiding IME before starting next activity transition

Since legacy hideSoftInputFromWindow() for IME hiding animation
will be scheduled on the focus app's UI thread, so if activity
transition has running the animation on UI thread, the
IME hiding animation will be delayed until the animation finish.

Make sure calling WindowInsetsController#hide(ime()) before starting
activity transition to prevent flicker issue.

Bug: 204732064
Test: adb shell am start -a android.settings.BIOMETRIC_ENROLL
Test: SUW set/confirm pin and move to setup fingerprint(back and forth)
Test: make -j RunSettingsRoboTests

Change-Id: I33278dd5c993c0bc299ebd065011e5d18c7242e0
This commit is contained in:
lbill
2022-10-28 08:25:30 +00:00
parent eff9effb25
commit 526d5c692d
4 changed files with 25 additions and 4 deletions

View File

@@ -954,6 +954,9 @@ public class ChooseLockPassword extends SettingsActivity {
return;
}
ConfirmDeviceCredentialUtils.hideImeImmediately(
getActivity().getWindow().getDecorView());
mPasswordEntryInputDisabler.setInputEnabled(false);
setNextEnabled(false);