From b8c663c492d32963b6ee33750fc985f037c58f10 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 23 Apr 2015 11:43:48 -0700 Subject: Moving item to its old position in folder if DnD is cancelled Change-Id: I6362ef23b346409e8517a03e63dee974294a3a18 --- src/com/android/launcher3/Folder.java | 11 ++++++++++- src/com/android/launcher3/FolderPagedView.java | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index c35ce944f..dff47c256 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -745,9 +745,18 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList replaceFolderWithFinalItem(); } } else { - rearrangeChildren(); // The drag failed, we need to return the item to the folder + ShortcutInfo info = (ShortcutInfo) d.dragInfo; + View icon = (mCurrentDragView != null && mCurrentDragView.getTag() == info) + ? mCurrentDragView : mContent.createNewView(info); + ArrayList views = getItemsInReadingOrder(); + views.add(info.rank, icon); + mContent.arrangeChildren(views, views.size()); + mItemsInvalidated = true; + + mSuppressOnAdd = true; mFolderIcon.onDrop(d); + mSuppressOnAdd = false; } if (target != this) { diff --git a/src/com/android/launcher3/FolderPagedView.java b/src/com/android/launcher3/FolderPagedView.java index 617489271..3f08f43c2 100644 --- a/src/com/android/launcher3/FolderPagedView.java +++ b/src/com/android/launcher3/FolderPagedView.java @@ -363,7 +363,7 @@ public class FolderPagedView extends PagedView { } @SuppressLint("InflateParams") - private View createNewView(ShortcutInfo item) { + public View createNewView(ShortcutInfo item) { final BubbleTextView textView = (BubbleTextView) mInflater.inflate( R.layout.folder_application, null, false); textView.applyFromShortcutInfo(item, mIconCache, false); -- cgit v1.2.3