Fix bug when dragging FolderIcon between Workspace/Hotseat.
Bug: 63902464
Change-Id: I7995295d5c350720030abc6651af681c880464f8
diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java
index c63eeb3..84ec184 100644
--- a/src/com/android/launcher3/folder/FolderIcon.java
+++ b/src/com/android/launcher3/folder/FolderIcon.java
@@ -446,6 +446,8 @@
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 bb23207..2ecb54c 100644
--- a/src/com/android/launcher3/folder/PreviewItemManager.java
+++ b/src/com/android/launcher3/folder/PreviewItemManager.java
@@ -90,8 +90,11 @@
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 void draw(Canvas canvas) {
- computePreviewDrawingParams(mReferenceDrawable);
-
float firstPageItemsTransX = 0;
if (mShouldSlideInFirstPage) {
drawParams(canvas, mCurrentPageParams, mCurrentPageItemsTransX);