summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/FolderIcon.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/FolderIcon.java')
-rw-r--r--src/com/android/launcher3/FolderIcon.java11
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;