summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorMady Mellor <madym@google.com>2015-04-14 16:52:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-14 16:52:06 +0000
commitb3a0660eabeb4d4bd7ae539ca48c0f9d22b31890 (patch)
tree16fc50c60b100eb079ac9a5b4f59ef5c83bc50c0 /core/java/android
parent317918e206b89f4a49bfa35af57607764f322347 (diff)
parentc2225b9d9e36d94b0a96282b91e370318475e830 (diff)
Merge "Use HandleView's previous offset for text selection handles"
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/Editor.java22
1 files changed, 7 insertions, 15 deletions
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 29073beda9c3..1be05f38eb69 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -3370,7 +3370,7 @@ public class Editor {
// Parent's (TextView) previous position in window
private int mLastParentX, mLastParentY;
// Previous text character offset
- private int mPreviousOffset = -1;
+ protected int mPreviousOffset = -1;
// Previous text character offset
private boolean mPositionHasChanged = true;
// Minimum touch target size for handles
@@ -3830,8 +3830,6 @@ public class Editor {
}
private class SelectionStartHandleView extends HandleView {
- // The previous offset this handle was at.
- private int mPrevOffset;
// Indicates whether the cursor is making adjustments within a word.
private boolean mInWord = false;
// Offset to track difference between touch and word boundary.
@@ -3879,7 +3877,7 @@ public class Editor {
int end = getWordEnd(offset, true);
int start = getWordStart(offset);
- if (offset < mPrevOffset) {
+ if (offset < mPreviousOffset) {
// User is increasing the selection.
if (!mInWord || currLine < mPrevLine) {
// We're not in a word, or we're on a different line so we'll expand by
@@ -3888,21 +3886,19 @@ public class Editor {
if (offset <= end - offsetToWord || currLine < mPrevLine) {
offset = start;
} else {
- offset = mPrevOffset;
+ offset = mPreviousOffset;
}
}
- mPrevOffset = offset;
mTouchWordOffset = Math.max(trueOffset - offset, 0);
mInWord = !isStartBoundary(offset);
positionCursor = true;
- } else if (offset - mTouchWordOffset > mPrevOffset) {
+ } else if (offset - mTouchWordOffset > mPreviousOffset) {
// User is shrinking the selection.
if (currLine > mPrevLine) {
// We're on a different line, so we'll snap to word boundaries.
offset = end;
}
offset -= mTouchWordOffset;
- mPrevOffset = offset;
mInWord = !isEndBoundary(offset);
positionCursor = true;
}
@@ -3936,8 +3932,6 @@ public class Editor {
}
private class SelectionEndHandleView extends HandleView {
- // The previous offset this handle was at.
- private int mPrevOffset;
// Indicates whether the cursor is making adjustments within a word.
private boolean mInWord = false;
// Offset to track difference between touch and word boundary.
@@ -3986,7 +3980,7 @@ public class Editor {
int end = getWordEnd(offset, true);
int start = getWordStart(offset);
- if (offset > mPrevOffset) {
+ if (offset > mPreviousOffset) {
// User is increasing the selection.
if (!mInWord || currLine > mPrevLine) {
// We're not in a word, or we're on a different line so we'll expand by
@@ -3995,21 +3989,19 @@ public class Editor {
if (offset >= start + midPoint || currLine > mPrevLine) {
offset = end;
} else {
- offset = mPrevOffset;
+ offset = mPreviousOffset;
}
}
- mPrevOffset = offset;
mTouchWordOffset = Math.max(offset - trueOffset, 0);
mInWord = !isEndBoundary(offset);
positionCursor = true;
- } else if (offset + mTouchWordOffset < mPrevOffset) {
+ } else if (offset + mTouchWordOffset < mPreviousOffset) {
// User is shrinking the selection.
if (currLine > mPrevLine) {
// We're on a different line, so we'll snap to word boundaries.
offset = getWordStart(offset);
}
offset += mTouchWordOffset;
- mPrevOffset = offset;
positionCursor = true;
mInWord = !isStartBoundary(offset);
}