Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7b64e8e authored by Alan Viverette's avatar Alan Viverette
Browse files

Avoid saveLayer in RippleDrawable if the background won't draw

BUG: 17952941
Change-Id: Ic2640f847e2ed43fc5117d43230513ee7696d9e7
parent 2f82e48a
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -719,10 +719,12 @@ public class RippleDrawable extends LayerDrawable {
        final ChildDrawable[] array = mLayerState.mChildren;
        final int count = mLayerState.mNum;

        // We don't need a layer if we don't expect to draw any ripples, we have
        // an explicit mask, or if the non-mask content is all opaque.
        // We don't need a layer if we don't expect to draw any ripples or
        // a background, we have an explicit mask, or if the non-mask content
        // is all opaque.
        boolean needsLayer = false;
        if ((mExitingRipplesCount > 0 || mBackground != null) && mMask == null) {
        if ((mExitingRipplesCount > 0 || (mBackground != null && mBackground.shouldDraw()))
                && mMask == null) {
            for (int i = 0; i < count; i++) {
                if (array[i].mId != R.id.mask
                        && array[i].mDrawable.getOpacity() != PixelFormat.OPAQUE) {