From 2b12b58f942e34e8c0cc5095cca71dbaaa029624 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Wed, 29 Oct 2014 11:11:40 -0700 Subject: [PATCH] Create translucent hardware renderer if surface insets are non-zero BUG: 18160604 Change-Id: Ie4483b9841bd91778659d83b154f69e777fa1dfc --- core/java/android/view/ViewRootImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 81fc966191287..7e3e348a05cfa 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -727,7 +727,10 @@ public final class ViewRootImpl implements ViewParent, mAttachInfo.mHardwareRenderer.destroy(); } - final boolean translucent = attrs.format != PixelFormat.OPAQUE; + final Rect insets = attrs.surfaceInsets; + final boolean hasSurfaceInsets = insets.left == 0 || insets.right == 0 + || insets.top == 0 || insets.bottom == 0; + final boolean translucent = attrs.format != PixelFormat.OPAQUE || hasSurfaceInsets; mAttachInfo.mHardwareRenderer = HardwareRenderer.create(mContext, translucent); if (mAttachInfo.mHardwareRenderer != null) { mAttachInfo.mHardwareRenderer.setName(attrs.getTitle().toString());