Make sure the test can run multiple times and is stable on flame
Introduce methods to allow waitForPipWindowShow/Gone using the WindowManagerState to determine if a PIP window is active (windowingMode = PINNED), since the UiDevice method is unstable and doesn't work on TVs.
Bug: 171049720
Bug: 172321238
Bug: 171049762
Test: atest WMShellFlickerTests
Change-Id: Iade19fadeb0ba07e047eb5f64479e592920ca11e
This is mostly a matter of flipping the flag, except for the case of
SystemWindows. While external SurfaceControlViewHost clients use the
leash provided by the SurfaceControlViewHost rather than the internal
ViewRootImpl surface, SystemWindows clients will use the actual
ViewRootImpl surface. This can conflict with the BLAST adapter setting
crop/frame/etc on this Surface. We modify SystemWindows to put
each layer inside a leash, and hand this out to other parts of SysUI
instead of the ViewRootImpl surface.
Test: Existing tests pass
Bug: 168505645
Change-Id: Ie621f89166f00ce385d450f1f1cea4d4abd1b805
This reverts commit cb98114abd.
Reason for revert: Not needed once ag/13507782 is merged
Bug: 169372603
Change-Id: I52d4344f6f2f3fb973f3f20e7d6f1ec2844d7567
Test: manually enter PiP
Atest cannot override include-annotation and exclude-annotation from the Android.xml, only append new ones.
Ideally we should have a single test configuration for all flicker tests (presubmit/postsubmit/flaky) and adjust the arguments according to the type of test we intend to run.
Presubmit:
atest FlickerTests -- --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Presubmit --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest
Postsubmit:
atest FlickerTests -- --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Postsubmit --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest
Flaky:
atest FlickerTests -- --module-arg FlickerTests:include-annotation:androidx.test.filters.FlakyTest
To run WMShellFlickerTests, just replace FlickerTests for WMShellFlickerTests in the commands above.
Bug: 170490377
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Ic252f27065714e9039e3c0f33659b98eb288aa6f
- Also remove usages of external interface within the shell code
and remove methods only used in the controller from the interface
(will update for other components separately)
Bug: 161979899
Test: atest WMShellUnitTests
Test: atest SystemUITests
Change-Id: I06d266095d8e287ba131e41dc6bebefa15c9e477
The activity surface is rotated by WM core when changing
the windowing mode of PiP activity to fullscreen. And then
PipTaskOrganizer#onFixedRotationStarted will be called before
WindowContainerTransactionCallback#onTransactionReady. So
PipTaskOrganizer can use the given new rotation to run the
animation in current rotation. After the animation is done,
PipTaskOrganizer will set the task to fullscreen, that makes
previous top activity pause and then resume the next top
activity (the original PiP). Finally, the fixed rotation is
finished by transition done event, and then continue to
rotate the display seamlessly.
Also remove mInitialState from PipTaskOrganizer because it
is no longer needed for predicting the fullscreen bounds.
Bug: 165794724
Test: DisplayContentTests#testFixedRotationWithPip
PipAnimationControllerTest#pipTransitionAnimator_rotatedEndValue
Test: Expand PiP in portrait which was in landscape
Change-Id: I5c1400ece9d80226bc35b497d308215010ead027
Maintain the same assertions for new assertion blocks and legacy. This CL is used while migrating the existing tests from the old to the new DSL format.
Once the tests are migrated the legacy support will be removed.
Bug: 162923992
Test: atest FlickerTests
Change-Id: I9a64a7ab43bf60c67a26f37562ab6c4d7bb0c487