Synchronize stack position and size update for split screen
When entering split screen, the secondary window changes position so it's below the primary split screen when minimized. The WSA at the same time is also changing size to fit the area. However, the size doesn't change until the client requests a new size and a frame with the correct size comes in. This causes the stack to update position before the resize which causes content to get cut off and then a jump when the resize completes. This change updates the WSA position as soon as it recognizes that the stack changed position due to entering split screen secondary. The WSA sets its position as the negative of the stack position, making the calculated window position at (0,0). When a relayout is requested, the WSA's position is requested back to (0,0), deferring until the new frame. This will put the WSA position at (0,0) when a frame with the correct size is drawn. This places the window position at the stack's new position in the same transaction that a WSA frame with the new size is drawn. Change-Id: I8c88d7784f827d66926fb5c382af2346028dc48f Fixes: 74354855 Test: Entering split screen with quick step is smooth Test: Entering split screen with old launcher still works
Loading
Please register or sign in to comment