diff --git a/src/com/android/launcher3/folder/PreviewItemManager.java b/src/com/android/launcher3/folder/PreviewItemManager.java index 6355b62e27..2e5f2e5d60 100644 --- a/src/com/android/launcher3/folder/PreviewItemManager.java +++ b/src/com/android/launcher3/folder/PreviewItemManager.java @@ -79,6 +79,8 @@ public class PreviewItemManager { private int mPrevTopPadding = -1; private Drawable mReferenceDrawable = null; + private int mNumOfPrevItems = 0; + // These hold the first page preview items private ArrayList mFirstPageParams = new ArrayList<>(); // These hold the current page preview items. It is empty if the current page is the first page. @@ -254,7 +256,6 @@ public class PreviewItemManager { void buildParamsForPage(int page, ArrayList params, boolean animate) { List items = mIcon.getPreviewItemsOnPage(page); - int prevNumItems = params.size(); // We adjust the size of the list to match the number of items in the preview. while (items.size() < params.size()) { @@ -278,8 +279,9 @@ public class PreviewItemManager { mReferenceDrawable = p.drawable; } } else { - FolderPreviewItemAnim anim = new FolderPreviewItemAnim(this, p, i, prevNumItems, i, - numItemsInFirstPagePreview, DROP_IN_ANIMATION_DURATION, null); + FolderPreviewItemAnim anim = new FolderPreviewItemAnim(this, p, i, + mNumOfPrevItems, i, numItemsInFirstPagePreview, DROP_IN_ANIMATION_DURATION, + null); if (p.anim != null) { if (p.anim.hasEqualFinalState(anim)) { @@ -318,7 +320,9 @@ public class PreviewItemManager { } void updatePreviewItems(boolean animate) { + int numOfPrevItemsAux = mFirstPageParams.size(); buildParamsForPage(0, mFirstPageParams, animate); + mNumOfPrevItems = numOfPrevItemsAux; } void updatePreviewItems(Predicate itemCheck) {