Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1c25dbb authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Exclude screen decoration overlay from transition participants

It doesn't need an animation and its surface layer should not be
changed by transition.

Bug: 288726181
Test: Switch screen size by "Settings > Display > Screen resolution"
      or "Display size and text > Display size".
      Check "adb shell dumpsys SurfaceFlinger | grep -A10 ScreenDecor"
      The parent of ScreenDecor's should be none (root).
      And ScreenDecor doesn't move to "Offscreen Layers".
Change-Id: Ib5262f6d4be3aac4f83a82bd9e93bad7437ef640
parent bf1b4aa1
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -619,6 +619,12 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        if (!isInTransientHide(wc)) {
            mSyncEngine.addToSyncSet(mSyncId, wc);
        }
        if (wc.asWindowToken() != null && wc.asWindowToken().mRoundedCornerOverlay) {
            // Only need to sync the transaction (SyncSet) without ChangeInfo because cutout and
            // rounded corner overlay never need animations. Especially their surfaces may be put
            // in root (null, see WindowToken#makeSurface()) that cannot reparent.
            return;
        }
        ChangeInfo info = mChanges.get(wc);
        if (info == null) {
            info = new ChangeInfo(wc);