Translate compound button drawable by scroll position

BUG: 18028674
Change-Id: Iaba848642b87f0d134c6a6c57e5756d883e45904
diff --git a/core/java/android/widget/CompoundButton.java b/core/java/android/widget/CompoundButton.java
index 2ccd18d..7d9d305 100644
--- a/core/java/android/widget/CompoundButton.java
+++ b/core/java/android/widget/CompoundButton.java
@@ -398,7 +398,15 @@
         super.onDraw(canvas);
 
         if (buttonDrawable != null) {
-            buttonDrawable.draw(canvas);
+            final int scrollX = mScrollX;
+            final int scrollY = mScrollY;
+            if (scrollX == 0 && scrollY == 0) {
+                buttonDrawable.draw(canvas);
+            } else {
+                canvas.translate(scrollX, scrollY);
+                buttonDrawable.draw(canvas);
+                canvas.translate(-scrollX, -scrollY);
+            }
         }
     }