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:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user