From ff65674a10d276dcfcf0da029960784b59e826a9 Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Tue, 31 Mar 2020 19:25:48 -0700 Subject: [PATCH] Remove accessibility long click option if no long click action occurs. Bug: 149370403 Change-Id: Ifdbd673a53229c76a99f7b8ef9569db7195481a2 --- .../accessibility/LauncherAccessibilityDelegate.java | 6 +++--- .../android/launcher3/popup/PopupContainerWithArrow.java | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java index 24c846cf83..f45c0b19d2 100644 --- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java +++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java @@ -157,8 +157,8 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme } 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 class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme 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 9bac259efe..406e1b2180 100644 --- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java +++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java @@ -184,6 +184,13 @@ public class PopupContainerWithArrow extends Arr return false; } + /** + * 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 @@ public class PopupContainerWithArrow extends Arr return null; } ItemInfo item = (ItemInfo) icon.getTag(); - if (!ShortcutUtil.supportsShortcuts(item)) { + if (!canShow(icon, item)) { return null; }