summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/view/ViewGroup.java19
1 files changed, 8 insertions, 11 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 17384c1..ac63742 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -3254,13 +3254,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
// through
final boolean drawAnimation = (child.mPrivateFlags & DRAW_ANIMATION) == DRAW_ANIMATION;
- // Check whether the child that requests the invalidate is fully opaque
- final boolean isOpaque = child.isOpaque() && !drawAnimation &&
- 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;
-
if (dirty == null) {
do {
View view = null;
@@ -3286,10 +3279,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
} else if (view != null) {
if ((mPrivateFlags & DRAWN) == DRAWN) {
view.mPrivateFlags &= ~DRAWING_CACHE_VALID;
- if (view != null && (view.mPrivateFlags & DIRTY_MASK) != DIRTY) {
- view.mPrivateFlags =
- (view.mPrivateFlags & ~DIRTY_MASK) | opaqueFlag;
- }
+ view.mPrivateFlags |= DIRTY;
parent = view.mParent;
} else {
parent = null;
@@ -3297,6 +3287,13 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
}
} while (parent != null);
} else {
+ // Check whether the child that requests the invalidate is fully opaque
+ final boolean isOpaque = child.isOpaque() && !drawAnimation &&
+ 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;
+
final int[] location = attachInfo.mInvalidateChildLocation;
location[CHILD_LEFT_INDEX] = child.mLeft;
location[CHILD_TOP_INDEX] = child.mTop;