Unset sync group if sync state does not set
An extreme case when device is busy and slow, e.g. stress test by
script or monkey, the AsyncRotationController could be null when
calling TransitionController#collectForDisplayAreaChange, then
WindowToken#prepareSync skips the async windows without setting
sync state but sync group is still assigned. That results the
WindowContainer#finishSync not cleaning the group. And its sync
state of child windows will be set when calling isSyncFinished
("prepareSync in isSyncFinished"), which causes the window to
always use sync transaction.
Also add more log to indicate the corner cases.
Bug: 334838294
Flag: EXEMPT bugfix
Test: atest SyncEngineTests#testSkipPrepareSync
Change-Id: I35f8a1aa728ee5b66e4e9d6136f9761ed6e989bf
Loading
Please register or sign in to comment