diff options
| author | 2023-03-27 21:53:15 +0000 | |
|---|---|---|
| committer | 2023-03-27 21:53:15 +0000 | |
| commit | f9a71bc36c9cb4a77b882abcea020725cdc6d307 (patch) | |
| tree | 0c186a03ab10e4dc5c35d1f3fbba3d2459c17936 | |
| parent | b3295cfdf02d78a4e8162bd60014c8f8404bb2cf (diff) | |
| parent | bd35768386ff3d2961773b401b92823556a4ee42 (diff) | |
Merge "Cancel merges in RecentsTransitionHandler if it's always on top" into udc-dev
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java index db75be75788a..5c64177ae835 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java @@ -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())) { |