summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kazuki Takise <takise@google.com> 2024-10-03 04:27:10 +0000
committer Kazuki Takise <takise@google.com> 2024-10-08 04:43:11 +0000
commit1bcc100c6fb8fa66c35a0fbf62ff13d4d0ed575b (patch)
treea59d3e0667eeae2058046f738c0fe4c3e943b39b
parent6dd05c69475933ccb67d783362e9561040b582cb (diff)
Move display to top when task gets moved to front in desktop mode
When a task gets moved to front, the dipslay the task is on should also come on top and get display focus, but this isn't working now when caption bar is clicked because the includingParents param of WCT#reorder() is set to false as its default value. Bug: 368200134 Bug: 371086263 Flag: EXEMPT bugfix Test: atest WMShellUnitTests Change-Id: If4cf47796d30e76398153e823fa5082746dd636f
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt2
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java2
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/FluidResizeTaskPositioner.java3
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java3
4 files changed, 6 insertions, 4 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
index 5b9d2fed2701..5f41326daf0c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
@@ -581,7 +581,7 @@ class DesktopTasksController(
fun moveTaskToFront(taskInfo: RunningTaskInfo) {
logV("moveTaskToFront taskId=%s", taskInfo.taskId)
val wct = WindowContainerTransaction()
- wct.reorder(taskInfo.token, true)
+ wct.reorder(taskInfo.token, true /* onTop */, true /* includingParents */)
val taskToMinimize =
addAndGetMinimizeChangesIfNeeded(taskInfo.displayId, wct, taskInfo.taskId)
if (Transitions.ENABLE_SHELL_TRANSITIONS) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java
index f5b2340b87a7..c540edef32c4 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java
@@ -361,7 +361,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel {
final RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId);
if (!taskInfo.isFocused) {
final WindowContainerTransaction wct = new WindowContainerTransaction();
- wct.reorder(mTaskToken, true /* onTop */);
+ wct.reorder(mTaskToken, true /* onTop */, true /* includingParents */);
mSyncQueue.queue(wct);
}
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/FluidResizeTaskPositioner.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/FluidResizeTaskPositioner.java
index 3853f1f086c1..f4c7fe3eac0c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/FluidResizeTaskPositioner.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/FluidResizeTaskPositioner.java
@@ -95,7 +95,8 @@ class FluidResizeTaskPositioner implements TaskPositioner, Transitions.Transitio
mDragStartListener.onDragStart(mWindowDecoration.mTaskInfo.taskId);
if (mCtrlType != CTRL_TYPE_UNDEFINED && !mWindowDecoration.mTaskInfo.isFocused) {
WindowContainerTransaction wct = new WindowContainerTransaction();
- wct.reorder(mWindowDecoration.mTaskInfo.token, true);
+ wct.reorder(mWindowDecoration.mTaskInfo.token, true /* onTop */,
+ true /* includingParents */);
mTaskOrganizer.applyTransaction(wct);
}
mRepositionTaskBounds.set(mTaskBoundsAtDragStart);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java
index 6eb5cca9ad1a..a1f76d2d1597 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java
@@ -108,7 +108,8 @@ public class VeiledResizeTaskPositioner implements TaskPositioner, Transitions.T
mDesktopWindowDecoration.mContext, mHandler, CUJ_DESKTOP_MODE_RESIZE_WINDOW);
if (!mDesktopWindowDecoration.mTaskInfo.isFocused) {
WindowContainerTransaction wct = new WindowContainerTransaction();
- wct.reorder(mDesktopWindowDecoration.mTaskInfo.token, true);
+ wct.reorder(mDesktopWindowDecoration.mTaskInfo.token, true /* onTop */,
+ true /* includingParents */);
mTaskOrganizer.applyTransaction(wct);
}
}