From 6b3912865c1530a6e06dd189dd95dc5be102b4de Mon Sep 17 00:00:00 2001 From: Chris Tate Date: Thu, 14 Oct 2010 15:48:59 -0700 Subject: [PATCH] Drag thumbnail fixes / improvements * Properly wipe the thumbnail canvas before handing it to the app for its contents to be drawn * Provide a getView() method in DragThumbnailBuilder that allows clients or subclasses to get at the associated view. This is especially for clients that want to draw entire (sub)layouts as the drag thumbnail, by overriding onDrawThumbnail(Canvas c) like this: // Override specifically for drawing a whole ViewGroup into // the drag thumbnail canvas @Override public void onDrawThumbnail(Canvas c) { getView().dispatchDraw(c); } Change-Id: Ib43ddd7cf1d44faf2d7f6ba79f102bc3c7f14596 --- api/current.xml | 11 +++++++++++ core/java/android/view/View.java | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/api/current.xml b/api/current.xml index 6677a90f9f201..0d76b719e6fe7 100644 --- a/api/current.xml +++ b/api/current.xml @@ -206860,6 +206860,17 @@ + + (view); } + final public View getView() { + return mView.get(); + } + /** * Provide the draggable-thumbnail metrics for the operation: the dimensions of * the thumbnail image itself, and the point within that thumbnail that should @@ -9932,6 +9936,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility if (token != null) { Canvas canvas = surface.lockCanvas(null); try { + canvas.drawColor(0, PorterDuff.Mode.CLEAR); thumbBuilder.onDrawThumbnail(canvas); } finally { surface.unlockCanvasAndPost(canvas);