Merge "Fix build breakage resulting from change id: Ia1038f45"
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 22e22be..4d1cef8 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -1226,7 +1226,6 @@
     private void drawHardwareAccelerated(Canvas canvas, Layout layout, Path highlight,
             Paint highlightPaint, int cursorOffsetVertical) {
         final int width = mTextView.getWidth();
-        final int height = mTextView.getHeight();
 
         final long lineRange = layout.getLineRangeForDraw(canvas);
         int firstLine = TextUtils.unpackRangeStartFromLong(lineRange);
@@ -1246,6 +1245,10 @@
             int[] blockIndices = dynamicLayout.getBlockIndices();
             final int numberOfBlocks = dynamicLayout.getNumberOfBlocks();
 
+            final int scrollX = mTextView.getScrollX();
+            final int scrollY = mTextView.getScrollY();
+            canvas.translate(scrollX, scrollY);
+            
             int endOfPreviousBlock = -1;
             int searchStartIndex = 0;
             for (int i = 0; i < numberOfBlocks; i++) {
@@ -1281,9 +1284,9 @@
                         hardwareCanvas.onPreDraw(null);
                         // drawText is always relative to TextView's origin, this translation brings
                         // this range of text back to the top of the viewport
-                        hardwareCanvas.translate(0, -top);
+                        hardwareCanvas.translate(-scrollX, -top);
                         layout.drawText(hardwareCanvas, blockBeginLine, blockEndLine);
-                        hardwareCanvas.translate(0, top);
+                        hardwareCanvas.translate(scrollX, top);
                     } finally {
                         hardwareCanvas.onPostDraw();
                         blockDisplayList.end();
@@ -1299,6 +1302,8 @@
                 ((HardwareCanvas) canvas).drawDisplayList(blockDisplayList, null,
                         0 /* no child clipping, our TextView parent enforces it */);
                 endOfPreviousBlock = blockEndLine;
+                
+                canvas.translate(-scrollX, -scrollY);
             }
         } else {
             // Boring layout is used for empty and hint text