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

Commit 8ae715dd authored by Wale Ogunwale's avatar Wale Ogunwale Committed by android-build-merger
Browse files

Merge "Crop wallpaper windows to their current target stack bounds" into...

Merge "Crop wallpaper windows to their current target stack bounds" into nyc-dev am: bc5446cb am: 28f247c1
am: f36dda8d

* commit 'f36dda8d':
  Crop wallpaper windows to their current target stack bounds

Change-Id: Ie18af20a6578101bd7f81367247b3f666ed38f24
parents 25755f80 f36dda8d
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;