Merge "Handle ActivityEmbedding container in remote transition adapter" into tm-qpr-dev am: ed1949c971 am: e418cf34da

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

Change-Id: I0782b2de2a12e2ae006ce858ae309e990afa0cf5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-12-02 18:25:35 +00:00
committed by Automerger Merge Worker

View File

@@ -195,8 +195,16 @@ class RemoteTransitionAdapter {
val out = ArrayList<RemoteAnimationTarget>()
for (i in info.changes.indices) {
val change = info.changes[i]
val changeIsWallpaper = change.flags and TransitionInfo.FLAG_IS_WALLPAPER != 0
if (wallpapers != changeIsWallpaper) continue
if (change.hasFlags(TransitionInfo.FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY)) {
// For embedded container, when the parent Task is also in the transition, we
// should only animate the parent Task.
if (change.parent != null) continue
// For embedded container without parent, we should only animate if it fills
// the Task. Otherwise we may animate only partial of the Task.
if (!change.hasFlags(TransitionInfo.FLAG_FILLS_TASK)) continue
}
// Check if it is wallpaper
if (wallpapers != change.hasFlags(TransitionInfo.FLAG_IS_WALLPAPER)) continue
out.add(createTarget(change, info.changes.size - i, info, t))
if (leashMap != null) {
leashMap[change.leash] = out[out.size - 1].leash