diff --git a/res/values/attrs.xml b/res/values/attrs.xml index c05016d8a4..d05b69e73f 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -177,11 +177,20 @@ - + + + + + + + + + + diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 7acec1f9aa..eb058e8df4 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -612,12 +612,30 @@ public class DeviceProfile { iconScale = Math.min(1f, scale); cellScaleToFit = scale; - // Workspace final boolean isVerticalLayout = isVerticalBarLayout(); - float invIconSizeDp = isLandscape ? inv.landscapeIconSize : inv.iconSize; + float invIconSizeDp; + float invIconTextSizeSp; + + if (isTwoPanels) { + if (isLandscape) { + invIconSizeDp = inv.twoPanelLandscapeIconSize; + invIconTextSizeSp = inv.twoPanelLandscapeIconTextSize; + } else { + invIconSizeDp = inv.twoPanelPortraitIconSize; + invIconTextSizeSp = inv.twoPanelPortraitIconTextSize; + } + } else { + if (isLandscape) { + invIconSizeDp = inv.landscapeIconSize; + invIconTextSizeSp = inv.landscapeIconTextSize; + } else { + invIconSizeDp = inv.iconSize; + invIconTextSizeSp = inv.iconTextSize; + } + } + iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, iconScale)); - float invIconTextSizeSp = isLandscape ? inv.landscapeIconTextSize : inv.iconTextSize; iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * iconScale); iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * iconScale); diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index 10b3f98d22..b93bfd6ef8 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -94,7 +94,11 @@ public class InvariantDeviceProfile { public int numFolderColumns; public float iconSize; public float landscapeIconSize; + public float twoPanelPortraitIconSize; + public float twoPanelLandscapeIconSize; public float landscapeIconTextSize; + public float twoPanelPortraitIconTextSize; + public float twoPanelLandscapeIconTextSize; public int iconBitmapSize; public int fillResIconDpi; public float iconTextSize; @@ -157,9 +161,13 @@ public class InvariantDeviceProfile { numFolderColumns = p.numFolderColumns; iconSize = p.iconSize; landscapeIconSize = p.landscapeIconSize; + twoPanelPortraitIconSize = p.twoPanelPortraitIconSize; + twoPanelLandscapeIconSize = p.twoPanelLandscapeIconSize; iconBitmapSize = p.iconBitmapSize; iconTextSize = p.iconTextSize; landscapeIconTextSize = p.landscapeIconTextSize; + twoPanelPortraitIconTextSize = p.twoPanelPortraitIconTextSize; + twoPanelLandscapeIconTextSize = p.twoPanelLandscapeIconTextSize; numShownHotseatIcons = p.numShownHotseatIcons; numDatabaseHotseatIcons = p.numDatabaseHotseatIcons; numAllAppsColumns = p.numAllAppsColumns; @@ -277,9 +285,13 @@ public class InvariantDeviceProfile { iconSize = displayOption.iconSize; landscapeIconSize = displayOption.landscapeIconSize; + twoPanelPortraitIconSize = displayOption.twoPanelPortraitIconSize; + twoPanelLandscapeIconSize = displayOption.twoPanelLandscapeIconSize; iconBitmapSize = ResourceUtils.pxFromDp(iconSize, metrics); iconTextSize = displayOption.iconTextSize; landscapeIconTextSize = displayOption.landscapeIconTextSize; + twoPanelPortraitIconTextSize = displayOption.twoPanelPortraitIconTextSize; + twoPanelLandscapeIconTextSize = displayOption.twoPanelLandscapeIconTextSize; fillResIconDpi = getLauncherIconDensity(iconBitmapSize); minCellHeight = displayOption.minCellHeight; @@ -653,7 +665,11 @@ public class InvariantDeviceProfile { private float iconSize; private float iconTextSize; private float landscapeIconSize; + private float twoPanelPortraitIconSize; + private float twoPanelLandscapeIconSize; private float landscapeIconTextSize; + private float twoPanelPortraitIconTextSize; + private float twoPanelLandscapeIconTextSize; private float allAppsIconSize; private float allAppsIconTextSize; @@ -676,9 +692,19 @@ public class InvariantDeviceProfile { iconSize = a.getFloat(R.styleable.ProfileDisplayOption_iconImageSize, 0); landscapeIconSize = a.getFloat(R.styleable.ProfileDisplayOption_landscapeIconSize, iconSize); + twoPanelPortraitIconSize = a.getFloat( + R.styleable.ProfileDisplayOption_twoPanelPortraitIconSize, iconSize); + twoPanelLandscapeIconSize = a.getFloat( + R.styleable.ProfileDisplayOption_twoPanelLandscapeIconSize, + landscapeIconSize); iconTextSize = a.getFloat(R.styleable.ProfileDisplayOption_iconTextSize, 0); landscapeIconTextSize = a.getFloat( R.styleable.ProfileDisplayOption_landscapeIconTextSize, iconTextSize); + twoPanelPortraitIconTextSize = a.getFloat( + R.styleable.ProfileDisplayOption_twoPanelPortraitIconTextSize, iconTextSize); + twoPanelLandscapeIconTextSize = a.getFloat( + R.styleable.ProfileDisplayOption_twoPanelLandscapeIconTextSize, + landscapeIconTextSize); allAppsIconSize = a.getFloat(R.styleable.ProfileDisplayOption_allAppsIconSize, iconSize); @@ -704,9 +730,13 @@ public class InvariantDeviceProfile { private DisplayOption multiply(float w) { iconSize *= w; landscapeIconSize *= w; + twoPanelPortraitIconSize *= w; + twoPanelLandscapeIconSize *= w; allAppsIconSize *= w; iconTextSize *= w; landscapeIconTextSize *= w; + twoPanelPortraitIconTextSize *= w; + twoPanelLandscapeIconTextSize *= w; allAppsIconTextSize *= w; minCellHeight *= w; minCellWidth *= w; @@ -717,9 +747,13 @@ public class InvariantDeviceProfile { private DisplayOption add(DisplayOption p) { iconSize += p.iconSize; landscapeIconSize += p.landscapeIconSize; + twoPanelPortraitIconSize += p.twoPanelPortraitIconSize; + twoPanelLandscapeIconSize += p.twoPanelLandscapeIconSize; allAppsIconSize += p.allAppsIconSize; iconTextSize += p.iconTextSize; landscapeIconTextSize += p.landscapeIconTextSize; + twoPanelPortraitIconTextSize += p.twoPanelPortraitIconTextSize; + twoPanelLandscapeIconTextSize += p.twoPanelLandscapeIconTextSize; allAppsIconTextSize += p.allAppsIconTextSize; minCellHeight += p.minCellHeight; minCellWidth += p.minCellWidth;