summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher2/Workspace.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 9913a6b..035d9ea 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -2259,7 +2259,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) ?
@@ -2272,8 +2274,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;
@@ -2295,7 +2296,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],