diff options
author | Alan Viverette <alanv@google.com> | 2014-02-21 16:48:17 -0800 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2014-02-21 16:48:33 -0800 |
commit | 550267f72b6217f797e7f93bb312ecbe6541ff49 (patch) | |
tree | f399cdf0c1aec107f3a41fe1fdfc59885883383d /core/java | |
parent | 4418372b21e91f6d4b9e11931dd87a90a023d79e (diff) | |
download | frameworks_base-550267f72b6217f797e7f93bb312ecbe6541ff49.zip frameworks_base-550267f72b6217f797e7f93bb312ecbe6541ff49.tar.gz frameworks_base-550267f72b6217f797e7f93bb312ecbe6541ff49.tar.bz2 |
Fix refactoring of invalidate methods
Was incorrectly clearing the DRAWN flag and updating mLastIsOpaque from
partial invalidations, though why this should be different is somewhat
of a mystery.
BUG: 13138721
Change-Id: Ic8d11a64406bc78e94adec7355c1f50d87567887
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/view/View.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index a3bce9e..0665264 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -11517,7 +11517,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } void invalidateInternal(int l, int t, int r, int b, boolean invalidateCache, - boolean checkOpaque) { + boolean fullInvalidate) { if (skipInvalidate()) { return; } @@ -11525,9 +11525,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if ((mPrivateFlags & (PFLAG_DRAWN | PFLAG_HAS_BOUNDS)) == (PFLAG_DRAWN | PFLAG_HAS_BOUNDS) || (invalidateCache && (mPrivateFlags & PFLAG_DRAWING_CACHE_VALID) == PFLAG_DRAWING_CACHE_VALID) || (mPrivateFlags & PFLAG_INVALIDATED) != PFLAG_INVALIDATED - || (checkOpaque && isOpaque() != mLastIsOpaque)) { - mLastIsOpaque = isOpaque(); - mPrivateFlags &= ~PFLAG_DRAWN; + || (fullInvalidate && isOpaque() != mLastIsOpaque)) { + if (fullInvalidate) { + mLastIsOpaque = isOpaque(); + mPrivateFlags &= ~PFLAG_DRAWN; + } + mPrivateFlags |= PFLAG_DIRTY; if (invalidateCache) { |