Merge "Reduce surface placement of sync group" into tm-qpr-dev
This commit is contained in:
@@ -226,6 +226,9 @@ class BLASTSyncEngine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setReady(boolean ready) {
|
private void setReady(boolean ready) {
|
||||||
|
if (mReady == ready) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncGroup %d: Set ready", mSyncId);
|
ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncGroup %d: Set ready", mSyncId);
|
||||||
mReady = ready;
|
mReady = ready;
|
||||||
if (!ready) return;
|
if (!ready) return;
|
||||||
@@ -239,7 +242,9 @@ class BLASTSyncEngine {
|
|||||||
ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncGroup %d: Adding to group: %s", mSyncId, wc);
|
ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncGroup %d: Adding to group: %s", mSyncId, wc);
|
||||||
wc.setSyncGroup(this);
|
wc.setSyncGroup(this);
|
||||||
wc.prepareSync();
|
wc.prepareSync();
|
||||||
mWm.mWindowPlacerLocked.requestTraversal();
|
if (mReady) {
|
||||||
|
mWm.mWindowPlacerLocked.requestTraversal();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void onCancelSync(WindowContainer wc) {
|
void onCancelSync(WindowContainer wc) {
|
||||||
|
|||||||
@@ -74,15 +74,15 @@ public class SyncEngineTests extends WindowTestsBase {
|
|||||||
|
|
||||||
int id = startSyncSet(bse, listener);
|
int id = startSyncSet(bse, listener);
|
||||||
bse.addToSyncSet(id, mockWC);
|
bse.addToSyncSet(id, mockWC);
|
||||||
// Make sure a traversal is requested
|
// The traversal is not requested because ready is not set.
|
||||||
verify(mWm.mWindowPlacerLocked, times(1)).requestTraversal();
|
verify(mWm.mWindowPlacerLocked, times(0)).requestTraversal();
|
||||||
|
|
||||||
bse.onSurfacePlacement();
|
bse.onSurfacePlacement();
|
||||||
verify(listener, times(0)).onTransactionReady(anyInt(), any());
|
verify(listener, times(0)).onTransactionReady(anyInt(), any());
|
||||||
|
|
||||||
bse.setReady(id);
|
bse.setReady(id);
|
||||||
// Make sure a traversal is requested
|
// Make sure a traversal is requested
|
||||||
verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
|
verify(mWm.mWindowPlacerLocked).requestTraversal();
|
||||||
bse.onSurfacePlacement();
|
bse.onSurfacePlacement();
|
||||||
verify(listener, times(1)).onTransactionReady(eq(id), notNull());
|
verify(listener, times(1)).onTransactionReady(eq(id), notNull());
|
||||||
|
|
||||||
@@ -103,14 +103,14 @@ public class SyncEngineTests extends WindowTestsBase {
|
|||||||
int id = startSyncSet(bse, listener);
|
int id = startSyncSet(bse, listener);
|
||||||
bse.addToSyncSet(id, mockWC);
|
bse.addToSyncSet(id, mockWC);
|
||||||
bse.setReady(id);
|
bse.setReady(id);
|
||||||
// Make sure traversals requested (one for add and another for setReady)
|
// Make sure traversals requested.
|
||||||
verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
|
verify(mWm.mWindowPlacerLocked).requestTraversal();
|
||||||
bse.onSurfacePlacement();
|
bse.onSurfacePlacement();
|
||||||
verify(listener, times(0)).onTransactionReady(anyInt(), any());
|
verify(listener, times(0)).onTransactionReady(anyInt(), any());
|
||||||
|
|
||||||
mockWC.onSyncFinishedDrawing();
|
mockWC.onSyncFinishedDrawing();
|
||||||
// Make sure a (third) traversal is requested.
|
// Make sure the second traversal is requested.
|
||||||
verify(mWm.mWindowPlacerLocked, times(3)).requestTraversal();
|
verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
|
||||||
bse.onSurfacePlacement();
|
bse.onSurfacePlacement();
|
||||||
verify(listener, times(1)).onTransactionReady(eq(id), notNull());
|
verify(listener, times(1)).onTransactionReady(eq(id), notNull());
|
||||||
}
|
}
|
||||||
@@ -127,8 +127,8 @@ public class SyncEngineTests extends WindowTestsBase {
|
|||||||
int id = startSyncSet(bse, listener);
|
int id = startSyncSet(bse, listener);
|
||||||
bse.addToSyncSet(id, mockWC);
|
bse.addToSyncSet(id, mockWC);
|
||||||
bse.setReady(id);
|
bse.setReady(id);
|
||||||
// Make sure traversals requested (one for add and another for setReady)
|
// Make sure traversals requested.
|
||||||
verify(mWm.mWindowPlacerLocked, times(2)).requestTraversal();
|
verify(mWm.mWindowPlacerLocked).requestTraversal();
|
||||||
bse.onSurfacePlacement();
|
bse.onSurfacePlacement();
|
||||||
verify(listener, times(0)).onTransactionReady(anyInt(), any());
|
verify(listener, times(0)).onTransactionReady(anyInt(), any());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user