Allow transient taskbar to unstash over soft ime
Bug: 255818649
Test: pull up ime, swipe to reveal taskbar
Change-Id: Ibae77c8a29d06093823f2421fbf851979f9babed
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
index 72ae1d1..5b0b3a2 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
@@ -745,6 +745,11 @@
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 @@
* * 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);