Remove accessibility long click option if no long click action occurs.
Bug: 149370403
Change-Id: Ifdbd673a53229c76a99f7b8ef9569db7195481a2
diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
index 24c846c..f45c0b1 100644
--- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
+++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
@@ -157,8 +157,8 @@
}
private boolean itemSupportsLongClick(View host, ItemInfo info) {
- return new CustomActionsPopup(mLauncher, host).canShow()
- || ShortcutUtil.supportsShortcuts(info);
+ return PopupContainerWithArrow.canShow(host, info)
+ || new CustomActionsPopup(mLauncher, host).canShow();
}
private boolean itemSupportsAccessibleDrag(ItemInfo item) {
@@ -181,7 +181,7 @@
public boolean performAction(final View host, final ItemInfo item, int action) {
if (action == ACTION_LONG_CLICK) {
- if (ShortcutUtil.supportsShortcuts(item)) {
+ if (PopupContainerWithArrow.canShow(host, item)) {
// Long press should be consumed for workspace items, and it should invoke the
// Shortcuts / Notifications / Actions pop-up menu, and not start a drag as the
// standard long press path does.
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index 9bac259..406e1b2 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -185,6 +185,13 @@
}
/**
+ * Returns true if we can show the container.
+ */
+ public static boolean canShow(View icon, ItemInfo item) {
+ return icon instanceof BubbleTextView && ShortcutUtil.supportsShortcuts(item);
+ }
+
+ /**
* Shows the notifications and deep shortcuts associated with {@param icon}.
* @return the container if shown or null.
*/
@@ -196,7 +203,7 @@
return null;
}
ItemInfo item = (ItemInfo) icon.getTag();
- if (!ShortcutUtil.supportsShortcuts(item)) {
+ if (!canShow(icon, item)) {
return null;
}