Merge "Fix checking crop region for home/recents" into rvc-dev

This commit is contained in:
Evan Rosky
2020-06-17 16:13:27 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 3 deletions

View File

@@ -2927,9 +2927,17 @@ class Task extends WindowContainer<WindowContainer> {
// Don't crop HOME/RECENTS windows to stack bounds. This is because in split-screen // Don't crop HOME/RECENTS windows to stack bounds. This is because in split-screen
// they extend past their stack and sysui uses the stack surface to control cropping. // they extend past their stack and sysui uses the stack surface to control cropping.
// TODO(b/158242495): get rid of this when drag/drop can use surface bounds. // TODO(b/158242495): get rid of this when drag/drop can use surface bounds.
final boolean isTopHomeOrRecents = (isActivityTypeHome() || isActivityTypeRecents()) if (isActivityTypeHome() || isActivityTypeRecents()) {
&& getRootTask().getTopMostTask() == this; // Make sure this is the top-most non-organizer root task (if not top-most, it means
return isResizeable() && !isTopHomeOrRecents; // another translucent task could be above this, so this needs to stay cropped.
final Task rootTask = getRootTask();
final Task topNonOrgTask =
rootTask.mCreatedByOrganizer ? rootTask.getTopMostTask() : rootTask;
if (isDescendantOf(topNonOrgTask)) {
return false;
}
}
return isResizeable();
} }
/** /**

View File

@@ -3416,6 +3416,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
private void setTouchableRegionCropIfNeeded(InputWindowHandle handle) { private void setTouchableRegionCropIfNeeded(InputWindowHandle handle) {
final Task task = getTask(); final Task task = getTask();
if (task == null || !task.cropWindowsToStackBounds()) { if (task == null || !task.cropWindowsToStackBounds()) {
handle.setTouchableRegionCrop(null);
return; return;
} }