From 40e882bf19a837ee62ec328c5748b75be7960d39 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 21 Jul 2011 19:01:11 -0700 Subject: [PATCH] Fixing issue where items dragged from the dock would fly down below. Change-Id: I99cabcccc08d69ddc5295454bd57bdc76ec3e5fb --- src/com/android/launcher2/Workspace.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 66bb2ab0da..e379a431ae 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -2244,7 +2244,9 @@ public class Workspace extends SmoothPagedView if (continueDrop && dropTargetLayout != null) { // Move internally - long container = mLauncher.isHotseatLayout(dropTargetLayout) ? + boolean hasMovedLayouts = (getParentCellLayoutForView(cell) != dropTargetLayout); + boolean hasMovedIntoHotseat = mLauncher.isHotseatLayout(dropTargetLayout); + long container = hasMovedIntoHotseat ? LauncherSettings.Favorites.CONTAINER_HOTSEAT : LauncherSettings.Favorites.CONTAINER_DESKTOP; int screen = (mTargetCell[0] < 0) ? @@ -2257,8 +2259,7 @@ public class Workspace extends SmoothPagedView mDragViewVisualCenter[1], spanX, spanY, dropTargetLayout, mTargetCell); // If the item being dropped is a shortcut and the nearest drop // cell also contains a shortcut, then create a folder with the two shortcuts. - boolean dropInscrollArea = mCurrentPage != screen && screen > -1; - + boolean dropInscrollArea = hasMovedLayouts && !hasMovedIntoHotseat; if (!dropInscrollArea && createUserFolderIfNecessary(cell, container, dropTargetLayout, mTargetCell, false, d.dragView, null)) { return; @@ -2280,7 +2281,7 @@ public class Workspace extends SmoothPagedView if (mTargetCell[0] >= 0 && mTargetCell[1] >= 0) { - if (screen != mDragInfo.screen) { + if (hasMovedLayouts) { // Reparent the view getParentCellLayoutForView(cell).removeView(cell); addInScreen(cell, container, screen, mTargetCell[0], mTargetCell[1],