TextView longpress 2 haptic feedback fix

TextView#performLongClick() calls View#performLongClick which
calls View#performLongClickInternal() which, if handled, performs
the longpress haptic feedback and returns handled. TextView
looks at this return value and if it is true then makes another
call to perform longpress haptic feedback. Remove the duplicate
call in TextView as the one in the parent (View) is sufficient.

Bug: 65397911
Test: manual
Change-Id: Ic73a86637486d5382b63f1c1b37783e238452841
This commit is contained in:
Andrei Stingaceanu
2017-09-07 14:12:38 +01:00
parent 0be3f49560
commit 4303f22535

View File

@@ -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(