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

Commit 1362f2ab authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Complete sync draw only for visible window"

parents e29df9c8 d7f9a3af
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2546,7 +2546,7 @@ public class WindowManagerService extends IWindowManager.Stub

            if (outSyncIdBundle != null) {
                final int maybeSyncSeqId;
                if (USE_BLAST_SYNC && win.useBLASTSync() && viewVisibility != View.GONE
                if (USE_BLAST_SYNC && win.useBLASTSync() && viewVisibility == View.VISIBLE
                        && win.mSyncSeqId > lastSyncSeqId) {
                    maybeSyncSeqId = win.shouldSyncWithBuffers() ? win.mSyncSeqId : -1;
                    win.markRedrawForSyncReported();
+3 −3
Original line number Diff line number Diff line
@@ -5947,10 +5947,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP

    @Override
    boolean isSyncFinished() {
        if (mSyncState == SYNC_STATE_WAITING_FOR_DRAW && mViewVisibility == View.GONE
        if (mSyncState == SYNC_STATE_WAITING_FOR_DRAW && mViewVisibility != View.VISIBLE
                && !isVisibleRequested()) {
            // Don't wait for GONE windows. However, we don't alter the state in case the window
            // becomes un-gone while the syncset is still active.
            // Don't wait for invisible windows. However, we don't alter the state in case the
            // window becomes visible while the sync group is still active.
            return true;
        }
        return super.isSyncFinished();