diff options
-rw-r--r-- | res/values/config.xml | 1 | ||||
-rw-r--r-- | res/values/strings.xml | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java | 11 | ||||
-rw-r--r-- | src/com/android/launcher3/popup/ArrowPopup.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/popup/PopupContainerWithArrow.java | 13 |
6 files changed, 19 insertions, 24 deletions
diff --git a/res/values/config.xml b/res/values/config.xml index 9d1bb4110..6158f29b3 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -139,6 +139,7 @@ <item type="id" name="action_move_screen_forwards" /> <item type="id" name="action_resize" /> <item type="id" name="action_deep_shortcuts" /> + <item type="id" name="action_shortcuts_and_notifications"/> <item type="id" name="action_dismiss_notification" /> <!-- QSB IDs. DO not change --> diff --git a/res/values/strings.xml b/res/values/strings.xml index 4fbd806ab..5dc784493 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -310,11 +310,9 @@ <!-- Accessibility action to show quick actions menu for an icon. [CHAR_LIMIT=30] --> <string name="action_deep_shortcut">Shortcuts</string> - - <!-- Accessibility description for the shortcuts menu shown for an app. --> - <string name="shortcuts_menu_description"><xliff:g id="number_of_shortcuts" example="3">%1$d</xliff:g> shortcuts for <xliff:g id="app_name" example="Messenger">%2$s</xliff:g></string> - <!-- Accessibility description when the shortcuts menu has notifications as well as shortcuts. --> - <string name="shortcuts_menu_with_notifications_description"><xliff:g id="number_of_shortcuts" example="3">%1$d</xliff:g> shortcuts and <xliff:g id="number_of_notifications" example="3">%2$d</xliff:g> notifications for <xliff:g id="app_name" example="Messenger">%3$s</xliff:g></string> + <!-- Accessibility description when the shortcuts menu has notifications as well as shortcuts. [CHAR_LIMIT=50] --> + <string name="shortcuts_menu_with_notifications_description">Shortcuts and notifications + </string> <!-- Accessibility action to dismiss a notification in the shortcuts menu for an icon. [CHAR_LIMIT=30] --> <string name="action_dismiss_notification">Dismiss</string> diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 9a9e001c3..d8bb90a71 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2338,7 +2338,8 @@ public class Launcher extends BaseDraggingActivity } if (currentFocus.getTag() instanceof ItemInfo && DeepShortcutManager.supportsShortcuts((ItemInfo) currentFocus.getTag())) { - shortcutInfos.add(new KeyboardShortcutInfo(getString(R.string.action_deep_shortcut), + shortcutInfos.add(new KeyboardShortcutInfo( + getString(R.string.shortcuts_menu_with_notifications_description), KeyEvent.KEYCODE_S, KeyEvent.META_CTRL_ON)); } if (!shortcutInfos.isEmpty()) { diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java index e1cb4b8dc..81a0e1d5d 100644 --- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java +++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java @@ -25,8 +25,6 @@ import com.android.launcher3.DropTarget.DragObject; import com.android.launcher3.FolderInfo; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; -import com.android.launcher3.touch.ItemLongClickListener; -import com.android.launcher3.widget.LauncherAppWidgetHostView; import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherSettings; import com.android.launcher3.LauncherSettings.Favorites; @@ -37,9 +35,12 @@ import com.android.launcher3.Workspace; import com.android.launcher3.dragndrop.DragController.DragListener; import com.android.launcher3.dragndrop.DragOptions; import com.android.launcher3.folder.Folder; +import com.android.launcher3.notification.NotificationListener; import com.android.launcher3.popup.PopupContainerWithArrow; import com.android.launcher3.shortcuts.DeepShortcutManager; +import com.android.launcher3.touch.ItemLongClickListener; import com.android.launcher3.util.Thunk; +import com.android.launcher3.widget.LauncherAppWidgetHostView; import java.util.ArrayList; @@ -55,6 +56,7 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme protected static final int MOVE_TO_WORKSPACE = R.id.action_move_to_workspace; protected static final int RESIZE = R.id.action_resize; public static final int DEEP_SHORTCUTS = R.id.action_deep_shortcuts; + public static final int SHORTCUTS_AND_NOTIFICATIONS = R.id.action_shortcuts_and_notifications; public enum DragType { ICON, @@ -92,6 +94,8 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme launcher.getText(R.string.action_resize))); mActions.put(DEEP_SHORTCUTS, new AccessibilityAction(DEEP_SHORTCUTS, launcher.getText(R.string.action_deep_shortcut))); + mActions.put(SHORTCUTS_AND_NOTIFICATIONS, new AccessibilityAction(DEEP_SHORTCUTS, + launcher.getText(R.string.shortcuts_menu_with_notifications_description))); } public void addAccessibilityAction(int action, int actionLabel) { @@ -111,7 +115,8 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme // If the request came from keyboard, do not add custom shortcuts as that is already // exposed as a direct shortcut if (!fromKeyboard && DeepShortcutManager.supportsShortcuts(item)) { - info.addAction(mActions.get(DEEP_SHORTCUTS)); + info.addAction(mActions.get(NotificationListener.getInstanceIfConnected() != null + ? SHORTCUTS_AND_NOTIFICATIONS : DEEP_SHORTCUTS)); } for (ButtonDropTarget target : mLauncher.getDropTargetBar().getDropTargets()) { diff --git a/src/com/android/launcher3/popup/ArrowPopup.java b/src/com/android/launcher3/popup/ArrowPopup.java index bd08aaa0e..5589f1714 100644 --- a/src/com/android/launcher3/popup/ArrowPopup.java +++ b/src/com/android/launcher3/popup/ArrowPopup.java @@ -35,7 +35,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewOutlineProvider; -import android.view.accessibility.AccessibilityEvent; import android.view.animation.AccelerateDecelerateInterpolator; import com.android.launcher3.AbstractFloatingView; @@ -52,8 +51,6 @@ import com.android.launcher3.util.Themes; import java.util.ArrayList; import java.util.Collections; -import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent; - /** * A container for shortcuts to deep links and notifications associated with an app. */ @@ -371,10 +368,6 @@ public abstract class ArrowPopup extends AbstractFloatingView { @Override public void onAnimationEnd(Animator animation) { mOpenCloseAnimator = null; - sendCustomAccessibilityEvent( - ArrowPopup.this, - AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED, - getContext().getString(R.string.action_deep_shortcut)); } }); diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java index b522b5513..763eb6fb6 100644 --- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java +++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java @@ -213,6 +213,7 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, } } + @TargetApi(Build.VERSION_CODES.P) private void populateAndShow(final BubbleTextView originalIcon, final List<String> shortcutIds, final List<NotificationKeyData> notificationKeys, List<SystemShortcut> systemShortcuts) { mNumNotifications = notificationKeys.size(); @@ -261,14 +262,10 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, reorderAndShow(viewsToFlip); ItemInfo originalItemInfo = (ItemInfo) originalIcon.getTag(); - int numShortcuts = mShortcuts.size() + systemShortcuts.size(); - if (mNumNotifications == 0) { - setContentDescription(getContext().getString(R.string.shortcuts_menu_description, - numShortcuts, originalIcon.getContentDescription().toString())); - } else { - setContentDescription(getContext().getString( - R.string.shortcuts_menu_with_notifications_description, numShortcuts, - mNumNotifications, originalIcon.getContentDescription().toString())); + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + setAccessibilityPaneTitle(getContext().getString(mNumNotifications == 0 ? + R.string.action_deep_shortcut : + R.string.shortcuts_menu_with_notifications_description)); } mLauncher.getDragController().addDragListener(this); |