Merge "MediaHiearchyManager: prevent NPE in updateTargetState()" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-03-03 12:15:23 +00:00
committed by Android (Google) Code Review

View File

@@ -741,10 +741,11 @@ class MediaHierarchyManager @Inject constructor(
* Updates the bounds that the view wants to be in at the end of the animation.
*/
private fun updateTargetState() {
if (isCurrentlyInGuidedTransformation() && !isCurrentlyFading()) {
var starthost = getHost(previousLocation)
var endHost = getHost(desiredLocation)
if (isCurrentlyInGuidedTransformation() && !isCurrentlyFading() && starthost != null &&
endHost != null) {
val progress = getTransformationProgress()
var endHost = getHost(desiredLocation)!!
var starthost = getHost(previousLocation)!!
// If either of the hosts are invisible, let's keep them at the other host location to
// have a nicer disappear animation. Otherwise the currentBounds of the state might
// be undefined
@@ -756,8 +757,8 @@ class MediaHierarchyManager @Inject constructor(
val newBounds = endHost.currentBounds
val previousBounds = starthost.currentBounds
targetBounds = interpolateBounds(previousBounds, newBounds, progress)
} else {
val bounds = getHost(desiredLocation)?.currentBounds ?: return
} else if (endHost != null) {
val bounds = endHost.currentBounds
targetBounds.set(bounds)
}
}