diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 3cb920a6f28d9..3902bd6935945 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -697,6 +697,13 @@ public class ActivityManager { && stackId != DOCKED_STACK_ID && stackId != PINNED_STACK_ID; } + /** + * Returns true if the input stack is affected by drag resizing. + */ + public static boolean isStackAffectedByDragResizing(int stackId) { + return isStaticStack(stackId) && stackId != PINNED_STACK_ID; + } + /** * Returns true if the windows of tasks being moved to the target stack from the source * stack should be replaced, meaning that window manager will keep the old window around diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 10aebe662828d..0a5632336fba6 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -3198,8 +3198,10 @@ class WindowState extends WindowContainer implements WindowManagerP if (task == null) { return false; } + if (!StackId.isStackAffectedByDragResizing(getStackId())) { + return false; + } if (mAttrs.width != MATCH_PARENT || mAttrs.height != MATCH_PARENT) { - // Floating windows never enter drag resize mode. return false; }