Pushing folders up to DragLayer
-> Increasing max num of items in Folders to match the grid
size of the workspace.
-> Had to push folders up to prevent clipping
Change-Id: I7aae7920cff940b8e88e9bef82162c6ab5ff11e9
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 3f4a47c..b52a4f7 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1297,14 +1297,10 @@
protected void onSaveInstanceState(Bundle outState) {
outState.putInt(RUNTIME_STATE_CURRENT_SCREEN, mWorkspace.getCurrentPage());
- final ArrayList<Folder> folders = mWorkspace.getOpenFolders();
- if (folders.size() > 0) {
- final int count = folders.size();
- long[] ids = new long[count];
- for (int i = 0; i < count; i++) {
- final FolderInfo info = folders.get(i).getInfo();
- ids[i] = info.id;
- }
+ final Folder folder = mWorkspace.getOpenFolder();
+ if (folder != null) {
+ long[] ids = new long[1];
+ ids[0] = folder.getInfo().id;
outState.putLongArray(RUNTIME_STATE_FOLDERS, ids);
} else {
super.onSaveInstanceState(outState);
@@ -1712,7 +1708,7 @@
ViewGroup parent = (ViewGroup) folder.getParent().getParent();
if (parent != null) {
- CellLayout cl = (CellLayout) parent;
+ CellLayout cl = (CellLayout) mWorkspace.getChildAt(folder.mInfo.screen);
FolderIcon fi = (FolderIcon) cl.getChildAt(folder.mInfo.cellX, folder.mInfo.cellY);
shrinkAndFadeInFolderIcon(fi);
mDragController.removeDropTarget((DropTarget)folder);
@@ -1945,7 +1941,9 @@
growAndFadeOutFolderIcon(folderIcon);
info.opened = true;
- mWorkspace.addInFullScreen(folder, info.screen);
+ mDragLayer.addView(folder);
+ mDragController.addDropTarget((DropTarget) folder);
+
folder.animateOpen();
folder.onOpen();
}