From b70e7d1c1cd957137f3d6c29d71f66d889e72a22 Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Fri, 8 May 2020 17:51:16 -0700 Subject: [PATCH] Fix animation for non-default grids when dragging icon from All Apps into a Folder Test: manual Change-Id: I72b84ead68c6e415c91dd2b801fc05654a97cd96 --- src/com/android/launcher3/folder/FolderIcon.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index 9a3b0a65dd..93208d4a09 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -53,6 +53,7 @@ import com.android.launcher3.R; import com.android.launcher3.Reorderable; import com.android.launcher3.Utilities; import com.android.launcher3.Workspace; +import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.anim.Interpolators; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.dot.FolderDotInfo; @@ -385,6 +386,14 @@ public class FolderIcon extends FrameLayout implements FolderListener, IconLabel float finalAlpha = index < MAX_NUM_ITEMS_IN_PREVIEW ? 0.5f : 0f; float finalScale = scale * scaleRelativeToDragLayer; + + // Account for potentially different icon sizes with non-default grid settings + if (d.dragSource instanceof AllAppsContainerView) { + DeviceProfile grid = mActivity.getDeviceProfile(); + float containerScale = (1f * grid.iconSizePx / grid.allAppsIconSizePx); + finalScale *= containerScale; + } + dragLayer.animateView(animateView, from, to, finalAlpha, 1, 1, finalScale, finalScale, DROP_IN_ANIMATION_DURATION, Interpolators.DEACCEL_2, Interpolators.ACCEL_2,