Skip setting focused window to the recents animation target

- If there's a recents animation running, the target controls whether
  to finish to home (and resume the task), and with live tile,
  Launcher expects to stay started (but not resumed) until it finishes
  the transition.

Fixes: 185317835
Test: Open an app that supports overview sharing and repeatedly enter
      Overview and trigger sharing
Change-Id: Ib79b0f4b3cc2982365dc5c7ae0655953938cea3c
This commit is contained in:
Winson Chung
2021-04-28 23:06:55 -07:00
parent 3dfc4cd498
commit 370a9d729d

View File

@@ -8123,6 +8123,16 @@ public class WindowManagerService extends IWindowManager.Stub
return;
}
if (mRecentsAnimationController != null
&& mRecentsAnimationController.getTargetAppMainWindow() == touchedWindow) {
// If there is an active recents animation and touched window is the target, then ignore
// the touch. The target already handles touches using its own input monitor and we
// don't want to trigger any lifecycle changes from focusing another window.
// TODO(b/186770026): We should remove this once we support multiple resumed activities
// while in overview
return;
}
ProtoLog.i(WM_DEBUG_FOCUS_LIGHT, "onPointerDownOutsideFocusLocked called on %s",
touchedWindow);
final DisplayContent displayContent = touchedWindow.getDisplayContent();