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

Commit 1a721d60 authored by Kazuki Takise's avatar Kazuki Takise
Browse files

Don't always suppres redraw report request in relayout

I6faad4b9adac7334df7caf3d23df59bd3e96bfd9 added an optimization so a
newly visible window won't be relayouted several times with shell
transitions but this seems to conflict with
Ie545465cac0207631ada6dac003340ca80eb2b14 that the relayout won't
return syncId to trigger reporting finish draw.

Especially when a window size gets changed but visibility doesn't, we
seem to rely on the code path of relayout->reportResize. If this code
path is suppressed, a new buffer won't get drawn for the change and the
transition will time out.

Bug: 237743987
Test: Multi-activity PIP works on ARC T
Change-Id: Id2b5a335c05f5977a7b72e58470218f075c302f9
parent 4355d317
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -6104,8 +6104,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        if (mRedrawForSyncReported) {
            return false;
        }
        // TODO(b/233286785): Remove mIsWallpaper once WallpaperService handles syncId of relayout.
        if (mInRelayout && !mIsWallpaper) {
        if (mInRelayout && mPrepareSyncSeqId > 0) {
            // The last sync seq id will return to the client, so there is no need to request the
            // client to redraw.
            return false;