Merge "Apply root task for launch activity animation." into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
181bcdba08
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user