Merge "Text handles do not handle scroll correctly" into ics-mr0

This commit is contained in:
Gilles Debunne
2011-10-28 13:41:01 -07:00
committed by Android (Google) Code Review

View File

@@ -9409,8 +9409,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
return false;
}
int posX = mPositionX + positionX - getScrollX();
int posY = mPositionY + positionY - getScrollY();
int posX = mPositionX + positionX;
int posY = mPositionY + positionY;
// Offset by 1 to take into account 0.5 and int rounding around getPrimaryHorizontal.
return posX >= clip.left - 1 && posX <= clip.right + 1 &&
@@ -9421,7 +9421,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
final int line = mLayout.getLineForOffset(offset);
final int lineBottom = mLayout.getLineBottom(line);
final int primaryHorizontal = (int) mLayout.getPrimaryHorizontal(offset);
return isVisible(primaryHorizontal, lineBottom);
return isVisible(primaryHorizontal + viewportToContentHorizontalOffset(),
lineBottom + viewportToContentVerticalOffset());
}
public void onScrollChanged() {
@@ -10561,7 +10562,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
mPositionX = (int) (mLayout.getPrimaryHorizontal(offset) - 0.5f - mHotspotX);
mPositionY = mLayout.getLineBottom(line);
// Take TextView's padding into account.
// Take TextView's padding and scroll into account.
mPositionX += viewportToContentHorizontalOffset();
mPositionY += viewportToContentVerticalOffset();