diff --git a/res/values/attrs.xml b/res/values/attrs.xml index f4a729f734..c1c8f01a87 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -129,8 +129,6 @@ - - @@ -171,6 +169,9 @@ + + + diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index 3dbd4794a2..b0c3bb4e81 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -227,8 +227,13 @@ public class InvariantDeviceProfile { .add(myDisplayOption); result.iconSize = defaultDisplayOption.iconSize; result.landscapeIconSize = defaultDisplayOption.landscapeIconSize; - result.allAppsIconSize = Math.min( - defaultDisplayOption.allAppsIconSize, myDisplayOption.allAppsIconSize); + if (defaultDisplayOption.allAppsIconSize < myDisplayOption.allAppsIconSize) { + result.allAppsIconSize = defaultDisplayOption.allAppsIconSize; + result.numAllAppsColumns = defaultDisplayOption.numAllAppsColumns; + } else { + result.allAppsIconSize = myDisplayOption.allAppsIconSize; + result.numAllAppsColumns = myDisplayOption.numAllAppsColumns; + } result.minCellHeight = defaultDisplayOption.minCellHeight; result.minCellWidth = defaultDisplayOption.minCellWidth; result.borderSpacing = defaultDisplayOption.borderSpacing; @@ -278,7 +283,6 @@ public class InvariantDeviceProfile { demoModeLayoutId = closestProfile.demoModeLayoutId; numFolderRows = closestProfile.numFolderRows; numFolderColumns = closestProfile.numFolderColumns; - numAllAppsColumns = closestProfile.numAllAppsColumns; isScalable = closestProfile.isScalable; devicePaddingId = closestProfile.devicePaddingId; @@ -294,6 +298,7 @@ public class InvariantDeviceProfile { minCellHeight = displayOption.minCellHeight; minCellWidth = displayOption.minCellWidth; borderSpacing = displayOption.borderSpacing; + numAllAppsColumns = Math.round(displayOption.numAllAppsColumns); if (Utilities.isGridOptionsEnabled(context)) { allAppsIconSize = displayOption.allAppsIconSize; @@ -614,7 +619,6 @@ public class InvariantDeviceProfile { private final int numHotseatIcons; private final String dbFile; - private final int numAllAppsColumns; private final int defaultLayoutId; private final int demoModeLayoutId; @@ -642,8 +646,6 @@ public class InvariantDeviceProfile { R.styleable.GridDisplayOption_numFolderRows, numRows); numFolderColumns = a.getInt( R.styleable.GridDisplayOption_numFolderColumns, numColumns); - numAllAppsColumns = a.getInt( - R.styleable.GridDisplayOption_numAllAppsColumns, numColumns); isScalable = a.getBoolean( R.styleable.GridDisplayOption_isScalable, false); @@ -664,6 +666,7 @@ public class InvariantDeviceProfile { private final float minHeightDps; private final boolean canBeDefault; + private float numAllAppsColumns; private float minCellHeight; private float minCellWidth; private float borderSpacing; @@ -684,6 +687,8 @@ public class InvariantDeviceProfile { minHeightDps = a.getFloat(R.styleable.ProfileDisplayOption_minHeightDps, 0); canBeDefault = a.getBoolean( R.styleable.ProfileDisplayOption_canBeDefault, false); + numAllAppsColumns = a.getInt(R.styleable.ProfileDisplayOption_numAllAppsColumns, + grid.numColumns); minCellHeight = a.getFloat(R.styleable.ProfileDisplayOption_minCellHeightDps, 0); minCellWidth = a.getFloat(R.styleable.ProfileDisplayOption_minCellWidthDps, 0); @@ -710,12 +715,14 @@ public class InvariantDeviceProfile { minWidthDps = 0; minHeightDps = 0; canBeDefault = false; + numAllAppsColumns = 0; minCellHeight = 0; minCellWidth = 0; borderSpacing = 0; } private DisplayOption multiply(float w) { + numAllAppsColumns *= w; iconSize *= w; landscapeIconSize *= w; allAppsIconSize *= w; @@ -728,6 +735,7 @@ public class InvariantDeviceProfile { } private DisplayOption add(DisplayOption p) { + numAllAppsColumns += p.numAllAppsColumns; iconSize += p.iconSize; landscapeIconSize += p.landscapeIconSize; allAppsIconSize += p.allAppsIconSize;