mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Merge "Ensure iconScale never exceeds 1." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
fab44042cb
@@ -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;
|
||||
@@ -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
|
||||
@@ -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));
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user