diff options
| author | Mady Mellor <madym@google.com> | 2015-04-14 16:52:03 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-14 16:52:06 +0000 |
| commit | b3a0660eabeb4d4bd7ae539ca48c0f9d22b31890 (patch) | |
| tree | 16fc50c60b100eb079ac9a5b4f59ef5c83bc50c0 /core/java | |
| parent | 317918e206b89f4a49bfa35af57607764f322347 (diff) | |
| parent | c2225b9d9e36d94b0a96282b91e370318475e830 (diff) | |
Merge "Use HandleView's previous offset for text selection handles"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/widget/Editor.java | 22 |
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); } |
