From 2a00f9807c4f447aa9fd4005b40885d80a7b1635 Mon Sep 17 00:00:00 2001 From: Vladislav Kaznacheev Date: Thu, 23 Feb 2017 17:33:51 -0800 Subject: [PATCH] Do not set tooltips on items in list-based menus. The presence of a tooltip (specifically, long click detection logic required by it) interferes with touch processing in AbsListView. Bug: 35726766 Test: android.cts.widget.PopupTest#testItemViewAttributes Change-Id: Ida49c07e5f2e3e06f5994f2cc4aa10ef112376d0 --- core/java/com/android/internal/view/menu/ListMenuItemView.java | 1 - core/java/com/android/internal/widget/FloatingToolbar.java | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/view/menu/ListMenuItemView.java b/core/java/com/android/internal/view/menu/ListMenuItemView.java index 43005e6cac546..919cf991d433c 100644 --- a/core/java/com/android/internal/view/menu/ListMenuItemView.java +++ b/core/java/com/android/internal/view/menu/ListMenuItemView.java @@ -115,7 +115,6 @@ public class ListMenuItemView extends LinearLayout implements MenuView.ItemView setEnabled(itemData.isEnabled()); setSubMenuArrowVisible(itemData.hasSubMenu()); setContentDescription(itemData.getContentDescription()); - setTooltipText(itemData.getTooltipText()); } public void setForceShowIcon(boolean forceShow) { diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java index 817b186b7428d..79b0cd1aced81 100644 --- a/core/java/com/android/internal/widget/FloatingToolbar.java +++ b/core/java/com/android/internal/widget/FloatingToolbar.java @@ -1195,6 +1195,8 @@ public final class FloatingToolbar { } setButtonTagAndClickListener(menuItemButton, menuItem); + // Set tooltips for main panel items, but not overflow items (b/35726766). + menuItemButton.setTooltipText(menuItem.getTooltipText()); mMainPanel.addView(menuItemButton); final ViewGroup.LayoutParams params = menuItemButton.getLayoutParams(); params.width = menuItemButtonWidth + extraPadding / 2; @@ -1635,7 +1637,6 @@ public final class FloatingToolbar { buttonText.setPaddingRelative(iconTextSpacing, 0, 0, 0); } } - menuItemButton.setTooltipText(menuItem.getTooltipText()); final CharSequence contentDescription = menuItem.getContentDescription(); if (TextUtils.isEmpty(contentDescription)) { menuItemButton.setContentDescription(menuItem.getTitle());