diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index ec3962c282f67..e90a52f774a13 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -1645,8 +1645,11 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { WindowContainer ancestor = findCommonAncestor(sortedTargets, changes, topApp); - // make leash based on highest (z-order) direct child of ancestor with a participant. - WindowContainer leashReference = sortedTargets.get(0); + // Make leash based on highest (z-order) direct child of ancestor with a participant. + // TODO(b/261418859): Handle the case when the target contains window containers which + // belong to a different display. As a workaround we use topApp, from which wallpaper + // window container is removed, instead of sortedTargets here. + WindowContainer leashReference = topApp; while (leashReference.getParent() != ancestor) { leashReference = leashReference.getParent(); }