From 9787ae6ad9be6caf2a0d4c5f3ec1a1e950772bda Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Wed, 9 Nov 2022 10:48:09 -0800 Subject: [PATCH] Allow transient taskbar to unstash over soft ime Bug: 255818649 Test: pull up ime, swipe to reveal taskbar Change-Id: Ibae77c8a29d06093823f2421fbf851979f9babed --- .../launcher3/taskbar/TaskbarStashController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index 72ae1d1c31..5b0b3a2219 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -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);