Don't remove background when resizing

This leads to flickers, as we should not draw in a translucent way
if we didn't specify that our window is translucent, because the
renderer has some about translucency.

Instead, we should clip the backdrop content by the inverse of the
content clip rect, which is not yet implemented.

Bug: 28009524
Change-Id: Ia3f54fb83997ace863e78ff1cbe45cfb64f92f26
This commit is contained in:
Jorim Jaggi
2016-04-11 18:37:20 -07:00
parent d7f6e7c769
commit 971d8e6399

View File

@@ -210,7 +210,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
private Drawable mResizingBackgroundDrawable;
private Drawable mCaptionBackgroundDrawable;
private Drawable mUserCaptionBackgroundDrawable;
private Drawable mOriginalBackgroundDrawable;
private float mAvailableWidth;
@@ -891,11 +890,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
mBackgroundPadding.setEmpty();
}
drawableChanged();
// Make sure we don't reset to the old drawable when finishing resizing.
if (mResizeMode != RESIZE_MODE_INVALID) {
mOriginalBackgroundDrawable = null;
}
}
}
@@ -1960,9 +1954,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
updateElevation();
updateColorViews(null /* insets */, false);
mOriginalBackgroundDrawable = getBackground();
setBackgroundDrawable(null);
}
mResizeMode = resizeMode;
getViewRootImpl().requestInvalidateRootRenderNode();
@@ -1974,10 +1965,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
updateColorViews(null /* insets */, false);
mResizeMode = RESIZE_MODE_INVALID;
getViewRootImpl().requestInvalidateRootRenderNode();
if (mOriginalBackgroundDrawable != null) {
setBackgroundDrawable(mOriginalBackgroundDrawable);
mOriginalBackgroundDrawable = null;
}
}
@Override