diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index b2e2e889d16cf..cd2d2fdf5a8a4 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -10875,6 +10875,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override public boolean performLongClick() { boolean handled = false; + boolean performedHapticFeedback = false; if (mEditor != null) { mEditor.mIsBeingLongClicked = true; @@ -10882,6 +10883,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener if (super.performLongClick()) { handled = true; + performedHapticFeedback = true; } if (mEditor != null) { @@ -10890,7 +10892,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } if (handled) { - performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); + if (!performedHapticFeedback) { + performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); + } if (mEditor != null) mEditor.mDiscardNextActionUp = true; } else { MetricsLogger.action(