From 8a650828ca8e98f736ac4b4b2b6aa2eb64d50341 Mon Sep 17 00:00:00 2001 From: cretin45 Date: Mon, 1 Feb 2016 13:30:13 -0800 Subject: Trebuchet: Close folder layout when adding shortcut Issue-id: CYNGNOS-1801 Change-Id: I6ee9324f650b5896c5097983b32c0e0963c28b42 --- src/com/android/launcher3/Folder.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/com') diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index bcc274d9e..4763172c9 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -34,6 +34,7 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.os.Build; import android.os.Bundle; +import android.os.Handler; import android.os.PowerManager; import android.provider.Settings; import android.text.InputType; @@ -185,6 +186,8 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList private boolean mHiddenFolder = false; + private Handler mHandler; + @Thunk int mScrollHintDir = DragController.SCROLL_NONE; @Thunk int mCurrentScrollDir = DragController.SCROLL_NONE; @@ -197,6 +200,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList public Folder(Context context, AttributeSet attrs) { super(context, attrs); setAlwaysDrawnWithCacheEnabled(false); + mHandler = new Handler(); mInputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); @@ -1420,7 +1424,6 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList if (d.dragSource != this) { updateItemLocationsInDatabaseBatch(); } - mIsExternalDrag = false; } else { currentDragView = mCurrentDragView; mContent.addViewForRank(currentDragView, si, mEmptyCellRank); @@ -1456,6 +1459,17 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList // The animation has already been shown while opening the folder. mInfo.setOption(FolderInfo.FLAG_MULTI_PAGE_ANIMATION, true, mLauncher); } + + if (mIsExternalDrag) { + // Delay the close animation to reduce jank + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + mLauncher.closeFolder(Folder.this); + } + }, 100); + mIsExternalDrag = false; + } } // This is used so the item doesn't immediately appear in the folder when added. In one case -- cgit v1.2.3