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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user