Merge "Apply root task for launch activity animation." into udc-dev

This commit is contained in:
Wei Sheng Shih
2023-05-11 08:52:24 +00:00
committed by Android (Google) Code Review

View File

@@ -508,6 +508,26 @@ class ActivityLaunchAnimator(
startAnimation(apps, nonApps, callback)
}
private fun findRootTaskIfPossible(
apps: Array<out RemoteAnimationTarget>?
): RemoteAnimationTarget? {
if (apps == null) {
return null
}
var candidate: RemoteAnimationTarget? = null
for (it in apps) {
if (it.mode == RemoteAnimationTarget.MODE_OPENING) {
if (it.taskInfo != null && !it.hasAnimatingParent) {
return it
}
if (candidate == null) {
candidate = it
}
}
}
return candidate
}
private fun startAnimation(
apps: Array<out RemoteAnimationTarget>?,
nonApps: Array<out RemoteAnimationTarget>?,
@@ -517,8 +537,7 @@ class ActivityLaunchAnimator(
Log.d(TAG, "Remote animation started")
}
val window = apps?.firstOrNull { it.mode == RemoteAnimationTarget.MODE_OPENING }
val window = findRootTaskIfPossible(apps)
if (window == null) {
Log.i(TAG, "Aborting the animation as no window is opening")
removeTimeout()