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

This commit is contained in:
Jorim Jaggi
2017-08-07 12:23:55 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 0 deletions

View File

@@ -2037,6 +2037,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
if (dc == null) {
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();
if (dimLayerUser != null && dc.mDimLayerController.isDimming(dimLayerUser, mWinAnimator)) {
// 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() {
performSurfacePlacement(false /* force */);
}