Merge "Support Accessibility workspace addition for WorkspaceItemInfo" into sc-v2-dev am: 964c7641ad
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15868593
Change-Id: I9501412ebd52d98e081934fe09e3fb33a6ed5090
diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
index 2032b26..157df5d 100644
--- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
+++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
@@ -162,7 +162,8 @@
}
}
- if ((item instanceof AppInfo) || (item instanceof PendingAddItemInfo)) {
+ if ((item instanceof AppInfo) || (item instanceof WorkspaceItemInfo)
+ || (item instanceof PendingAddItemInfo)) {
out.add(mActions.get(ADD_TO_WORKSPACE));
}
}
@@ -244,6 +245,13 @@
mLauncher.addPendingItem(info, Favorites.CONTAINER_DESKTOP,
screenId, coordinates, info.spanX, info.spanY);
}
+ else if (item instanceof WorkspaceItemInfo) {
+ WorkspaceItemInfo info = ((WorkspaceItemInfo) item).clone();
+ mLauncher.getModelWriter().addItemToDatabase(info,
+ Favorites.CONTAINER_DESKTOP,
+ screenId, coordinates[0], coordinates[1]);
+ mLauncher.bindItems(Collections.singletonList(info), true, true);
+ }
}));
return true;
} else if (action == MOVE_TO_WORKSPACE) {
diff --git a/src/com/android/launcher3/model/data/WorkspaceItemInfo.java b/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
index 690e904..a395709 100644
--- a/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
+++ b/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
@@ -204,7 +204,7 @@
}
@Override
- public ItemInfoWithIcon clone() {
+ public WorkspaceItemInfo clone() {
return new WorkspaceItemInfo(this);
}
}