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

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

Merge "Reduce surface placement of sync group" into tm-qpr-dev

parents 57e36f71 7bdc13ad
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -226,6 +226,9 @@ class BLASTSyncEngine {
        }

        private void setReady(boolean ready) {
            if (mReady == ready) {
                return;
            }
            ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncGroup %d: Set ready", mSyncId);
            mReady = ready;
            if (!ready) return;
@@ -239,8 +242,10 @@ class BLASTSyncEngine {
            ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncGroup %d: Adding to group: %s", mSyncId, wc);
            wc.setSyncGroup(this);
            wc.prepareSync();
            if (mReady) {
                mWm.mWindowPlacerLocked.requestTraversal();
            }
        }

        void onCancelSync(WindowContainer wc) {
            mRootMembers.remove(wc);
+9 −9
Original line number Diff line number Diff line
@@ -74,15 +74,15 @@ public class SyncEngineTests extends WindowTestsBase {

        int id = startSyncSet(bse, listener);
        bse.addToSyncSet(id, mockWC);
        // Make sure a traversal is requested
        verify(mWm.mWindowPlacerLocked, times(1)).requestTraversal();
        // The traversal is not requested because ready is not set.
        verify(mWm.mWindowPlacerLocked, times(0)).requestTraversal();

        bse.onSurfacePlacement();
        verify(listener, times(0)).onTransactionReady(anyInt(), any());

        bse.setReady(id);
        // Make sure a traversal is requested
        verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
        verify(mWm.mWindowPlacerLocked).requestTraversal();
        bse.onSurfacePlacement();
        verify(listener, times(1)).onTransactionReady(eq(id), notNull());

@@ -103,14 +103,14 @@ public class SyncEngineTests extends WindowTestsBase {
        int id = startSyncSet(bse, listener);
        bse.addToSyncSet(id, mockWC);
        bse.setReady(id);
        // Make sure traversals requested (one for add and another for setReady)
        verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
        // Make sure traversals requested.
        verify(mWm.mWindowPlacerLocked).requestTraversal();
        bse.onSurfacePlacement();
        verify(listener, times(0)).onTransactionReady(anyInt(), any());

        mockWC.onSyncFinishedDrawing();
        // Make sure a (third) traversal is requested.
        verify(mWm.mWindowPlacerLocked, times(3)).requestTraversal();
        // Make sure the second traversal is requested.
        verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
        bse.onSurfacePlacement();
        verify(listener, times(1)).onTransactionReady(eq(id), notNull());
    }
@@ -127,8 +127,8 @@ public class SyncEngineTests extends WindowTestsBase {
        int id = startSyncSet(bse, listener);
        bse.addToSyncSet(id, mockWC);
        bse.setReady(id);
        // Make sure traversals requested (one for add and another for setReady)
        verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
        // Make sure traversals requested.
        verify(mWm.mWindowPlacerLocked).requestTraversal();
        bse.onSurfacePlacement();
        verify(listener, times(0)).onTransactionReady(anyInt(), any());