From 3e405adec8009b0b759e32052dc5395e7d802300 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 10 Jun 2020 15:25:46 -0700 Subject: [PATCH] Restore single-display check for visible recent task - This was removed when the plan was to go ahead and use the task org task embedder, but needs to be used for the virtual display task embedder Bug: 158690682 Test: Ensure multiple bubbles tasks don't show up in recents Change-Id: I624c9e02d223fba2e194118e6758f68debe38c79 --- .../core/java/com/android/server/wm/RecentTasks.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java index 1cd94b40f6604..24bb7c8d5560b 100644 --- a/services/core/java/com/android/server/wm/RecentTasks.java +++ b/services/core/java/com/android/server/wm/RecentTasks.java @@ -1341,6 +1341,17 @@ class RecentTasks { break; } + // Tasks managed by/associated with an ActivityView should be excluded from recents. + // singleTaskInstance is set on the VirtualDisplay managed by ActivityView + // TODO(b/126185105): Find a different signal to use besides isSingleTaskInstance + final ActivityStack stack = task.getStack(); + if (stack != null) { + DisplayContent display = stack.getDisplay(); + if (display != null && display.isSingleTaskInstance()) { + return false; + } + } + // If we're in lock task mode, ignore the root task if (task == mService.getLockTaskController().getRootTask()) { return false;