Cancel animation in previous rotation
The local animations are cancelled if fixed rotation transform is
going to be finished to perform seamless display rotation. That
avoids a case: a closing animation in landscape moved outside the
bottom of the screen, and it still has unfinished alpha animation
(e.g. wallpaper_open_exit is 250+167=417ms which is longer than
than wallpaper_open_enter 225ms). Then if the display is rotated
to portrait, the animation out of view becomes visible.
The reason not waiting for all animations to finish is that will
increase the latency to rotate display, and touching won't work
in the waiting state because the rotation of top activity (rotated
surface) is different than the display.
Bug: 151709552
Test: atest DisplayContentTests#testApplyTopFixedRotationTransform
Test: Enable fixed_rotation_transform, return from a task in
different orientation to home with default animation.
Change-Id: I7c268de1f9061a7ac11fc42a70f02000faba7106
2 files changed