Merge "Enable compositor shadow for freeform windows." into rvc-dev

This commit is contained in:
Garfield Tan
2020-04-14 17:03:59 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 11 deletions

View File

@@ -1631,9 +1631,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
int opacity = PixelFormat.OPAQUE;
final WindowConfiguration winConfig = getResources().getConfiguration().windowConfiguration;
// TODO(b/149585281) remove when root task has the correct bounds for freeform
final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor
&& winConfig.getWindowingMode() != WINDOWING_MODE_FREEFORM;
final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor;
// If we draw shadows in the compositor we don't need to force the surface to be
// translucent.
if (winConfig.hasWindowShadow() && !renderShadowsInCompositor) {
@@ -2427,8 +2425,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
private void updateElevation() {
final int windowingMode =
getResources().getConfiguration().windowConfiguration.getWindowingMode();
final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor
&& windowingMode != WINDOWING_MODE_FREEFORM;
final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor;
// If rendering shadows in the compositor, don't set an elevation on the view
if (renderShadowsInCompositor) {
return;

View File

@@ -212,7 +212,6 @@ class Task extends WindowContainer<WindowContainer> {
static final int INVALID_MIN_SIZE = -1;
private float mShadowRadius = 0;
private final Rect mLastSurfaceCrop = new Rect();
private static final boolean ENABLE_FREEFORM_COMPOSITOR_SHADOWS = false;
/**
* The modes to control how the stack is moved to the front when calling {@link Task#reparent}.
@@ -2729,10 +2728,8 @@ class Task extends WindowContainer<WindowContainer> {
}
private void updateSurfaceCrop() {
// TODO(b/149585281) remove when root task has the correct bounds for freeform
// Only update the crop if we are drawing shadows on the task.
if (mSurfaceControl == null || !mWmService.mRenderShadowsInCompositor
|| !isRootTask() || !ENABLE_FREEFORM_COMPOSITOR_SHADOWS) {
if (mSurfaceControl == null || !mWmService.mRenderShadowsInCompositor || !isRootTask()) {
return;
}
@@ -4273,8 +4270,7 @@ class Task extends WindowContainer<WindowContainer> {
// Get elevation for a specific windowing mode.
if (inPinnedWindowingMode()) {
elevation = PINNED_WINDOWING_MODE_ELEVATION_IN_DIP;
} else if (ENABLE_FREEFORM_COMPOSITOR_SHADOWS && inFreeformWindowingMode()) {
// TODO(b/149585281) remove when root task has the correct bounds for freeform
} else if (inFreeformWindowingMode()) {
elevation = taskIsFocused
? DECOR_SHADOW_FOCUSED_HEIGHT_IN_DIP : DECOR_SHADOW_UNFOCUSED_HEIGHT_IN_DIP;
} else {