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

Commit e41f7c53 authored by Winson Chung's avatar Winson Chung
Browse files

Fix ordering of finish transactions w/ bookends

- When the bookend recents transition is enabled, the recents-start
  finishT is updated before the bookend transtion is requested (which
  itself has a new finish transaction that restores state).

  As a result, the bookend's finishT will unexpectedly clobber the
  properties set in finishInner() on the start's finishT.  Instead
  we should prepare the updates to the finishT in finishInner() and
  merge them into the last merged transition (only either a
  quickswitch/launch-next-task transition, or the bookend itself).

  ie. the problematic flow with bookend enabled:
  Start RECENTS (Core builds finishT1 to reset state)
  End recents to app (we restore corners &  other properties to finishT1)
  Start END_RECENTS (Core builds finishT2 to reset state)
  Merge END_RECENTS into RECENTS
  Finish RECENTS (finishT1 then finishT2 is applied in order, finishT2
                  clobbering properties set in finishT1)

Bug: 346588978
Fixes: 402143642
Flag: com.android.wm.shell.enable_recents_bookend_transition
Test: atest WMShellUnitTests:RecentsTransitionHandlerTest
Change-Id: I4255b219894f6c1ce8e74e48f0f639aa07165b2d
parent 0f3b1103
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment