Merge "Touch region fixes for dialogs and overlapping tasks." into nyc-dev

This commit is contained in:
Rob Carr
2016-04-27 00:29:58 +00:00
committed by Android (Google) Code Review

View File

@@ -364,8 +364,8 @@ class DisplayContent {
final ArrayList<Task> tasks = stack.getTasks();
for (int taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) {
final Task task = tasks.get(taskNdx);
final WindowState win = task.getTopVisibleAppMainWindow();
if (win == null) {
AppWindowToken token = task.getTopVisibleAppToken();
if (token == null || !token.isVisible()) {
continue;
}
@@ -375,20 +375,18 @@ class DisplayContent {
* We also remove the outside touch area for resizing for all freeform
* tasks (including the focused).
*
* (For freeform focused task, the below logic will first remove the enlarged
* area, then add back the inner area.)
* We save the focused task region once we find it, and add it back at the end.
*/
if (task == focusedTask) {
addBackFocusedTask = true;
mTmpRect2.set(mTmpRect);
}
final boolean isFreeformed = task.inFreeformWorkspace();
if (task != focusedTask || isFreeformed) {
task.getDimBounds(mTmpRect);
if (isFreeformed) {
// If we're removing a freeform, focused app from the exclusion region,
// we need to add back its touchable frame later. Remember the touchable
// frame now.
if (task == focusedTask) {
addBackFocusedTask = true;
mTmpRect2.set(mTmpRect);
}
// If the task is freeformed, enlarge the area to account for outside
// touch area for resize.
mTmpRect.inset(-delta, -delta);