Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc5446cb authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Crop wallpaper windows to their current target stack bounds" into nyc-dev

parents f1cf8595 e6cb450b
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED;
import static android.view.WindowManager.LayoutParams.FLAG_SCALED;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static com.android.server.wm.AppWindowAnimator.sDummyAnimation;
import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE;
@@ -1322,6 +1323,23 @@ class WindowStateAnimator {
            return;
        }

        // We crop wallpaper windows to the stack bounds of their current target to avoid them
        // showing behind transparent windows in other stacks in split-screen mode.
        if (w.getBaseType() == TYPE_WALLPAPER) {
            final WindowState wallpaperTarget = mWallpaperControllerLocked.getWallpaperTarget();
            if (wallpaperTarget != null) {
                final Task task = wallpaperTarget.getTask();
                if (task != null && !task.isFullscreen()) {
                    final TaskStack stack = task.mStack;
                    if (stack != null && !stack.isFullscreen()) {
                        stack.getDimBounds(mTmpStackBounds);
                        clipRect.intersect(mTmpStackBounds);
                    }
                }
            }
            return;
        }

        final Task task = w.getTask();
        if (task == null || !task.cropWindowsToStackBounds()) {
            return;