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

am: 28f247c19a

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

Change-Id: I7eed37a1ab93a8be1bac4af7d7df20578ac14c49
This commit is contained in:
Wale Ogunwale
2016-05-11 21:36:05 +00:00
committed by android-build-merger

View File

@@ -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;