Don't prematurely commit visibility in consecutive shell transitions
Originally, upon finish, any participating activity would immediately
any commitVisibility(false) if the activity was invisible. This can
cause "glitches" in quick sequences of animations (like opening and
then immediately closing an activity) because even if a transition
was created to make an activity visible, if it happened to be
invisibleRequested by the time the transition finished, it'd
immediately hide the surface when that surface is still needed
for the follow-on animation.
This CL records the "intended" endVisibility of each window token
in a transition so that it can be used during finishTransition to
prevent commitVisibility if a follow-on transition is responible
for animating it.
Bug: 183993924
Test: atest TransitionTests#testIntermediateVisibility
Change-Id: Ib830ccfa924191091a152037156ae62cd98ffa09
3 files changed