diff options
Diffstat (limited to 'src/com/android/launcher3/FolderIcon.java')
-rw-r--r-- | src/com/android/launcher3/FolderIcon.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/com/android/launcher3/FolderIcon.java b/src/com/android/launcher3/FolderIcon.java index f52706d81..032d2a6f2 100644 --- a/src/com/android/launcher3/FolderIcon.java +++ b/src/com/android/launcher3/FolderIcon.java @@ -329,11 +329,18 @@ public class FolderIcon extends FrameLayout implements FolderListener { } return ((itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION || itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT || - itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER) && + itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER && + canMergeDragFolder((FolderInfo) item)) && !mFolder.isFull() && item != mInfo && !mInfo.opened && !hidden); } + private boolean canMergeDragFolder(FolderInfo info) { + int currentCount = mFolder.getInfo().contents.size(); + int dragFolderCount = info.contents.size(); + return (currentCount + dragFolderCount) <= mFolder.getMaxItems(); + } + public boolean acceptDrop(Object dragInfo) { final ItemInfo item = (ItemInfo) dragInfo; if (mInfo.hidden) { @@ -377,6 +384,8 @@ public class FolderIcon extends FrameLayout implements FolderListener { item = ((AppInfo) mDragInfo).makeShortcut(); item.spanX = 1; item.spanY = 1; + } else if (mDragInfo instanceof FolderInfo) { + return; } else { // ShortcutInfo item = (ShortcutInfo) mDragInfo; |