Loading src/com/android/launcher3/DeviceProfile.java +18 −10 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ public class DeviceProfile { public int iconDrawablePaddingPx; public int iconDrawablePaddingOriginalPx; public float cellScaleToFit; public int cellWidthPx; public int cellHeightPx; public int workspaceCellPaddingXPx; Loading Loading @@ -354,20 +355,20 @@ public class DeviceProfile { // Now that we have all of the variables calculated, we can tune certain sizes. if (isScalableGrid && inv.devicePaddings != null) { // Paddings were created assuming no scaling, so we first unscale the extra space. int unscaledExtraSpace = (int) (extraSpace / iconScale); int unscaledExtraSpace = (int) (extraSpace / cellScaleToFit); DevicePadding padding = inv.devicePaddings.getDevicePadding(unscaledExtraSpace); int paddingWorkspaceTop = padding.getWorkspaceTopPadding(unscaledExtraSpace); int paddingWorkspaceBottom = padding.getWorkspaceBottomPadding(unscaledExtraSpace); int paddingHotseatBottom = padding.getHotseatBottomPadding(unscaledExtraSpace); workspaceTopPadding = Math.round(paddingWorkspaceTop * iconScale); workspaceBottomPadding = Math.round(paddingWorkspaceBottom * iconScale); extraHotseatBottomPadding = Math.round(paddingHotseatBottom * iconScale); workspaceTopPadding = Math.round(paddingWorkspaceTop * cellScaleToFit); workspaceBottomPadding = Math.round(paddingWorkspaceBottom * cellScaleToFit); extraHotseatBottomPadding = Math.round(paddingHotseatBottom * cellScaleToFit); hotseatBarSizePx += extraHotseatBottomPadding; qsbBottomMarginPx = Math.round(qsbBottomMarginOriginalPx * iconScale); qsbBottomMarginPx = Math.round(qsbBottomMarginOriginalPx * cellScaleToFit); } else if (!isVerticalBarLayout() && isPhone && isTallDevice) { // We increase the hotseat size when there is extra space. // ie. For a display with a large aspect ratio, we can keep the icons on the workspace Loading Loading @@ -535,15 +536,18 @@ public class DeviceProfile { * hotseat sizes, workspaceSpringLoadedShrinkFactor, folderIconSizePx, and folderIconOffsetYPx. */ public void updateIconSize(float scale, Resources res) { iconScale = scale; // Icon scale should never exceed 1, otherwise pixellation may occur. iconScale = Math.min(1f, scale); cellScaleToFit = scale; // Workspace final boolean isVerticalLayout = isVerticalBarLayout(); float invIconSizeDp = isLandscape ? inv.landscapeIconSize : inv.iconSize; iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale)); iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, iconScale)); float invIconTextSizeSp = isLandscape ? inv.landscapeIconTextSize : inv.iconTextSize; iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * scale); iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * scale); iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * iconScale); iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * iconScale); setCellLayoutBorderSpacing((int) (cellLayoutBorderSpacingOriginalPx * scale)); Loading Loading @@ -887,6 +891,9 @@ public class DeviceProfile { writer.println(prefix + "\tinv.minCellWidth:" + inv.minCellWidth + "dp"); writer.println(prefix + "\tinv.minCellHeight:" + inv.minCellHeight + "dp"); writer.println(prefix + "\tinv.numColumns:" + inv.numColumns); writer.println(prefix + "\tinv.numRows:" + inv.numRows); writer.println(prefix + pxToDpStr("cellWidthPx", cellWidthPx)); writer.println(prefix + pxToDpStr("cellHeightPx", cellHeightPx)); Loading Loading @@ -940,7 +947,8 @@ public class DeviceProfile { writer.println(prefix + pxToDpStr("workspacePadding.right", workspacePadding.right)); writer.println(prefix + pxToDpStr("workspacePadding.bottom", workspacePadding.bottom)); writer.println(prefix + pxToDpStr("scaleToFit", iconScale)); writer.println(prefix + pxToDpStr("iconScale", iconScale)); writer.println(prefix + pxToDpStr("cellScaleToFit ", cellScaleToFit)); writer.println(prefix + pxToDpStr("extraSpace", extraSpace)); if (inv.devicePaddings != null) { Loading Loading
src/com/android/launcher3/DeviceProfile.java +18 −10 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ public class DeviceProfile { public int iconDrawablePaddingPx; public int iconDrawablePaddingOriginalPx; public float cellScaleToFit; public int cellWidthPx; public int cellHeightPx; public int workspaceCellPaddingXPx; Loading Loading @@ -354,20 +355,20 @@ public class DeviceProfile { // Now that we have all of the variables calculated, we can tune certain sizes. if (isScalableGrid && inv.devicePaddings != null) { // Paddings were created assuming no scaling, so we first unscale the extra space. int unscaledExtraSpace = (int) (extraSpace / iconScale); int unscaledExtraSpace = (int) (extraSpace / cellScaleToFit); DevicePadding padding = inv.devicePaddings.getDevicePadding(unscaledExtraSpace); int paddingWorkspaceTop = padding.getWorkspaceTopPadding(unscaledExtraSpace); int paddingWorkspaceBottom = padding.getWorkspaceBottomPadding(unscaledExtraSpace); int paddingHotseatBottom = padding.getHotseatBottomPadding(unscaledExtraSpace); workspaceTopPadding = Math.round(paddingWorkspaceTop * iconScale); workspaceBottomPadding = Math.round(paddingWorkspaceBottom * iconScale); extraHotseatBottomPadding = Math.round(paddingHotseatBottom * iconScale); workspaceTopPadding = Math.round(paddingWorkspaceTop * cellScaleToFit); workspaceBottomPadding = Math.round(paddingWorkspaceBottom * cellScaleToFit); extraHotseatBottomPadding = Math.round(paddingHotseatBottom * cellScaleToFit); hotseatBarSizePx += extraHotseatBottomPadding; qsbBottomMarginPx = Math.round(qsbBottomMarginOriginalPx * iconScale); qsbBottomMarginPx = Math.round(qsbBottomMarginOriginalPx * cellScaleToFit); } else if (!isVerticalBarLayout() && isPhone && isTallDevice) { // We increase the hotseat size when there is extra space. // ie. For a display with a large aspect ratio, we can keep the icons on the workspace Loading Loading @@ -535,15 +536,18 @@ public class DeviceProfile { * hotseat sizes, workspaceSpringLoadedShrinkFactor, folderIconSizePx, and folderIconOffsetYPx. */ public void updateIconSize(float scale, Resources res) { iconScale = scale; // Icon scale should never exceed 1, otherwise pixellation may occur. iconScale = Math.min(1f, scale); cellScaleToFit = scale; // Workspace final boolean isVerticalLayout = isVerticalBarLayout(); float invIconSizeDp = isLandscape ? inv.landscapeIconSize : inv.iconSize; iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale)); iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, iconScale)); float invIconTextSizeSp = isLandscape ? inv.landscapeIconTextSize : inv.iconTextSize; iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * scale); iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * scale); iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * iconScale); iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * iconScale); setCellLayoutBorderSpacing((int) (cellLayoutBorderSpacingOriginalPx * scale)); Loading Loading @@ -887,6 +891,9 @@ public class DeviceProfile { writer.println(prefix + "\tinv.minCellWidth:" + inv.minCellWidth + "dp"); writer.println(prefix + "\tinv.minCellHeight:" + inv.minCellHeight + "dp"); writer.println(prefix + "\tinv.numColumns:" + inv.numColumns); writer.println(prefix + "\tinv.numRows:" + inv.numRows); writer.println(prefix + pxToDpStr("cellWidthPx", cellWidthPx)); writer.println(prefix + pxToDpStr("cellHeightPx", cellHeightPx)); Loading Loading @@ -940,7 +947,8 @@ public class DeviceProfile { writer.println(prefix + pxToDpStr("workspacePadding.right", workspacePadding.right)); writer.println(prefix + pxToDpStr("workspacePadding.bottom", workspacePadding.bottom)); writer.println(prefix + pxToDpStr("scaleToFit", iconScale)); writer.println(prefix + pxToDpStr("iconScale", iconScale)); writer.println(prefix + pxToDpStr("cellScaleToFit ", cellScaleToFit)); writer.println(prefix + pxToDpStr("extraSpace", extraSpace)); if (inv.devicePaddings != null) { Loading