diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index f4c914e780..946c306d6e 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2584,6 +2584,7 @@ public class Workspace extends PagedView fi.performCreateAnimation(destInfo, v, sourceInfo, dragView, folderLocation, scale, postAnimationRunnable); } else { + fi.prepareCreate(v); fi.addItem(destInfo); fi.addItem(sourceInfo); } diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index d08cf548ed..eebbfe8b78 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -262,14 +262,19 @@ public class FolderIcon extends FrameLayout implements FolderListener { } }; + public Drawable prepareCreate(final View destView) { + Drawable animateDrawable = getTopDrawable((TextView) destView); + computePreviewDrawingParams(animateDrawable.getIntrinsicWidth(), + destView.getMeasuredWidth()); + return animateDrawable; + } + public void performCreateAnimation(final ShortcutInfo destInfo, final View destView, final ShortcutInfo srcInfo, final DragView srcView, Rect dstRect, float scaleRelativeToDragLayer, Runnable postAnimationRunnable) { // These correspond two the drawable and view that the icon was dropped _onto_ - Drawable animateDrawable = getTopDrawable((TextView) destView); - computePreviewDrawingParams(animateDrawable.getIntrinsicWidth(), - destView.getMeasuredWidth()); + Drawable animateDrawable = prepareCreate(destView); mReferenceDrawable = animateDrawable; diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java index 82c79a9ecd..3df1d24381 100644 --- a/src/com/android/launcher3/folder/FolderPagedView.java +++ b/src/com/android/launcher3/folder/FolderPagedView.java @@ -197,7 +197,7 @@ public class FolderPagedView extends PagedView { */ public int allocateRankForNewItem(ShortcutInfo info) { int rank = getItemCount(); - ArrayList views = new ArrayList(mFolder.getItemsInReadingOrder()); + ArrayList views = new ArrayList<>(mFolder.getItemsInReadingOrder()); views.add(rank, null); arrangeChildren(views, views.size(), false); setCurrentPage(rank / mMaxItemsPerPage);