diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java index ad334b5f2dc8c..2bdbde1b71d4b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java @@ -311,6 +311,20 @@ public class DesktopModeController implements RemoteCallable c.setDesktopModeActive(true)); @@ -327,9 +328,17 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { if (id != R.id.caption_handle && id != R.id.desktop_mode_caption) { return false; } + moveTaskToFront(mTaskOrganizer.getRunningTaskInfo(mTaskId)); return mDragDetector.onMotionEvent(e); } + private void moveTaskToFront(RunningTaskInfo taskInfo) { + if (!taskInfo.isFocused) { + mDesktopTasksController.ifPresent(c -> c.moveTaskToFront(taskInfo)); + mDesktopModeController.ifPresent(c -> c.moveTaskToFront(taskInfo)); + } + } + /** * @param e {@link MotionEvent} to process * @return {@code true} if the motion event is handled.