Merge "Defer updating dim layers if layout is deferred" into oc-dr1-dev

am: 9aa43e6320

Change-Id: I0889a00cbdc54d401484391d66e0dd06ac92fd71
This commit is contained in:
Jorim Jaggi
2017-08-07 12:34:41 +00:00
committed by android-build-merger
2 changed files with 9 additions and 0 deletions

View File

@@ -2042,6 +2042,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
if (dc == null) { if (dc == null) {
return; return;
} }
// If layout is currently deferred, we want to hold of with updating the layers.
if (mService.mWindowPlacerLocked.isLayoutDeferred()) {
return;
}
final DimLayer.DimLayerUser dimLayerUser = getDimLayerUser(); final DimLayer.DimLayerUser dimLayerUser = getDimLayerUser();
if (dimLayerUser != null && dc.mDimLayerController.isDimming(dimLayerUser, mWinAnimator)) { if (dimLayerUser != null && dc.mDimLayerController.isDimming(dimLayerUser, mWinAnimator)) {
// Force an animation pass just to update the mDimLayer layer. // Force an animation pass just to update the mDimLayer layer.

View File

@@ -127,6 +127,10 @@ class WindowSurfacePlacer {
} }
} }
boolean isLayoutDeferred() {
return mDeferDepth > 0;
}
final void performSurfacePlacement() { final void performSurfacePlacement() {
performSurfacePlacement(false /* force */); performSurfacePlacement(false /* force */);
} }