From 578deba57dfb56ab874edfd23ecec455c0aeb1cb Mon Sep 17 00:00:00 2001 From: Pierre Barbier de Reuille Date: Fri, 24 Sep 2021 13:47:44 +0100 Subject: [PATCH] Correct the computation of the cell size. The previous computation ignored the left/right padding of the cell layout. Fix: 200968203 Test: Manually Change-Id: I5a017b90c11e2cd710f16fece5cdae902ccb1e72 --- src/com/android/launcher3/DeviceProfile.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index ce8cf3c218..c7ae37384f 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -209,7 +209,7 @@ public class DeviceProfile { public DotRenderer mDotRendererWorkSpace; public DotRenderer mDotRendererAllApps; - // Taskbar + // Taskbar public boolean isTaskbarPresent; // Whether Taskbar will inset the bottom of apps by taskbarSize. public boolean isTaskbarPresentInApps; @@ -376,8 +376,8 @@ public class DeviceProfile { overviewActionsMarginThreeButtonPx = res.getDimensionPixelSize( R.dimen.overview_actions_margin_three_button); overviewPageSpacing = overviewShowAsGrid - ? res.getDimensionPixelSize(R.dimen.recents_page_spacing_grid) - : res.getDimensionPixelSize(R.dimen.recents_page_spacing); + ? res.getDimensionPixelSize(R.dimen.recents_page_spacing_grid) + : res.getDimensionPixelSize(R.dimen.recents_page_spacing); overviewRowSpacing = isLandscape ? res.getDimensionPixelSize(R.dimen.overview_grid_row_spacing_landscape) : res.getDimensionPixelSize(R.dimen.overview_grid_row_spacing_portrait); @@ -802,7 +802,7 @@ public class DeviceProfile { Point padding = getTotalWorkspacePadding(); int numColumns = isTwoPanels ? inv.numColumns * 2 : inv.numColumns; - int screenWidthPx = availableWidthPx - padding.x; + int screenWidthPx = availableWidthPx - padding.x - 2 * cellLayoutPaddingLeftRightPx; result.x = calculateCellWidth(screenWidthPx, cellLayoutBorderSpacingPx, numColumns); result.y = calculateCellHeight(availableHeightPx - padding.y - cellLayoutBottomPaddingPx, cellLayoutBorderSpacingPx, inv.numRows); @@ -931,7 +931,7 @@ public class DeviceProfile { return Math.min(qsbBottomMarginPx + taskbarSize, freeSpace); } else { return (int) (freeSpace * QSB_CENTER_FACTOR) - + (isTaskbarPresent ? taskbarSize : mInsets.bottom); + + (isTaskbarPresent ? taskbarSize : mInsets.bottom); } } @@ -966,6 +966,7 @@ public class DeviceProfile { public static int calculateCellWidth(int width, int borderSpacing, int countX) { return (width - ((countX - 1) * borderSpacing)) / countX; } + public static int calculateCellHeight(int height, int borderSpacing, int countY) { return (height - ((countY - 1) * borderSpacing)) / countY; }