Allow transient taskbar to unstash over soft ime

Bug: 255818649
Test: pull up ime, swipe to reveal taskbar
Change-Id: Ibae77c8a29d06093823f2421fbf851979f9babed
This commit is contained in:
Jon Miranda
2022-11-09 10:48:09 -08:00
parent 168c204f49
commit 9787ae6ad9

View File

@@ -745,6 +745,11 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
mIsImeShowing = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_IME_SHOWING);
mIsImeSwitcherShowing = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_IME_SWITCHER_SHOWING);
if (!mIsSystemGestureInProgress) {
if (mIsImeShowing || mIsImeSwitcherShowing) {
// Hide taskbar when IME is shown.
updateStateForFlag(FLAG_STASHED_IN_APP_AUTO, true);
}
updateStateForFlag(FLAG_STASHED_IN_APP_IME, shouldStashForIme());
animDuration = TASKBAR_STASH_DURATION_FOR_IME;
startDelay = getTaskbarStashStartDelayForIme();
@@ -758,8 +763,12 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
* * in small screen AND
* * 3 button nav AND
* * landscape (or seascape)
* We do not stash if taskbar is transient
*/
private boolean shouldStashForIme() {
if (DisplayController.isTransientTaskbar(mActivity)) {
return false;
}
return (mIsImeShowing || mIsImeSwitcherShowing) &&
!(isPhoneMode() && mActivity.isThreeButtonNav()
&& mActivity.getDeviceProfile().isLandscape);