diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 7e16c7db938f4..a8d2bef9b7fbe 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -10830,13 +10830,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // Unattached views ignore this signal, and outline is recomputed in onAttachedToWindow() if (mAttachInfo == null) return; - final Outline outline = mAttachInfo.mTmpOutline; - outline.setEmpty(); - if (mOutlineProvider == null) { // no provider, remove outline mRenderNode.setOutline(null); } else { + final Outline outline = mAttachInfo.mTmpOutline; + outline.setEmpty(); + outline.setAlpha(1.0f); + mOutlineProvider.getOutline(this, outline); mRenderNode.setOutline(outline); } diff --git a/core/java/android/view/ViewOutlineProvider.java b/core/java/android/view/ViewOutlineProvider.java index 40540316309d9..170c5d8149cc1 100644 --- a/core/java/android/view/ViewOutlineProvider.java +++ b/core/java/android/view/ViewOutlineProvider.java @@ -37,7 +37,6 @@ public abstract class ViewOutlineProvider { if (background != null) { background.getOutline(outline); } else { - outline.setRect(0, 0, view.getWidth(), view.getHeight()); outline.setAlpha(0.0f); } @@ -51,6 +50,8 @@ public abstract class ViewOutlineProvider { * View's size changes, or if {@link View#invalidateOutline()} is called * explicitly. * + * The input outline is empty and has an alpha of 1.0f. + * * @param view The view building the outline. * @param outline The empty outline to be populated. */