Polish all apps taskbar unstash behavior for transient and persistent.

- During gestures from taskbar all apps, unstash immediately in
  transient.
- Overlay closes sooner if all apps is open (still done later for EDU).
- Taskbar stashes in overview when All Apps is opened.
- Transient app-window threshold is ignored if All Apps is opened.

Test: Manual
Fix: 262076812
Change-Id: I46b2dcdc75ee0cc15c1b47da2139ff8c20cf618a
This commit is contained in:
Brian Isganitis
2022-12-12 16:23:22 -05:00
parent 742294305f
commit 2a2f1b6cd3
6 changed files with 41 additions and 20 deletions
@@ -15,8 +15,6 @@
*/
package com.android.launcher3.taskbar.allapps;
import static com.android.launcher3.LauncherState.ALL_APPS;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_STASHED_IN_APP_AUTO;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_STASHED_IN_TASKBAR_ALL_APPS;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.OnboardingPrefs.ALL_APPS_VISITED_COUNT;
@@ -90,20 +88,19 @@ final class TaskbarAllAppsViewController {
}
private void setUpTaskbarStashing() {
mTaskbarStashController.updateStateForFlag(
DisplayController.isTransientTaskbar(mContext)
? FLAG_STASHED_IN_APP_AUTO
: FLAG_STASHED_IN_TASKBAR_ALL_APPS,
true);
mTaskbarStashController.applyState(
ALL_APPS.getTransitionDuration(mContext, true /* isToState */));
mTaskbarStashController.updateStateForFlag(FLAG_STASHED_IN_TASKBAR_ALL_APPS, true);
mTaskbarStashController.applyState(mOverlayController.getOpenDuration());
mNavbarButtonsViewController.setSlideInViewVisible(true);
mSlideInView.setOnCloseBeginListener(() -> {
mNavbarButtonsViewController.setSlideInViewVisible(false);
AbstractFloatingView.closeOpenContainer(
mContext, AbstractFloatingView.TYPE_ACTION_POPUP);
if (!DisplayController.isTransientTaskbar(mContext)) {
if (DisplayController.isTransientTaskbar(mContext)) {
mTaskbarStashController.updateStateForFlag(FLAG_STASHED_IN_TASKBAR_ALL_APPS, false);
mTaskbarStashController.applyState(mOverlayController.getCloseDuration());
} else {
// Post in case view is closing due to gesture navigation. If a gesture is in
// progress, wait to unstash until after the gesture is finished.
MAIN_EXECUTOR.post(() -> mTaskbarStashController.resetFlagIfNoGestureInProgress(