Merge "Step down icon size when isVerticalBarLayout for responsive grids" into main
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 72d2213..627bbe9 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -988,16 +988,6 @@
float workspaceCellPaddingY = getCellSize().y - iconSizePx - iconDrawablePaddingPx
- iconTextHeight;
- if (mIsResponsiveGrid) {
- iconTextSizePx = 0;
- iconDrawablePaddingPx = 0;
- int iconSizeWithOverlap = getIconSizeWithOverlap(iconSizePx);
- cellYPaddingPx = Math.max(0, getCellSize().y - iconSizeWithOverlap) / 2;
- autoResizeAllAppsCells();
-
- return;
- }
-
// We want enough space so that the text is closer to its corresponding icon.
if (workspaceCellPaddingY < iconTextHeight) {
iconTextSizePx = 0;
@@ -1115,25 +1105,28 @@
iconSizePx = mIconSizeSteps.getIconSmallerThan(cellWidthPx);
}
- iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
+ if (isVerticalLayout) {
+ iconDrawablePaddingPx = 0;
+ iconTextSizePx = 0;
+ } else {
+ iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
+ }
CellContentDimensions cellContentDimensions = new CellContentDimensions(iconSizePx,
iconDrawablePaddingPx,
iconTextSizePx);
- if (isVerticalLayout) {
- if (cellHeightPx < iconSizePx) {
- cellContentDimensions.setIconSizePx(
- mIconSizeSteps.getIconSmallerThan(cellHeightPx));
- }
- } else {
- cellContentDimensions.resizeToFitCellHeight(cellHeightPx, mIconSizeSteps);
- }
+ int cellContentHeight = cellContentDimensions.resizeToFitCellHeight(cellHeightPx,
+ mIconSizeSteps);
iconSizePx = cellContentDimensions.getIconSizePx();
iconDrawablePaddingPx = cellContentDimensions.getIconDrawablePaddingPx();
iconTextSizePx = cellContentDimensions.getIconTextSizePx();
- int cellContentHeight = cellContentDimensions.getCellContentHeight();
- cellYPaddingPx = Math.max(0, cellHeightPx - cellContentHeight) / 2;
+ if (isVerticalLayout) {
+ cellYPaddingPx = Math.max(0, getCellSize().y - getIconSizeWithOverlap(iconSizePx))
+ / 2;
+ } else {
+ cellYPaddingPx = Math.max(0, cellHeightPx - cellContentHeight) / 2;
+ }
} else if (mIsScalableGrid) {
iconDrawablePaddingPx = (int) (getNormalizedIconDrawablePadding() * iconScale);
cellWidthPx = pxFromDp(inv.minCellSize[mTypeIndex].x, mMetrics, scale);
@@ -1217,7 +1210,7 @@
updateAllAppsIconSize(scale, res);
}
updateAllAppsContainerWidth();
- if (isVerticalBarLayout()) {
+ if (isVerticalLayout && !mIsResponsiveGrid) {
hideWorkspaceLabelsIfNotEnoughSpace();
}
if (FeatureFlags.enableTwolineAllapps()) {
@@ -1355,6 +1348,10 @@
}
allAppsCellHeightPx += mResponsiveAllAppsHeightSpec.getGutterPx();
+
+ if (isVerticalBarLayout()) {
+ autoResizeAllAppsCells();
+ }
}
/**
diff --git a/src/com/android/launcher3/util/CellContentDimensions.kt b/src/com/android/launcher3/util/CellContentDimensions.kt
index ae3bf5c..5059c2f 100644
--- a/src/com/android/launcher3/util/CellContentDimensions.kt
+++ b/src/com/android/launcher3/util/CellContentDimensions.kt
@@ -48,7 +48,10 @@
cellContentHeight = getCellContentHeight()
// Step 3. Decrease label size
- if (cellContentHeight > cellHeightPx) {
+ if (
+ cellContentHeight > cellHeightPx &&
+ iconTextSizePx > iconSizeSteps.minimumIconLabelSize
+ ) {
iconTextSizePx =
max(
iconSizeSteps.minimumIconLabelSize,