Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3eda5412 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

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

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

Change-Id: I4bdf58f1a0d18f9b283e03c4635459cf4ac59b39
parents 84297ac2 b7cca6b1
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -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)
        }
    }