am 15208ac5: Merge "No vibration when long pressing in the empty part of an EditText"

* commit '15208ac5003de16e8e3d9ec26c3ef05347da7731':
  No vibration when long pressing in the empty part of an EditText
This commit is contained in:
Gilles Debunne
2011-09-08 11:20:04 -07:00
committed by Android Git Automerger

View File

@@ -9228,21 +9228,23 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
@Override
public boolean performLongClick() {
boolean handled = false;
boolean vibrate = true;
if (super.performLongClick()) {
mDiscardNextActionUp = true;
return true;
handled = true;
}
boolean handled = false;
// Long press in empty space moves cursor and shows the Paste affordance if available.
if (!isPositionOnText(mLastDownPositionX, mLastDownPositionY) &&
if (!handled && !isPositionOnText(mLastDownPositionX, mLastDownPositionY) &&
mInsertionControllerEnabled) {
final int offset = getOffsetForPosition(mLastDownPositionX, mLastDownPositionY);
stopSelectionActionMode();
Selection.setSelection((Spannable) mText, offset);
getInsertionController().showWithActionPopup();
handled = true;
vibrate = false;
}
if (!handled && mSelectionActionMode != null) {
@@ -9264,10 +9266,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
// Start a new selection
handled |= !handled && startSelectionActionMode();
if (!handled) {
handled = startSelectionActionMode();
}
if (vibrate) {
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
}
if (handled) {
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
mDiscardNextActionUp = true;
}