Make sure the opaque bitmap is opaque. GL doesn't like being lied to.
Bug #3382992
The result still looks wrong but it works as designed, unfortunately.
Change-Id: I6108e199fa336cb01faaabf6c75faa3b71c2339b
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index ca19da2..b0553c6 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -784,6 +784,7 @@
Bitmap.Config.ARGB_8888);
mResizeBitmap.setHasAlpha(false);
Canvas canvas = new Canvas(mResizeBitmap);
+ canvas.drawColor(0xff000000, PorterDuff.Mode.SRC);
int yoff;
final boolean scrolling = mScroller != null
&& mScroller.computeScrollOffset();
@@ -1500,7 +1501,12 @@
mPreviousDirty.set(dirty);
dirty.setEmpty();
- mAttachInfo.mHardwareRenderer.draw(mView, mAttachInfo, this, mCurrentDirty);
+ Rect currentDirty = mCurrentDirty;
+ if (animating) {
+ currentDirty = null;
+ }
+
+ mAttachInfo.mHardwareRenderer.draw(mView, mAttachInfo, this, currentDirty);
}
if (animating) {