From fd8fa136f5cec15302bf48bdd60761e057f960c4 Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Thu, 20 Jul 2017 14:59:32 -0700 Subject: Update Folders to match spec. Bug: 63825895 Change-Id: Ia1a139f1afd944eefcd370645142227317e2bf20 --- src/com/android/launcher3/DeviceProfile.java | 10 +++++++--- src/com/android/launcher3/folder/FolderAnimationManager.java | 9 ++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 2d5f8d016..38011eaa3 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -108,6 +108,7 @@ public class DeviceProfile { public int folderChildIconSizePx; public int folderChildTextSizePx; public int folderChildDrawablePaddingPx; + public final int folderChildDrawablePaddingOriginalPx; // Hotseat public int hotseatCellHeightPx; @@ -220,6 +221,9 @@ public class DeviceProfile { hotseatLandRightNavBarGutterPx = res.getDimensionPixelSize( R.dimen.dynamic_grid_hotseat_land_right_nav_bar_gutter_width); + folderChildDrawablePaddingOriginalPx = + res.getDimensionPixelSize(R.dimen.folder_child_icon_drawable_padding); + // Determine sizes. widthPx = width; heightPx = height; @@ -390,15 +394,15 @@ public class DeviceProfile { folderChildIconSizePx = (int) (Utilities.pxFromDp(inv.iconSize, dm) * scale); folderChildTextSizePx = (int) (res.getDimensionPixelSize(R.dimen.folder_child_text_size) * scale); + folderChildDrawablePaddingPx = (int) (folderChildDrawablePaddingOriginalPx * scale); int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx); int cellPaddingX = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_x_padding) * scale); int cellPaddingY = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_y_padding) * scale); folderCellWidthPx = folderChildIconSizePx + 2 * cellPaddingX; - folderCellHeightPx = folderChildIconSizePx + 2 * cellPaddingY + textHeight; - folderChildDrawablePaddingPx = Math.max(0, - (folderCellHeightPx - folderChildIconSizePx - textHeight) / 3); + folderCellHeightPx = folderChildIconSizePx + 2 * cellPaddingY + textHeight + + folderChildDrawablePaddingPx; } public void updateInsets(Rect insets) { diff --git a/src/com/android/launcher3/folder/FolderAnimationManager.java b/src/com/android/launcher3/folder/FolderAnimationManager.java index 69705d594..d7f5c2b64 100644 --- a/src/com/android/launcher3/folder/FolderAnimationManager.java +++ b/src/com/android/launcher3/folder/FolderAnimationManager.java @@ -120,6 +120,7 @@ public class FolderAnimationManager { final DragLayer.LayoutParams lp = (DragLayer.LayoutParams) mFolder.getLayoutParams(); FolderIcon.PreviewLayoutRule rule = mFolderIcon.getLayoutRule(); final List itemsInPreview = mFolderIcon.getPreviewItems(); + BubbleTextView btv = itemsInPreview.get(0); // Match position of the FolderIcon final Rect folderIconPos = new Rect(); @@ -131,7 +132,7 @@ public class FolderAnimationManager { // Match size/scale of icons in the preview float previewScale = rule.scaleForItem(0, itemsInPreview.size()); float previewSize = rule.getIconSize() * previewScale; - float initialScale = previewSize / itemsInPreview.get(0).getIconSize() + float initialScale = previewSize / btv.getIconSize() * scaleRelativeToDragLayer; final float finalScale = 1f; float scale = mIsOpening ? initialScale : finalScale; @@ -148,10 +149,12 @@ public class FolderAnimationManager { previewItemOffsetX = (int) (lp.width * initialScale - initialSize - previewItemOffsetX); } + // Note that we do not include btv.getPaddingLeft() in the calculation, since it is + // handled in addPreviewItemAnimators as part of iconOffsetX. final int paddingOffsetX = (int) ((mFolder.getPaddingLeft() + mContent.getPaddingLeft()) * initialScale); - final int paddingOffsetY = (int) ((mFolder.getPaddingTop() + mContent.getPaddingTop()) - * initialScale); + final int paddingOffsetY = (int) ((mFolder.getPaddingTop() + mContent.getPaddingTop() + + btv.getPaddingTop()) * initialScale); int initialX = folderIconPos.left + mPreviewBackground.getOffsetX() - paddingOffsetX - previewItemOffsetX; -- cgit v1.2.3