mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Improving "shortcuts" window for TalkBack users
Using pane title, updating the description Bug: 77633140 Test: Manual Change-Id: Ia3a9ad75995a4cd3ada9b750e760161da70b9a7c
This commit is contained in:
@@ -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 -->
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user