diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowContainer.java | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 33d8acd31fe8..4cc15c9a6403 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -2772,6 +2772,13 @@ class Task extends TaskFragment { @Override void getAnimationFrames(Rect outFrame, Rect outInsets, Rect outStableInsets, Rect outSurfaceInsets) { + // If this task has its adjacent task, it means they should animate together. Use display + // bounds for them could move same as full screen task. + if (getAdjacentTaskFragment() != null && getAdjacentTaskFragment().asTask() != null) { + super.getAnimationFrames(outFrame, outInsets, outStableInsets, outSurfaceInsets); + return; + } + final WindowState windowState = getTopVisibleAppMainWindow(); if (windowState != null) { windowState.getAnimationFrames(outFrame, outInsets, outStableInsets, outSurfaceInsets); diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 5c893de6b920..2f81f93ba2ab 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; +import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_BEHIND; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; @@ -3186,7 +3187,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< if (isOrganized() // TODO(b/161711458): Clean-up when moved to shell. && getWindowingMode() != WINDOWING_MODE_FULLSCREEN - && getWindowingMode() != WINDOWING_MODE_FREEFORM) { + && getWindowingMode() != WINDOWING_MODE_FREEFORM + && getWindowingMode() != WINDOWING_MODE_MULTI_WINDOW) { return null; } |