Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1b88650 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi
Browse files

Fix: Selection handle behavior in scrolled TextView.

When dragging a selection handle, it moves to strange position in
scrolled TextView because scroll position isn't took into account.
This issue was introduced by rebase mistaking in
I2a7e87ad08416f4bd01a5f6.

Bug: 28008281
Change-Id: I6217483fcc0b9a7e661f02a1f276114ddd5031a4
parent 75aee0a6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -4878,11 +4878,12 @@ public class Editor {

        @Override
        protected int getOffsetAtCoordinate(@NonNull Layout layout, int line, float x) {
            final int primaryOffset = layout.getOffsetForHorizontal(line, x, true);
            final float localX = mTextView.convertToLocalHorizontalCoordinate(x);
            final int primaryOffset = layout.getOffsetForHorizontal(line, localX, true);
            if (!layout.isLevelBoundary(primaryOffset)) {
                return primaryOffset;
            }
            final int secondaryOffset = layout.getOffsetForHorizontal(line, x, false);
            final int secondaryOffset = layout.getOffsetForHorizontal(line, localX, false);
            final int currentOffset = getCurrentCursorOffset();
            final int primaryDiff = Math.abs(primaryOffset - currentOffset);
            final int secondaryDiff = Math.abs(secondaryOffset - currentOffset);