summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2012-01-20 14:06:19 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-01-20 14:06:19 -0800
commit2f9510ca50b0fd2925bc7e349f76136ed403a386 (patch)
tree3f94414a56d26330c3125a016b6a25c7ddf0ccb9
parente8bb6fef58dfa94346d8a72c1eb9046d5d1f2da1 (diff)
parent004b02d62605c172c3c9a332a22356cd4edf3598 (diff)
downloadframeworks_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.java2
-rw-r--r--core/java/android/widget/TextView.java21
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);