diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index f52de63859..fa1c789aba 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -326,7 +326,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private void navigateHome() { TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY); - mCallbacks.onNavigateHome(); + mCallbacks.onNavigateHome(mContext.getDisplayId()); } private void navigateToOverview() { @@ -335,11 +335,11 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa } TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onOverviewToggle"); TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS); - mCallbacks.onToggleOverview(); + mCallbacks.onToggleOverview(mContext.getDisplayId()); } public void hideOverview() { - mCallbacks.onHideOverview(); + mCallbacks.onHideOverview(mContext.getDisplayId()); } void sendBackKeyEvent(int action, boolean cancelled) { @@ -405,12 +405,12 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa /** Callbacks for navigation buttons on Taskbar. */ public interface TaskbarNavButtonCallbacks { /** Callback invoked when the home button is pressed. */ - default void onNavigateHome() {} + default void onNavigateHome(int displayId) {} /** Callback invoked when the overview button is pressed. */ - default void onToggleOverview() {} + default void onToggleOverview(int displayId) {} /** Callback invoken when a visible overview needs to be hidden. */ - default void onHideOverview() { } + default void onHideOverview(int displayId) { } } } diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index 226eeed4a7..57d48de146 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -25,6 +25,7 @@ import static android.view.MotionEvent.ACTION_UP; import static com.android.launcher3.Flags.enableCursorHoverStates; import static com.android.launcher3.Flags.enableHandleDelayedGestureCallbacks; +import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; import static com.android.launcher3.LauncherPrefs.backedUpItem; import static com.android.launcher3.MotionEventsUtils.isTrackpadMotionEvent; import static com.android.launcher3.MotionEventsUtils.isTrackpadMultiFingerSwipe; @@ -571,18 +572,30 @@ public class TouchInteractionService extends Service { private final TaskbarNavButtonCallbacks mNavCallbacks = new TaskbarNavButtonCallbacks() { @Override - public void onNavigateHome() { - mOverviewCommandHelper.addCommand(CommandType.HOME); + public void onNavigateHome(int displayId) { + if (enableOverviewOnConnectedDisplays()) { + mOverviewCommandHelper.addCommand(CommandType.HOME, displayId); + } else { + mOverviewCommandHelper.addCommand(CommandType.HOME, DEFAULT_DISPLAY); + } } @Override - public void onToggleOverview() { - mOverviewCommandHelper.addCommand(CommandType.TOGGLE); + public void onToggleOverview(int displayId) { + if (enableOverviewOnConnectedDisplays()) { + mOverviewCommandHelper.addCommand(CommandType.TOGGLE, displayId); + } else { + mOverviewCommandHelper.addCommand(CommandType.TOGGLE, DEFAULT_DISPLAY); + } } @Override - public void onHideOverview() { - mOverviewCommandHelper.addCommand(CommandType.HIDE); + public void onHideOverview(int displayId) { + if (enableOverviewOnConnectedDisplays()) { + mOverviewCommandHelper.addCommand(CommandType.HIDE, displayId); + } else { + mOverviewCommandHelper.addCommand(CommandType.HIDE, DEFAULT_DISPLAY); + } } }; diff --git a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarNavButtonControllerTest.java b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarNavButtonControllerTest.java index a8f3500a72..0ac5ec7259 100644 --- a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarNavButtonControllerTest.java +++ b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarNavButtonControllerTest.java @@ -87,12 +87,12 @@ public class TaskbarNavButtonControllerTest { private int mOverviewToggleCount; private final TaskbarNavButtonCallbacks mCallbacks = new TaskbarNavButtonCallbacks() { @Override - public void onNavigateHome() { + public void onNavigateHome(int displayId) { mHomePressCount++; } @Override - public void onToggleOverview() { + public void onToggleOverview(int displayId) { mOverviewToggleCount++; } };