diff options
author | Danesh M <daneshm90@gmail.com> | 2014-07-29 17:37:22 -0700 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2014-07-29 17:37:31 -0700 |
commit | 6903b919c835e9e6c9d3a0b6b7e61c31cd12e0ac (patch) | |
tree | cd28fb32734478ff5abfeb1a0e0168f2ca31d914 /src/com/android | |
parent | 498c660baad57f84f2979d0e3e1ebcf45a23f05c (diff) | |
download | android_packages_apps_Trebuchet-6903b919c835e9e6c9d3a0b6b7e61c31cd12e0ac.tar.gz android_packages_apps_Trebuchet-6903b919c835e9e6c9d3a0b6b7e61c31cd12e0ac.tar.bz2 android_packages_apps_Trebuchet-6903b919c835e9e6c9d3a0b6b7e61c31cd12e0ac.zip |
Trebuchet : Add folder on folder checks
- Check if the new folder can accomodate all items
- Don't expand folder if trying to drop folder on folder
Change-Id: I208e3afd4ee6aeeea01928fc77e136d6085c4fdc
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/launcher3/Folder.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/FolderIcon.java | 11 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index b584b950d..004fa4e5f 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -1010,6 +1010,10 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList return getItemCount() >= mMaxNumItems; } + public int getMaxItems() { + return mMaxNumItems; + } + private void centerAboutIcon() { DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams(); diff --git a/src/com/android/launcher3/FolderIcon.java b/src/com/android/launcher3/FolderIcon.java index 464b35da9..78e8c3a9b 100644 --- a/src/com/android/launcher3/FolderIcon.java +++ b/src/com/android/launcher3/FolderIcon.java @@ -325,11 +325,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) { @@ -368,6 +375,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 { item = (ShortcutInfo) mDragInfo; } |