Merge "Defer updating dim layers if layout is deferred" into oc-dr1-dev
This commit is contained in:
@@ -2037,6 +2037,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.
|
||||||
|
|||||||
@@ -127,6 +127,10 @@ class WindowSurfacePlacer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean isLayoutDeferred() {
|
||||||
|
return mDeferDepth > 0;
|
||||||
|
}
|
||||||
|
|
||||||
final void performSurfacePlacement() {
|
final void performSurfacePlacement() {
|
||||||
performSurfacePlacement(false /* force */);
|
performSurfacePlacement(false /* force */);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user