Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e28454a2 authored by Gilles Debunne's avatar Gilles Debunne
Browse files

No vibration when long pressing in the empty part of an EditText

Bug 5272224. Vibration should be limited to the start of an action mode,
which is not the case here.

Change-Id: I0f2263edb24e73f10297d27e109bb37c46fe96bc
parent a7e88d68
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -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 (handled) {
        if (vibrate) {
            performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
        }

        if (handled) {
            mDiscardNextActionUp = true;
        }