am db9629ee: Merge "Fix: Hard to modify multi-line selection." into mnc-dev

* commit 'db9629eec46a3259a9973c2d597fc0813028694c':
  Fix: Hard to modify multi-line selection.
This commit is contained in:
Mady Mellor
2015-05-08 21:57:04 +00:00
committed by Android Git Automerger

View File

@@ -3974,16 +3974,16 @@ public class Editor {
}
}
mTouchWordOffset = Math.max(trueOffset - offset, 0);
mInWord = !getWordIteratorWithText().isBoundary(offset);
positionCursor = true;
} else if (offset - mTouchWordOffset > mPreviousOffset) {
} else if (offset - mTouchWordOffset > mPreviousOffset || currLine > mPrevLine) {
// User is shrinking the selection.
if (currLine > mPrevLine) {
// We're on a different line, so we'll snap to word boundaries.
offset = end;
offset = start;
mTouchWordOffset = Math.max(trueOffset - offset, 0);
} else {
offset -= mTouchWordOffset;
}
offset -= mTouchWordOffset;
mInWord = !getWordIteratorWithText().isBoundary(offset);
positionCursor = true;
}
@@ -3999,7 +3999,9 @@ public class Editor {
} else {
offset = alteredOffset;
}
mTouchWordOffset = 0;
}
mInWord = !getWordIteratorWithText().isBoundary(offset);
positionAtCursorOffset(offset, false);
}
}
@@ -4072,17 +4074,17 @@ public class Editor {
}
}
mTouchWordOffset = Math.max(offset - trueOffset, 0);
mInWord = !getWordIteratorWithText().isBoundary(offset);
positionCursor = true;
} else if (offset + mTouchWordOffset < mPreviousOffset) {
} else if (offset + mTouchWordOffset < mPreviousOffset || currLine < mPrevLine) {
// User is shrinking the selection.
if (currLine < mPrevLine) {
// We're on a different line, so we'll snap to word boundaries.
offset = start;
offset = end;
mTouchWordOffset = Math.max(offset - trueOffset, 0);
} else {
offset += mTouchWordOffset;
}
offset += mTouchWordOffset;
positionCursor = true;
mInWord = !getWordIteratorWithText().isBoundary(offset);
}
if (positionCursor) {
@@ -4097,7 +4099,9 @@ public class Editor {
} else {
offset = Math.min(alteredOffset, length);
}
mTouchWordOffset = 0;
}
mInWord = !getWordIteratorWithText().isBoundary(offset);
positionAtCursorOffset(offset, false);
}
}