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