Show bubble bar when hotseat icons are visible
Fixes a flicker with bubble bar briefly attempting to stash when swiping
up on home screen.
Keeps bubble bar visible when dragging an icon on home screen.
Bug: 365561149
Flag: com.android.wm.shell.enable_bubble_bar
Test: swipe up on home screen, check that bubble bar does not stash
Test: drag a home screen icon, check that bubble bar does not stash
Change-Id: Ic8f4bf6051ed437167f369e8581a631b73e839b2
diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
index 69da7b6..177d011 100644
--- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
@@ -137,11 +137,6 @@
mHomeState.removeListener(mVisibilityChangeListener);
}
- /** Returns {@code true} if launcher is currently presenting the home screen. */
- public boolean isOnHome() {
- return mTaskbarLauncherStateController.isOnHome();
- }
-
private void onInAppDisplayProgressChanged() {
if (mControllers != null) {
// Update our shared state so we can restore it if taskbar gets recreated.
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
index 4188a0f..060be15 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
@@ -16,6 +16,7 @@
package com.android.launcher3.taskbar;
import static com.android.app.animation.Interpolators.EMPHASIZED;
+import static com.android.launcher3.LauncherState.HOTSEAT_ICONS;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_APP;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_OVERVIEW;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_STASHED_LAUNCHER_STATE;
@@ -441,11 +442,6 @@
return animator;
}
- /** Returns {@code true} if launcher is currently presenting the home screen. */
- public boolean isOnHome() {
- return isInLauncher() && mLauncherState == LauncherState.NORMAL;
- }
-
private Animator onStateChangeApplied(int changedFlags, long duration, boolean start) {
final boolean isInLauncher = isInLauncher();
final boolean isIconAlignedWithHotseat = isIconAlignedWithHotseat();
@@ -457,9 +453,11 @@
+ ", toAlignment: " + toAlignment);
}
mControllers.bubbleControllers.ifPresent(controllers -> {
- // Show the bubble bar when on launcher home or in overview.
+ // Show the bubble bar when on launcher home (hotseat icons visible) or in overview
boolean onOverview = mLauncherState == LauncherState.OVERVIEW;
- controllers.bubbleStashController.setBubblesShowingOnHome(isOnHome());
+ boolean hotseatIconsVisible = isInLauncher && mLauncherState.areElementsVisible(
+ mLauncher, HOTSEAT_ICONS);
+ controllers.bubbleStashController.setBubblesShowingOnHome(hotseatIconsVisible);
controllers.bubbleStashController.setBubblesShowingOnOverview(onOverview);
});