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

Commit 95eb1049 authored by Evan Rosky's avatar Evan Rosky
Browse files

Use end-bounds for pip-animations that start in the end state

PIP animations usually animate from start to end bounds. However,
there are some animations where the whole animation is in the
end bounds (specifically fade-in). So, make sure to sync the
pip bounds-state to the end-bounds when doing one of these
animations.

Bug: 227214914
Test: atest WMShellFlickerTests:PipRotationTest
Change-Id: I85d5afdcd6b72a82628bf157781dd446a297846a
parent b075a1d6
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -225,6 +225,12 @@ public class PipTransition extends PipTransitionController {
        // For transition that we don't animate, but contains the PIP leash, we need to update the
        // PIP surface, otherwise it will be reset after the transition.
        if (currentPipTaskChange != null) {
            // Set the "end" bounds of pip. The default setup uses the start bounds. Since this is
            // changing the *finish*Transaction, we need to use the end bounds. This will also
            // make sure that the fade-in animation (below) uses the end bounds as well.
            if (!currentPipTaskChange.getEndAbsBounds().isEmpty()) {
                mPipBoundsState.setBounds(currentPipTaskChange.getEndAbsBounds());
            }
            updatePipForUnhandledTransition(currentPipTaskChange, startTransaction,
                    finishTransaction);
        }
+0 −10
Original line number Diff line number Diff line
@@ -27,12 +27,10 @@ import com.android.server.wm.flicker.annotation.Group4
import com.android.server.wm.flicker.dsl.FlickerBuilder
import com.android.server.wm.flicker.entireScreenCovered
import com.android.server.wm.flicker.helpers.WindowUtils
import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled
import com.android.server.wm.flicker.helpers.setRotation
import com.android.server.wm.flicker.navBarLayerRotatesAndScales
import com.android.server.wm.flicker.statusBarLayerRotatesScales
import com.android.wm.shell.flicker.helpers.FixedAppHelper
import org.junit.Assume
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runner.RunWith
@@ -141,14 +139,6 @@ open class PipRotationTest(testSpec: FlickerTestParameter) : PipTransition(testS
    @Presubmit
    @Test
    fun pipLayerRotates_StartingBounds() {
        Assume.assumeFalse(isShellTransitionsEnabled)
        pipLayerRotates_StartingBounds_internal()
    }

    @FlakyTest(bugId = 228024285)
    @Test
    fun pipLayerRotates_StartingBounds_ShellTransit() {
        Assume.assumeTrue(isShellTransitionsEnabled)
        pipLayerRotates_StartingBounds_internal()
    }