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

Commit 10444a13 authored by Romain Guy's avatar Romain Guy Committed by Android Git Automerger
Browse files

am 596ba2fa: Merge "Correctly invalidate views that transition from opaque to...

am 596ba2fa: Merge "Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037" into honeycomb

* commit '596ba2fa':
  Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037
parents e634d346 596ba2fa
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1813,6 +1813,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
    private int mPrevWidth = -1;
    private int mPrevHeight = -1;

    private boolean mLastIsOpaque;    
    
    /**
     * Convenience value to check for float values that are close enough to zero to be considered
     * zero.
@@ -6743,8 +6745,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
            ViewDebug.trace(this, ViewDebug.HierarchyTraceType.INVALIDATE);
        }

        boolean opaque = isOpaque();
        if ((mPrivateFlags & (DRAWN | HAS_BOUNDS)) == (DRAWN | HAS_BOUNDS) ||
                (invalidateCache && (mPrivateFlags & DRAWING_CACHE_VALID) == DRAWING_CACHE_VALID)) {
                (invalidateCache && (mPrivateFlags & DRAWING_CACHE_VALID) == DRAWING_CACHE_VALID) ||
                opaque != mLastIsOpaque) {
            mLastIsOpaque = opaque;
            mPrivateFlags &= ~DRAWN;
            if (invalidateCache) {
                mPrivateFlags &= ~DRAWING_CACHE_VALID;
+4 −2
Original line number Diff line number Diff line
@@ -710,8 +710,10 @@ public final class ViewRoot extends Handler implements ViewParent,
            // object is not initialized to its backing store, but soon it
            // will be (assuming the window is visible).
            attachInfo.mSurface = mSurface;
            attachInfo.mUse32BitDrawingCache = PixelFormat.formatHasAlpha(lp.format) ||
                    lp.format == PixelFormat.RGBX_8888;
            // We used to use the following condition to choose 32 bits drawing caches:
            // PixelFormat.hasAlpha(lp.format) || lp.format == PixelFormat.RGBX_8888
            // However, windows are now always 32 bits by default, so choose 32 bits
            attachInfo.mUse32BitDrawingCache = true;
            attachInfo.mHasWindowFocus = false;
            attachInfo.mWindowVisibility = viewVisibility;
            attachInfo.mRecomputeGlobalAttributes = false;