diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java index bfea3426b94b..96cc559a64ae 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java @@ -1459,10 +1459,13 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin @NonNull Function1<Integer, Unit> onIconClickListener ) { if (mTaskInfo.isFreeform()) { + // The menu uses display-wide coordinates for positioning, so make position the sum + // of task position and caption position. + final Rect taskBounds = mTaskInfo.configuration.windowConfiguration.getBounds(); mManageWindowsMenu = new DesktopHeaderManageWindowsMenu( mTaskInfo, - /* x= */ mResult.mCaptionX, - /* y= */ mResult.mCaptionY + mResult.mCaptionTopPadding, + /* x= */ taskBounds.left + mResult.mCaptionX, + /* y= */ taskBounds.top + mResult.mCaptionY + mResult.mCaptionTopPadding, mDisplayController, mRootTaskDisplayAreaOrganizer, mContext, |