DeviceProfile.overviewRowSpacing should exclude extra top margin on grid tasks
Bug: 207350366
Bug: 210158657
Test: manual
Change-Id: I28116407c4267259a75fd39637104cea9db73fe3
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 6a399ac..d2b9dfe 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -394,7 +394,13 @@
}
overviewActionsMarginThreeButtonPx = res.getDimensionPixelSize(
R.dimen.overview_actions_margin_three_button);
- overviewRowSpacing = res.getDimensionPixelSize(R.dimen.overview_grid_row_spacing);
+ // Grid task's top margin is only overviewTaskIconSizePx + overviewTaskMarginGridPx, but
+ // overviewTaskThumbnailTopMarginPx is applied to all TaskThumbnailView, so exclude the
+ // extra margin when calculating row spacing.
+ int extraTopMargin = overviewTaskThumbnailTopMarginPx - overviewTaskIconSizePx
+ - overviewTaskMarginGridPx;
+ overviewRowSpacing = res.getDimensionPixelSize(R.dimen.overview_grid_row_spacing)
+ - extraTopMargin;
overviewGridSideMargin = isLandscape
? res.getDimensionPixelSize(R.dimen.overview_grid_side_margin_landscape)
: res.getDimensionPixelSize(R.dimen.overview_grid_side_margin_portrait);