From 0b4870db57f6e1d96e72d299cfc05dccb1735caa Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Sun, 10 Jul 2011 13:39:08 -0700 Subject: [PATCH] Fix bug: deleting items in foldersd does not persist Bug# 5010678 --- src/com/android/launcher2/DeleteDropTarget.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher2/DeleteDropTarget.java index 6e01bc0c46..afa2654eec 100644 --- a/src/com/android/launcher2/DeleteDropTarget.java +++ b/src/com/android/launcher2/DeleteDropTarget.java @@ -72,11 +72,14 @@ public class DeleteDropTarget extends ButtonDropTarget { private boolean isAllAppsWidget(DragSource source, Object info) { return (source instanceof AppsCustomizePagedView) && (info instanceof PendingAddWidgetInfo); } - private boolean isWorkspaceApplication(DragObject d) { - return (d.dragSource instanceof Workspace) && (d.dragInfo instanceof ShortcutInfo); + private boolean isDragSourceWorkspaceOrFolder(DragObject d) { + return (d.dragSource instanceof Workspace) || (d.dragSource instanceof Folder); } - private boolean isWorkspaceWidget(DragObject d) { - return (d.dragSource instanceof Workspace) && (d.dragInfo instanceof LauncherAppWidgetInfo); + private boolean isWorkspaceOrFolderApplication(DragObject d) { + return isDragSourceWorkspaceOrFolder(d) && (d.dragInfo instanceof ShortcutInfo); + } + private boolean isWorkspaceOrFolderWidget(DragObject d) { + return isDragSourceWorkspaceOrFolder(d) && (d.dragInfo instanceof LauncherAppWidgetInfo); } private boolean isWorkspaceFolder(DragObject d) { return (d.dragSource instanceof Workspace) && (d.dragInfo instanceof FolderInfo); @@ -141,14 +144,14 @@ public class DeleteDropTarget extends ButtonDropTarget { if (isAllAppsApplication(d.dragSource, item)) { // Uninstall the application if it is being dragged from AppsCustomize mLauncher.startApplicationUninstallActivity((ApplicationInfo) item); - } else if (isWorkspaceApplication(d)) { + } else if (isWorkspaceOrFolderApplication(d)) { LauncherModel.deleteItemFromDatabase(mLauncher, item); } else if (isWorkspaceFolder(d)) { // Remove the folder from the workspace and delete the contents from launcher model FolderInfo folderInfo = (FolderInfo) item; mLauncher.removeFolder(folderInfo); LauncherModel.deleteFolderContentsFromDatabase(mLauncher, folderInfo); - } else if (isWorkspaceWidget(d)) { + } else if (isWorkspaceOrFolderWidget(d)) { // Remove the widget from the workspace mLauncher.removeAppWidget((LauncherAppWidgetInfo) item); LauncherModel.deleteItemFromDatabase(mLauncher, item);