From: Romain Guy Date: Mon, 1 Jun 2009 21:54:59 +0000 (-0700) Subject: Fixes #1889268. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2eb49ff2;p=android-x86%2Fpackages-apps-Launcher.git Fixes #1889268. Dragging an icon out of a folder was showing a gray background. This was due to the icon's drawing cache background color. This fix simply temporarily resets that color when capturing the view into a Bitmap. --- diff --git a/src/com/android/launcher/DragLayer.java b/src/com/android/launcher/DragLayer.java index b5b84b8..2e59b10 100644 --- a/src/com/android/launcher/DragLayer.java +++ b/src/com/android/launcher/DragLayer.java @@ -195,8 +195,13 @@ public class DragLayer extends FrameLayout implements DragController { boolean willNotCache = v.willNotCacheDrawing(); v.setWillNotCacheDrawing(false); - v.buildDrawingCache(); + // Reset the drawing cache background color to fully transparent + // for the duration of this operation + int color = v.getDrawingCacheBackgroundColor(); + v.setDrawingCacheBackgroundColor(0); + + v.buildDrawingCache(); Bitmap viewBitmap = v.getDrawingCache(); int width = viewBitmap.getWidth(); int height = viewBitmap.getHeight(); @@ -218,6 +223,7 @@ public class DragLayer extends FrameLayout implements DragController { mDragBitmap = Bitmap.createBitmap(viewBitmap, 0, 0, width, height, scale, true); v.destroyDrawingCache(); v.setWillNotCacheDrawing(willNotCache); + v.setDrawingCacheBackgroundColor(color); final Bitmap dragBitmap = mDragBitmap; mBitmapOffsetX = (dragBitmap.getWidth() - width) / 2;