diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index fb0cd17d27..e56eb6c5c8 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -26,6 +26,7 @@ import static com.android.launcher3.allapps.DiscoveryBounce.HOME_BOUNCE_SEEN; import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_COUNT; import static com.android.launcher3.allapps.DiscoveryBounce.SHELF_BOUNCE_SEEN; import static com.android.quickstep.SysUINavigationMode.removeShelfFromOverview; +import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import android.animation.AnimatorSet; import android.animation.ValueAnimator; @@ -229,6 +230,13 @@ public abstract class BaseQuickstepLauncher extends Launcher } } + @Override + protected void closeOpenViews(boolean animate) { + super.closeOpenViews(animate); + ActivityManagerWrapper.getInstance() + .closeSystemWindows(CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY); + } + @Override protected StateHandler[] createStateHandlers() { return new StateHandler[] { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 20ebc7a27d..965b87bb6a 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1466,7 +1466,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, if (isActionMain) { if (!internalStateHandled) { // In all these cases, only animate if we're already on home - AbstractFloatingView.closeAllOpenViews(this, isStarted()); + closeOpenViews(isStarted()); if (!isInState(NORMAL)) { // Only change state, if not already the same. This prevents cancelling any @@ -2207,7 +2207,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, mWorkspace.postDelayed(new Runnable() { public void run() { if (mWorkspace != null) { - AbstractFloatingView.closeAllOpenViews(Launcher.this, false); + closeOpenViews(false); mWorkspace.snapToPage(newScreenIndex); mWorkspace.postDelayed(startBounceAnimRunnable, @@ -2695,7 +2695,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, if (!mDragController.isDragging() && !mWorkspace.isSwitchingState() && isInState(NORMAL)) { // Close any open floating views. - AbstractFloatingView.closeAllOpenViews(this); + closeOpenViews(); // Setting the touch point to (-1, -1) will show the options popup in the center of // the screen. @@ -2735,6 +2735,14 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, getStateManager().goToState(LauncherState.NORMAL); } + private void closeOpenViews() { + closeOpenViews(true); + } + + protected void closeOpenViews(boolean animate) { + AbstractFloatingView.closeAllOpenViews(this, animate); + } + public Stream getSupportedShortcuts() { return Stream.of(APP_INFO, WIDGETS, INSTALL); }