Merge "Crop wallpaper windows to their current target stack bounds" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bc5446cba5
@@ -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.FLAG_SCALED;
|
||||||
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
|
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_INPUT_METHOD;
|
||||||
|
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
|
||||||
import static com.android.server.wm.AppWindowAnimator.sDummyAnimation;
|
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.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM;
|
||||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE;
|
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE;
|
||||||
@@ -1322,6 +1323,23 @@ class WindowStateAnimator {
|
|||||||
return;
|
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();
|
final Task task = w.getTask();
|
||||||
if (task == null || !task.cropWindowsToStackBounds()) {
|
if (task == null || !task.cropWindowsToStackBounds()) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user