OSDN Git Service

Revert "Fixed incorrect calculation of dirty invalidation area"
authorChris Craik <ccraik@google.com>
Thu, 31 Oct 2013 02:49:37 +0000 (19:49 -0700)
committerChris Craik <ccraik@google.com>
Thu, 31 Oct 2013 17:45:24 +0000 (10:45 -0700)
bug:11351836

Because SeekBar's thumb Drawable (among others) is positioned without
padding offset baked in, include that offset when invalidating.

This revert fixes invalidate positioning in the system volume SeekBar,
where the original CL broke full redrawing of the thumb Drawable when
it switched states.

This reverts commit e9018f7716d3d2f61602c07c273674585482653d.

Change-Id: I5b3b07e47f466269f8d349e9a63dc29bf213120b

core/java/android/widget/ProgressBar.java

index 65a2d4d..5392a96 100644 (file)
@@ -959,9 +959,11 @@ public class ProgressBar extends View {
         if (!mInDrawing) {
             if (verifyDrawable(dr)) {
                 final Rect dirty = dr.getBounds();
+                final int scrollX = mScrollX + mPaddingLeft;
+                final int scrollY = mScrollY + mPaddingTop;
 
-                invalidate(dirty.left + mScrollX, dirty.top + mScrollY,
-                        dirty.right + mScrollX, dirty.bottom + mScrollY);
+                invalidate(dirty.left + scrollX, dirty.top + scrollY,
+                        dirty.right + scrollX, dirty.bottom + scrollY);
             } else {
                 super.invalidateDrawable(dr);
             }