Merge "Cancel merges in RecentsTransitionHandler if it's always on top" into udc-dev am: f9a71bc36c

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

Change-Id: I678320d41759bae94e8947e36aa84d8d5e982aaf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Mady Mellor
2023-03-27 22:02:21 +00:00
committed by Automerger Merge Worker

View File

@@ -418,6 +418,13 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler {
for (int i = 0; i < info.getChanges().size(); ++i) {
final TransitionInfo.Change change = info.getChanges().get(i);
final ActivityManager.RunningTaskInfo taskInfo = change.getTaskInfo();
if (taskInfo != null
&& taskInfo.configuration.windowConfiguration.isAlwaysOnTop()) {
// Tasks that are always on top (e.g. bubbles), will handle their own transition
// as they are on top of everything else. So cancel the merge here.
cancel();
return;
}
hasTaskChange = hasTaskChange || taskInfo != null;
final boolean isLeafTask = leafTaskFilter.test(change);
if (TransitionUtil.isOpeningType(change.getMode())) {