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

Commit 3065ab08 authored by Romain Guy's avatar Romain Guy Committed by Android Git Automerger
Browse files

am 2c602e6a: Merge "Non-opaque views with fading edges cannot be marked dirty...

am 2c602e6a: Merge "Non-opaque views with fading edges cannot be marked dirty opaque. Bug #3325084" into honeycomb

* commit '2c602e6a':
  Non-opaque views with fading edges cannot be marked dirty opaque. Bug #3325084
parents 656c8843 2c602e6a
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -3392,7 +3392,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
                        child.getAnimation() == null;
                // Mark the child as dirty, using the appropriate flag
                // Make sure we do not set both flags at the same time
                final int opaqueFlag = isOpaque ? DIRTY_OPAQUE : DIRTY;
                int opaqueFlag = isOpaque ? DIRTY_OPAQUE : DIRTY;

                final int[] location = attachInfo.mInvalidateChildLocation;
                location[CHILD_LEFT_INDEX] = child.mLeft;
@@ -3423,9 +3423,15 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager

                    // If the parent is dirty opaque or not dirty, mark it dirty with the opaque
                    // flag coming from the child that initiated the invalidate
                    if (view != null && (view.mPrivateFlags & DIRTY_MASK) != DIRTY) {
                    if (view != null) {
                        if ((view.mViewFlags & FADING_EDGE_MASK) != 0 &&
                                view.getSolidColor() == 0 && !view.isOpaque()) {
                            opaqueFlag = DIRTY;
                        }
                        if ((view.mPrivateFlags & DIRTY_MASK) != DIRTY) {
                            view.mPrivateFlags = (view.mPrivateFlags & ~DIRTY_MASK) | opaqueFlag;
                        }
                    }

                    parent = parent.invalidateChildInParent(location, dirty);
                    if (view != null) {