summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherAccessibilityDelegate.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/LauncherAccessibilityDelegate.java')
-rw-r--r--src/com/android/launcher3/LauncherAccessibilityDelegate.java109
1 files changed, 0 insertions, 109 deletions
diff --git a/src/com/android/launcher3/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/LauncherAccessibilityDelegate.java
deleted file mode 100644
index c9e277e4c..000000000
--- a/src/com/android/launcher3/LauncherAccessibilityDelegate.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.android.launcher3;
-
-import android.annotation.TargetApi;
-import android.os.Build;
-import android.os.Bundle;
-import android.util.SparseArray;
-import android.view.View;
-import android.view.View.AccessibilityDelegate;
-import android.view.accessibility.AccessibilityNodeInfo;
-import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
-
-import com.android.launcher3.LauncherModel.ScreenPosProvider;
-
-import java.util.ArrayList;
-
-@TargetApi(Build.VERSION_CODES.LOLLIPOP)
-public class LauncherAccessibilityDelegate extends AccessibilityDelegate {
-
- public static final int REMOVE = R.id.action_remove;
- public static final int INFO = R.id.action_info;
- public static final int UNINSTALL = R.id.action_uninstall;
- public static final int ADD_TO_WORKSPACE = R.id.action_add_to_workspace;
-
- private final SparseArray<AccessibilityAction> mActions =
- new SparseArray<AccessibilityAction>();
- private final Launcher mLauncher;
-
- public LauncherAccessibilityDelegate(Launcher launcher) {
- mLauncher = launcher;
-
- mActions.put(REMOVE, new AccessibilityAction(REMOVE,
- launcher.getText(R.string.delete_target_label)));
- mActions.put(INFO, new AccessibilityAction(INFO,
- launcher.getText(R.string.info_target_label)));
- mActions.put(UNINSTALL, new AccessibilityAction(UNINSTALL,
- launcher.getText(R.string.delete_target_uninstall_label)));
- mActions.put(ADD_TO_WORKSPACE, new AccessibilityAction(ADD_TO_WORKSPACE,
- launcher.getText(R.string.action_add_to_workspace)));
- }
-
- @Override
- public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
- super.onInitializeAccessibilityNodeInfo(host, info);
- if (!(host.getTag() instanceof ItemInfo)) return;
- ItemInfo item = (ItemInfo) host.getTag();
-
- if ((item instanceof ShortcutInfo)
- || (item instanceof LauncherAppWidgetInfo)
- || (item instanceof FolderInfo)) {
- // Workspace shortcut / widget
- info.addAction(mActions.get(REMOVE));
- } else if ((item instanceof AppInfo) || (item instanceof PendingAddItemInfo)) {
- // App or Widget from customization tray
- if (item instanceof AppInfo) {
- info.addAction(mActions.get(UNINSTALL));
- }
- info.addAction(mActions.get(INFO));
- info.addAction(mActions.get(ADD_TO_WORKSPACE));
- }
- }
-
- @Override
- public boolean performAccessibilityAction(View host, int action, Bundle args) {
- if ((host.getTag() instanceof ItemInfo)
- && performAction(host, (ItemInfo) host.getTag(), action)) {
- return true;
- }
- return super.performAccessibilityAction(host, action, args);
- }
-
- public boolean performAction(View host, ItemInfo item, int action) {
- if (action == REMOVE) {
- return DeleteDropTarget.removeWorkspaceOrFolderItem(mLauncher, item, host);
- } else if (action == INFO) {
- InfoDropTarget.startDetailsActivityForInfo(item, mLauncher);
- return true;
- } else if (action == UNINSTALL) {
- DeleteDropTarget.uninstallApp(mLauncher, (AppInfo) item);
- return true;
- } else if (action == ADD_TO_WORKSPACE) {
- final int preferredPage = mLauncher.getWorkspace().getCurrentPage();
- final ScreenPosProvider screenProvider = new ScreenPosProvider() {
-
- @Override
- public int getScreenIndex(ArrayList<Long> screenIDs) {
- return preferredPage;
- }
- };
- if (item instanceof AppInfo) {
- final ArrayList<ItemInfo> addShortcuts = new ArrayList<ItemInfo>();
- addShortcuts.add(((AppInfo) item).makeShortcut());
- mLauncher.showWorkspace(true, new Runnable() {
-
- @Override
- public void run() {
- mLauncher.getModel().addAndBindAddedWorkspaceApps(
- mLauncher, addShortcuts, screenProvider, 0, true);
- }
- });
- return true;
- } else if (item instanceof PendingAddItemInfo) {
- mLauncher.getModel().addAndBindPendingItem(
- mLauncher, (PendingAddItemInfo) item, screenProvider, 0);
- return true;
- }
- }
- return false;
- }
-}