diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index e5ad24341b..812667371d 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static com.android.launcher3.ResourceUtils.pxFromDp; import static com.android.launcher3.Utilities.dpiFromPx; +import static com.android.launcher3.Utilities.pxFromSp; import static com.android.launcher3.util.WindowManagerCompat.MIN_TABLET_WIDTH; import android.annotation.SuppressLint; @@ -518,7 +519,7 @@ public class DeviceProfile { float invIconSizeDp = isLandscape ? inv.landscapeIconSize : inv.iconSize; iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale)); float invIconTextSizeSp = isLandscape ? inv.landscapeIconTextSize : inv.iconTextSize; - iconTextSizePx = (int) (Utilities.pxFromSp(invIconTextSizeSp, mMetrics) * scale); + iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * scale); iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * scale); setCellLayoutBorderSpacing((int) (cellLayoutBorderSpacingOriginalPx * scale)); @@ -548,7 +549,7 @@ public class DeviceProfile { // All apps if (numShownAllAppsColumns != inv.numColumns) { allAppsIconSizePx = pxFromDp(inv.allAppsIconSize, mMetrics); - allAppsIconTextSizePx = Utilities.pxFromSp(inv.allAppsIconTextSize, mMetrics); + allAppsIconTextSizePx = pxFromSp(inv.allAppsIconTextSize, mMetrics); allAppsIconDrawablePaddingPx = iconDrawablePaddingOriginalPx; autoResizeAllAppsCells(); } else { @@ -619,7 +620,7 @@ public class DeviceProfile { private void updateFolderCellSize(float scale, Resources res) { float invIconSizeDp = isVerticalBarLayout() ? inv.landscapeIconSize : inv.iconSize; folderChildIconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale)); - folderChildTextSizePx = pxFromDp(inv.iconTextSize, mMetrics, scale); + folderChildTextSizePx = pxFromSp(inv.iconTextSize, mMetrics, scale); folderLabelTextSizePx = (int) (folderChildTextSizePx * folderLabelTextScale); int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx); diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index 7c0036250b..7ae729aa0c 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -465,9 +465,14 @@ public final class Utilities { return (int) (dp * Resources.getSystem().getDisplayMetrics().density); } + public static int pxFromSp(float size, DisplayMetrics metrics) { - return (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, - size, metrics)); + return pxFromSp(size, metrics, 1f); + } + + public static int pxFromSp(float size, DisplayMetrics metrics, float scale) { + return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, + size, metrics) * scale); } public static String createDbSelectionQuery(String columnName, IntArray values) {