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

Commit 36d9a6df authored by Chris Craik's avatar Chris Craik
Browse files

Support shadows and reordering in ViewOverlay

Bug: 32726440
Test: manual
Change-Id: Ic5d7efdee5a493b7768b9db8150f65f97b3f0a64
parent f36beac9
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -238,7 +238,19 @@ public class ViewOverlay {

        @Override
        protected void dispatchDraw(Canvas canvas) {
            /*
             * The OverlayViewGroup doesn't draw with a DisplayList, because
             * draw(Canvas, View, long) is never called on it. This is fine, since it doesn't need
             * RenderNode/DisplayList features, and can just draw into the owner's Canvas.
             *
             * This means that we need to insert reorder barriers manually though, so that children
             * of the OverlayViewGroup can cast shadows and Z reorder with each other.
             */
            canvas.insertReorderBarrier();

            super.dispatchDraw(canvas);

            canvas.insertInorderBarrier();
            final int numDrawables = (mDrawables == null) ? 0 : mDrawables.size();
            for (int i = 0; i < numDrawables; ++i) {
                mDrawables.get(i).draw(canvas);