From 5730c974800a0ffed59a041d9e249a5c42e417db Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 1 Jun 2015 12:40:42 -0700 Subject: Revert "Use getRunAdvance to position cursor" This reverts commit cb5499c85097450c48f66f6c08a35bab2ad5ab12. Bug: 21549197 --- core/java/android/text/Layout.java | 1 - core/java/android/text/TextLine.java | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java index f7027f9e20b8..f176240dbb73 100644 --- a/core/java/android/text/Layout.java +++ b/core/java/android/text/Layout.java @@ -1121,7 +1121,6 @@ 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 605b91dee9c0..479242c85695 100644 --- a/core/java/android/text/TextLine.java +++ b/core/java/android/text/TextLine.java @@ -739,14 +739,16 @@ class TextLine { float ret = 0; + int contextLen = contextEnd - contextStart; if (needWidth || (c != null && (wp.bgColor != 0 || wp.underlineColor != 0 || runIsRtl))) { if (mCharsValid) { - ret = wp.getRunAdvance(mChars, start, contextEnd, contextStart, contextEnd, - runIsRtl, end); + ret = wp.getTextRunAdvances(mChars, start, runLen, + contextStart, contextLen, runIsRtl, null, 0); } else { int delta = mStart; - ret = wp.getRunAdvance(mText, delta + start, delta + contextEnd, - delta + contextStart, delta + contextEnd, runIsRtl, delta + end); + ret = wp.getTextRunAdvances(mText, delta + start, + delta + end, delta + contextStart, delta + contextEnd, + runIsRtl, null, 0); } } -- cgit v1.2.3-59-g8ed1b