- final CharSequence text = mTextView.getText();
- final int nextOffset = layout.getPaint().getTextRunCursor(text, 0, text.length(),
- layout.isRtlCharAt(offset) ? Paint.DIRECTION_RTL : Paint.DIRECTION_LTR,
- offset, findAfterGivenOffset ? Paint.CURSOR_AFTER : Paint.CURSOR_BEFORE);
- return nextOffset == -1 ? offset : nextOffset;
+ return findAfterGivenOffset == layout.isRtlCharAt(offset) ?
+ layout.getOffsetToLeftOf(offset) : layout.getOffsetToRightOf(offset);