summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2017-07-24 11:39:38 -0700
committerJon Miranda <jonmiranda@google.com>2017-07-24 12:32:41 -0700
commit0c172151c3cafe4fb99763efed0034bd3e0f23ca (patch)
tree8e4d7e22b47c80a5ea1ed84fda077aa470535225
parent1091e538b4622beb8fade0ca0b050f25019c4fd6 (diff)
downloadandroid_packages_apps_Trebuchet-0c172151c3cafe4fb99763efed0034bd3e0f23ca.tar.gz
android_packages_apps_Trebuchet-0c172151c3cafe4fb99763efed0034bd3e0f23ca.tar.bz2
android_packages_apps_Trebuchet-0c172151c3cafe4fb99763efed0034bd3e0f23ca.zip
Fix bug when dragging FolderIcon between Workspace/Hotseat.
Bug: 63902464 Change-Id: I7995295d5c350720030abc6651af681c880464f8
-rw-r--r--src/com/android/launcher3/folder/FolderIcon.java2
-rw-r--r--src/com/android/launcher3/folder/PreviewItemManager.java9
2 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java
index c63eeb345..84ec18410 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 bb2320774..2ecb54ca8 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);