diff options
-rw-r--r-- | core/java/android/text/Layout.java | 1 | ||||
-rw-r--r-- | core/java/android/text/TextLine.java | 10 |
2 files changed, 5 insertions, 6 deletions
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java index f176240..f7027f9 100644 --- a/core/java/android/text/Layout.java +++ b/core/java/android/text/Layout.java @@ -1121,6 +1121,7 @@ public abstract class Layout { * closest to the specified horizontal position. */ public int getOffsetForHorizontal(int line, float horiz) { + // TODO: use Paint.getOffsetForAdvance to avoid binary search int max = getLineEnd(line) - 1; int min = getLineStart(line); Directions dirs = getLineDirections(line); diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java index 479242c..605b91d 100644 --- a/core/java/android/text/TextLine.java +++ b/core/java/android/text/TextLine.java @@ -739,16 +739,14 @@ class TextLine { float ret = 0; - int contextLen = contextEnd - contextStart; if (needWidth || (c != null && (wp.bgColor != 0 || wp.underlineColor != 0 || runIsRtl))) { if (mCharsValid) { - ret = wp.getTextRunAdvances(mChars, start, runLen, - contextStart, contextLen, runIsRtl, null, 0); + ret = wp.getRunAdvance(mChars, start, contextEnd, contextStart, contextEnd, + runIsRtl, end); } else { int delta = mStart; - ret = wp.getTextRunAdvances(mText, delta + start, - delta + end, delta + contextStart, delta + contextEnd, - runIsRtl, null, 0); + ret = wp.getRunAdvance(mText, delta + start, delta + contextEnd, + delta + contextStart, delta + contextEnd, runIsRtl, delta + end); } } |