diff options
author | Gilles Debunne <debunne@google.com> | 2012-01-20 14:06:19 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-01-20 14:06:19 -0800 |
commit | 2f9510ca50b0fd2925bc7e349f76136ed403a386 (patch) | |
tree | 3f94414a56d26330c3125a016b6a25c7ddf0ccb9 | |
parent | e8bb6fef58dfa94346d8a72c1eb9046d5d1f2da1 (diff) | |
parent | 004b02d62605c172c3c9a332a22356cd4edf3598 (diff) | |
download | frameworks_base-2f9510ca50b0fd2925bc7e349f76136ed403a386.zip frameworks_base-2f9510ca50b0fd2925bc7e349f76136ed403a386.tar.gz frameworks_base-2f9510ca50b0fd2925bc7e349f76136ed403a386.tar.bz2 |
Merge "Touch moves cursor in text refactored"
-rw-r--r-- | core/java/android/text/method/ArrowKeyMovementMethod.java | 2 | ||||
-rw-r--r-- | core/java/android/widget/TextView.java | 21 |
2 files changed, 7 insertions, 16 deletions
diff --git a/core/java/android/text/method/ArrowKeyMovementMethod.java b/core/java/android/text/method/ArrowKeyMovementMethod.java index 4ec4bc4..30bb447 100644 --- a/core/java/android/text/method/ArrowKeyMovementMethod.java +++ b/core/java/android/text/method/ArrowKeyMovementMethod.java @@ -280,8 +280,6 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme if (isSelecting(buffer)) { buffer.removeSpan(LAST_TAP_DOWN); Selection.extendSelection(buffer, offset); - } else if (!widget.shouldIgnoreActionUpEvent()) { - Selection.setSelection(buffer, offset); } MetaKeyKeyListener.adjustMetaAfterKeypress(buffer); diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 1ec869d..f78c247 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -8353,7 +8353,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } final boolean touchIsFinished = (action == MotionEvent.ACTION_UP) && - !shouldIgnoreActionUpEvent() && isFocused(); + !mIgnoreActionUpEvent && isFocused(); if ((mMovement != null || onCheckIsTextEditor()) && isEnabled() && mText instanceof Spannable && mLayout != null) { @@ -8377,6 +8377,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } if (touchIsFinished && (isTextEditable() || mTextIsSelectable)) { + // Move cursor + final int offset = getOffsetForPosition(event.getX(), event.getY()); + Selection.setSelection((Spannable) mText, offset); + // Show the IME, except when selecting in read-only text. final InputMethodManager imm = InputMethodManager.peekInstance(); viewClicked(imm); @@ -8529,17 +8533,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mIgnoreActionUpEvent = true; } - /** - * This method is only valid during a touch event. - * - * @return true when the ACTION_UP event should be ignored, false otherwise. - * - * @hide - */ - public boolean shouldIgnoreActionUpEvent() { - return mIgnoreActionUpEvent; - } - @Override public boolean onTrackballEvent(MotionEvent event) { if (mMovement != null && mText instanceof Spannable && @@ -10145,8 +10138,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener boolean willExtract = extractedTextModeWillBeStarted(); - // Do not start the action mode when extracted text will show up full screen, thus - // immediately hiding the newly created action bar, which would be visually distracting. + // Do not start the action mode when extracted text will show up full screen, which would + // immediately hide the newly created action bar and would be visually distracting. if (!willExtract) { ActionMode.Callback actionModeCallback = new SelectionActionModeCallback(); mSelectionActionMode = startActionMode(actionModeCallback); |