Merge "Fix checking crop region for home/recents" into rvc-dev am: 81fa33a734

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11886045

Change-Id: Ia502b554220f62b03e346accc7f5b960d2e58ddf
This commit is contained in:
Evan Rosky
2020-06-17 16:16:59 +00:00
committed by Automerger Merge Worker
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
// 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.
final boolean isTopHomeOrRecents = (isActivityTypeHome() || isActivityTypeRecents())
&& getRootTask().getTopMostTask() == this;
return isResizeable() && !isTopHomeOrRecents;
if (isActivityTypeHome() || isActivityTypeRecents()) {
// Make sure this is the top-most non-organizer root task (if not top-most, it means
// 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) {
final Task task = getTask();
if (task == null || !task.cropWindowsToStackBounds()) {
handle.setTouchableRegionCrop(null);
return;
}