diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index c63eeb3457c6dd9c6f63861e4a9568e43862ea4d..84ec18410253de9440cde27ae885fb91b9ebdb0d 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -446,6 +446,8 @@ public class FolderIcon extends FrameLayout implements FolderListener { if (!mBackgroundIsVisible) return; + mPreviewItemManager.recomputePreviewDrawingParams(); + if (!mBackground.drawingDelegated()) { mBackground.drawBackground(canvas); } diff --git a/src/com/android/launcher3/folder/PreviewItemManager.java b/src/com/android/launcher3/folder/PreviewItemManager.java index bb2320774de4e83b350522af3c9a26f6c9cb231f..2ecb54ca898ad143c7d2f07d64a5738867a4c932 100644 --- a/src/com/android/launcher3/folder/PreviewItemManager.java +++ b/src/com/android/launcher3/folder/PreviewItemManager.java @@ -90,8 +90,11 @@ public class PreviewItemManager { return animateDrawable; } - private void computePreviewDrawingParams(Drawable d) { - computePreviewDrawingParams(d.getIntrinsicWidth(), mIcon.getMeasuredWidth()); + public void recomputePreviewDrawingParams() { + if (mReferenceDrawable != null) { + computePreviewDrawingParams(mReferenceDrawable.getIntrinsicWidth(), + mIcon.getMeasuredWidth()); + } } private void computePreviewDrawingParams(int drawableSize, int totalSize) { @@ -143,8 +146,6 @@ public class PreviewItemManager { } public void draw(Canvas canvas) { - computePreviewDrawingParams(mReferenceDrawable); - float firstPageItemsTransX = 0; if (mShouldSlideInFirstPage) { drawParams(canvas, mCurrentPageParams, mCurrentPageItemsTransX);