Skip to content
Commit 2da185d5 authored by Evan Rosky's avatar Evan Rosky
Browse files

Don't updateSurfacePosition with invalid window frames

updateSurfacePosition runs pretty frequently (during
configuration update). However, the WindowState override
relies on mWindowFrames which is calculated during layout.
This means that surface positions are frequently calculated
with out-of-date mWindowFrames (most commonly when the
onConfigurationChange cascade is called). This can easily
cause visible glitching based on the timings of SFTransaction
applications -- particularly when mixed with syncTransactions
since those aren't serialized with layout.

This CL prevents WindowState's updateSurfacePosition from
running when layout is deferred or when the window is
goneForLayout.

Bug: 169035082
Test: With new split-screen transitions, launch a non-resizable
      task while in split-screen and observe that home surface
      doesn't get repositioned incorrectly.
Change-Id: If35fb3560eed83fe1c944a1cb7cbb685f58a3b90
parent 961f7375
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment