Defer rotation change while running display change transition
This aligns the behavior of shell transition with legacy transition. The rotation change will be skipped if there is a display change transition. And then after the transition is finished, check again if there is still a change to send. The benefits: 1. If the new transition will cancel previous transition (current behavior), it can avoid jump cut that the display transition will go to the end state directly. 2. If the new transition will be queued, it may avoid unnecessary temporal states change from preempting CPU with animation. 3. It may make some tests stabler that the sync state and async rotation controller won't need to worry about crossing transition if the tests request changing various rotations in a short time. Also optimize WMS#updateRotationUnchecked a bit, which eliminates an unnecessary surface placement if nothing is changed. Bug: 234585256 Bug: 209920544 Test: AppConfigurationTests Change-Id: I6a0e9ae7449dc361998e1f8066a76dd4647ae0b0
Loading
Please register or sign in to comment