Loading res/values/attrs.xml +4 −0 Original line number Diff line number Diff line Loading @@ -208,6 +208,10 @@ Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled --> <attr name="allAppsSpecsId" format="reference" /> <!-- File that contains the specs for the workspace. Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled --> <attr name="folderSpecsId" format="reference" /> <!-- By default all categories are enabled --> <attr name="deviceCategory" format="integer"> <!-- Enable on phone only --> Loading src/com/android/launcher3/CellLayout.java +1 −2 Original line number Diff line number Diff line Loading @@ -382,8 +382,7 @@ public class CellLayout extends ViewGroup { private void resetCellSizeInternal(DeviceProfile deviceProfile) { switch (mContainerType) { case FOLDER: mBorderSpace = new Point(deviceProfile.folderCellLayoutBorderSpacePx, deviceProfile.folderCellLayoutBorderSpacePx); mBorderSpace = new Point(deviceProfile.folderCellLayoutBorderSpacePx); break; case HOTSEAT: mBorderSpace = new Point(deviceProfile.hotseatBorderSpace, Loading src/com/android/launcher3/DeviceProfile.java +50 −15 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ import com.android.launcher3.icons.IconNormalizer; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.responsive.AllAppsSpecs; import com.android.launcher3.responsive.CalculatedAllAppsSpec; import com.android.launcher3.responsive.CalculatedFolderSpec; import com.android.launcher3.responsive.FolderSpecs; import com.android.launcher3.uioverrides.ApiWrapper; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; Loading @@ -78,8 +80,7 @@ public class DeviceProfile { public static final PointF DEFAULT_SCALE = new PointF(1.0f, 1.0f); public static final ViewScaleProvider DEFAULT_PROVIDER = itemInfo -> DEFAULT_SCALE; public static final Consumer<DeviceProfile> DEFAULT_DIMENSION_PROVIDER = dp -> { }; public static final Consumer<DeviceProfile> DEFAULT_DIMENSION_PROVIDER = dp -> {}; public final InvariantDeviceProfile inv; private final Info mInfo; Loading Loading @@ -120,6 +121,9 @@ public class DeviceProfile { private AllAppsSpecs mAllAppsSpecs; private CalculatedAllAppsSpec mAllAppsResponsiveWidthSpec; private CalculatedAllAppsSpec mAllAppsResponsiveHeightSpec; private FolderSpecs mFolderSpecs; private CalculatedFolderSpec mResponsiveFolderWidthSpec; private CalculatedFolderSpec mResponsiveFolderHeightSpec; /** * The maximum amount of left/right workspace padding as a percentage of the screen width. Loading Loading @@ -178,7 +182,7 @@ public class DeviceProfile { public int folderIconOffsetYPx; // Folder content public int folderCellLayoutBorderSpacePx; public Point folderCellLayoutBorderSpacePx; public int folderContentPaddingLeftRight; public int folderContentPaddingTop; Loading Loading @@ -314,7 +318,8 @@ public class DeviceProfile { // TODO(b/241386436): shouldn't change any launcher behaviour mIsResponsiveGrid = inv.workspaceSpecsId != INVALID_RESOURCE_HANDLE && inv.allAppsSpecsId != INVALID_RESOURCE_HANDLE; && inv.allAppsSpecsId != INVALID_RESOURCE_HANDLE && inv.folderSpecsId != INVALID_RESOURCE_HANDLE; mIsScalableGrid = inv.isScalable && !isVerticalBarLayout() && !isMultiWindowMode; // Determine device posture. Loading Loading @@ -420,13 +425,15 @@ public class DeviceProfile { folderContentPaddingTop = folderStyle.getDimensionPixelSize( R.styleable.FolderStyle_folderTopPadding, 0); folderCellLayoutBorderSpacePx = folderStyle.getDimensionPixelSize( int gutter = folderStyle.getDimensionPixelSize( R.styleable.FolderStyle_folderBorderSpace, 0); folderCellLayoutBorderSpacePx = new Point(gutter, gutter); folderFooterHeightPx = folderStyle.getDimensionPixelSize( R.styleable.FolderStyle_folderFooterHeight, 0); folderStyle.recycle(); } else { folderCellLayoutBorderSpacePx = 0; } else if (!mIsResponsiveGrid) { folderCellLayoutBorderSpacePx = new Point(0, 0); folderFooterHeightPx = res.getDimensionPixelSize(R.dimen.folder_footer_height_default); folderContentPaddingTop = res.getDimensionPixelSize(R.dimen.folder_top_padding_default); } Loading Loading @@ -556,6 +563,12 @@ public class DeviceProfile { mAllAppsResponsiveHeightSpec = mAllAppsSpecs.getCalculatedHeightSpec(inv.numRows, mResponsiveHeightSpec.getAvailableSpace(), mResponsiveHeightSpec); mFolderSpecs = new FolderSpecs(new ResourceHelper(context, inv.folderSpecsId)); mResponsiveFolderWidthSpec = mFolderSpecs.getWidthSpec(inv.numFolderColumns, mResponsiveWidthSpec.getAvailableSpace(), mResponsiveWidthSpec); mResponsiveFolderHeightSpec = mFolderSpecs.getHeightSpec(inv.numFolderRows, mResponsiveHeightSpec.getAvailableSpace(), mResponsiveHeightSpec); } desiredWorkspaceHorizontalMarginPx = getHorizontalMarginPx(inv, res); Loading Loading @@ -1179,15 +1192,19 @@ public class DeviceProfile { allAppsStyle.recycle(); } // TODO(b/288075868): Resize the icon size to make sure it will fit inside the cell size private void updateAvailableFolderCellDimensions(Resources res) { updateFolderCellSize(1f, res); // Responsive grid doesn't need to scale the folder if (mIsResponsiveGrid) return; // For usability we can't have the folder use the whole width of the screen Point totalWorkspacePadding = getTotalWorkspacePadding(); // Check if the folder fit within the available height. float contentUsedHeight = folderCellHeightPx * inv.numFolderRows + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx) + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx.y) + folderFooterHeightPx + folderContentPaddingTop; int contentMaxHeight = availableHeightPx - totalWorkspacePadding.y; Loading @@ -1195,7 +1212,7 @@ public class DeviceProfile { // Check if the folder fit within the available width. float contentUsedWidth = folderCellWidthPx * inv.numFolderColumns + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx) + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx.x) + folderContentPaddingLeftRight * 2; int contentMaxWidth = availableWidthPx - totalWorkspacePadding.x; float scaleX = contentMaxWidth / contentUsedWidth; Loading @@ -1215,7 +1232,19 @@ public class DeviceProfile { int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx); if (mIsScalableGrid) { if (mIsResponsiveGrid) { folderCellWidthPx = mResponsiveFolderWidthSpec.getCellSizePx(); // Height folderCellHeightPx = mResponsiveFolderHeightSpec.getCellSizePx(); folderContentPaddingTop = mResponsiveFolderHeightSpec.getStartPaddingPx(); folderFooterHeightPx = mResponsiveFolderHeightSpec.getEndPaddingPx(); folderCellLayoutBorderSpacePx = new Point(mResponsiveFolderWidthSpec.getGutterPx(), mResponsiveHeightSpec.getGutterPx()); folderContentPaddingLeftRight = mResponsiveFolderWidthSpec.getStartPaddingPx(); } else if (mIsScalableGrid) { if (inv.folderStyle == INVALID_RESOURCE_HANDLE) { folderCellWidthPx = roundPxValueFromFloat(getCellSize().x * scale); folderCellHeightPx = roundPxValueFromFloat(getCellSize().y * scale); Loading @@ -1225,11 +1254,13 @@ public class DeviceProfile { } folderContentPaddingTop = roundPxValueFromFloat(folderContentPaddingTop * scale); folderCellLayoutBorderSpacePx = roundPxValueFromFloat( folderCellLayoutBorderSpacePx * scale); folderCellLayoutBorderSpacePx = new Point( roundPxValueFromFloat(folderCellLayoutBorderSpacePx.x * scale), roundPxValueFromFloat(folderCellLayoutBorderSpacePx.y * scale) ); folderFooterHeightPx = roundPxValueFromFloat(folderFooterHeightPx * scale); folderContentPaddingLeftRight = folderCellLayoutBorderSpacePx; folderContentPaddingLeftRight = folderCellLayoutBorderSpacePx.x; } else { int cellPaddingX = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_x_padding) * scale); Loading Loading @@ -1750,8 +1781,10 @@ public class DeviceProfile { writer.println(prefix + pxToDpStr("folderChildTextSizePx", folderChildTextSizePx)); writer.println(prefix + pxToDpStr("folderChildDrawablePaddingPx", folderChildDrawablePaddingPx)); writer.println(prefix + pxToDpStr("folderCellLayoutBorderSpacePx", folderCellLayoutBorderSpacePx)); writer.println(prefix + pxToDpStr("folderCellLayoutBorderSpacePx.x", folderCellLayoutBorderSpacePx.x)); writer.println(prefix + pxToDpStr("folderCellLayoutBorderSpacePx.y", folderCellLayoutBorderSpacePx.y)); writer.println(prefix + pxToDpStr("folderContentPaddingLeftRight", folderContentPaddingLeftRight)); writer.println(prefix + pxToDpStr("folderTopPadding", folderContentPaddingTop)); Loading Loading @@ -1871,6 +1904,8 @@ public class DeviceProfile { + mAllAppsResponsiveHeightSpec.toString()); writer.println(prefix + "\tmAllAppsResponsiveWidthSpec:" + mAllAppsResponsiveWidthSpec.toString()); writer.println(prefix + "\tmResponsiveFolderHeightSpec:" + mResponsiveFolderHeightSpec); writer.println(prefix + "\tmResponsiveFolderWidthSpec:" + mResponsiveFolderWidthSpec); } } Loading src/com/android/launcher3/InvariantDeviceProfile.java +7 −0 Original line number Diff line number Diff line Loading @@ -181,6 +181,8 @@ public class InvariantDeviceProfile { public int workspaceSpecsId = INVALID_RESOURCE_HANDLE; @XmlRes public int allAppsSpecsId = INVALID_RESOURCE_HANDLE; @XmlRes public int folderSpecsId = INVALID_RESOURCE_HANDLE; public String dbFile; public int defaultLayoutId; Loading Loading @@ -356,6 +358,7 @@ public class InvariantDeviceProfile { devicePaddingId = closestProfile.devicePaddingId; workspaceSpecsId = closestProfile.mWorkspaceSpecsId; allAppsSpecsId = closestProfile.mAllAppsSpecsId; folderSpecsId = closestProfile.mFolderSpecsId; this.deviceType = deviceType; inlineNavButtonsEndSpacing = closestProfile.inlineNavButtonsEndSpacing; Loading Loading @@ -803,6 +806,7 @@ public class InvariantDeviceProfile { private final int devicePaddingId; private final int mWorkspaceSpecsId; private final int mAllAppsSpecsId; private final int mFolderSpecsId; public GridOption(Context context, AttributeSet attrs) { TypedArray a = context.obtainStyledAttributes( Loading Loading @@ -869,9 +873,12 @@ public class InvariantDeviceProfile { R.styleable.GridDisplayOption_workspaceSpecsId, INVALID_RESOURCE_HANDLE); mAllAppsSpecsId = a.getResourceId( R.styleable.GridDisplayOption_allAppsSpecsId, INVALID_RESOURCE_HANDLE); mFolderSpecsId = a.getResourceId( R.styleable.GridDisplayOption_folderSpecsId, INVALID_RESOURCE_HANDLE); } else { mWorkspaceSpecsId = INVALID_RESOURCE_HANDLE; mAllAppsSpecsId = INVALID_RESOURCE_HANDLE; mFolderSpecsId = INVALID_RESOURCE_HANDLE; } int inlineForRotation = a.getInt(R.styleable.GridDisplayOption_inlineQsb, Loading src/com/android/launcher3/ShortcutAndWidgetContainer.java +1 −1 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon. // No need to add padding when cell layout border spacing is present. boolean noPaddingX = (dp.cellLayoutBorderSpacePx.x > 0 && mContainerType == WORKSPACE) || (dp.folderCellLayoutBorderSpacePx > 0 && mContainerType == FOLDER) || (dp.folderCellLayoutBorderSpacePx.x > 0 && mContainerType == FOLDER) || (dp.hotseatBorderSpace > 0 && mContainerType == HOTSEAT); int cellPaddingX = noPaddingX ? 0 Loading Loading
res/values/attrs.xml +4 −0 Original line number Diff line number Diff line Loading @@ -208,6 +208,10 @@ Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled --> <attr name="allAppsSpecsId" format="reference" /> <!-- File that contains the specs for the workspace. Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled --> <attr name="folderSpecsId" format="reference" /> <!-- By default all categories are enabled --> <attr name="deviceCategory" format="integer"> <!-- Enable on phone only --> Loading
src/com/android/launcher3/CellLayout.java +1 −2 Original line number Diff line number Diff line Loading @@ -382,8 +382,7 @@ public class CellLayout extends ViewGroup { private void resetCellSizeInternal(DeviceProfile deviceProfile) { switch (mContainerType) { case FOLDER: mBorderSpace = new Point(deviceProfile.folderCellLayoutBorderSpacePx, deviceProfile.folderCellLayoutBorderSpacePx); mBorderSpace = new Point(deviceProfile.folderCellLayoutBorderSpacePx); break; case HOTSEAT: mBorderSpace = new Point(deviceProfile.hotseatBorderSpace, Loading
src/com/android/launcher3/DeviceProfile.java +50 −15 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ import com.android.launcher3.icons.IconNormalizer; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.responsive.AllAppsSpecs; import com.android.launcher3.responsive.CalculatedAllAppsSpec; import com.android.launcher3.responsive.CalculatedFolderSpec; import com.android.launcher3.responsive.FolderSpecs; import com.android.launcher3.uioverrides.ApiWrapper; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; Loading @@ -78,8 +80,7 @@ public class DeviceProfile { public static final PointF DEFAULT_SCALE = new PointF(1.0f, 1.0f); public static final ViewScaleProvider DEFAULT_PROVIDER = itemInfo -> DEFAULT_SCALE; public static final Consumer<DeviceProfile> DEFAULT_DIMENSION_PROVIDER = dp -> { }; public static final Consumer<DeviceProfile> DEFAULT_DIMENSION_PROVIDER = dp -> {}; public final InvariantDeviceProfile inv; private final Info mInfo; Loading Loading @@ -120,6 +121,9 @@ public class DeviceProfile { private AllAppsSpecs mAllAppsSpecs; private CalculatedAllAppsSpec mAllAppsResponsiveWidthSpec; private CalculatedAllAppsSpec mAllAppsResponsiveHeightSpec; private FolderSpecs mFolderSpecs; private CalculatedFolderSpec mResponsiveFolderWidthSpec; private CalculatedFolderSpec mResponsiveFolderHeightSpec; /** * The maximum amount of left/right workspace padding as a percentage of the screen width. Loading Loading @@ -178,7 +182,7 @@ public class DeviceProfile { public int folderIconOffsetYPx; // Folder content public int folderCellLayoutBorderSpacePx; public Point folderCellLayoutBorderSpacePx; public int folderContentPaddingLeftRight; public int folderContentPaddingTop; Loading Loading @@ -314,7 +318,8 @@ public class DeviceProfile { // TODO(b/241386436): shouldn't change any launcher behaviour mIsResponsiveGrid = inv.workspaceSpecsId != INVALID_RESOURCE_HANDLE && inv.allAppsSpecsId != INVALID_RESOURCE_HANDLE; && inv.allAppsSpecsId != INVALID_RESOURCE_HANDLE && inv.folderSpecsId != INVALID_RESOURCE_HANDLE; mIsScalableGrid = inv.isScalable && !isVerticalBarLayout() && !isMultiWindowMode; // Determine device posture. Loading Loading @@ -420,13 +425,15 @@ public class DeviceProfile { folderContentPaddingTop = folderStyle.getDimensionPixelSize( R.styleable.FolderStyle_folderTopPadding, 0); folderCellLayoutBorderSpacePx = folderStyle.getDimensionPixelSize( int gutter = folderStyle.getDimensionPixelSize( R.styleable.FolderStyle_folderBorderSpace, 0); folderCellLayoutBorderSpacePx = new Point(gutter, gutter); folderFooterHeightPx = folderStyle.getDimensionPixelSize( R.styleable.FolderStyle_folderFooterHeight, 0); folderStyle.recycle(); } else { folderCellLayoutBorderSpacePx = 0; } else if (!mIsResponsiveGrid) { folderCellLayoutBorderSpacePx = new Point(0, 0); folderFooterHeightPx = res.getDimensionPixelSize(R.dimen.folder_footer_height_default); folderContentPaddingTop = res.getDimensionPixelSize(R.dimen.folder_top_padding_default); } Loading Loading @@ -556,6 +563,12 @@ public class DeviceProfile { mAllAppsResponsiveHeightSpec = mAllAppsSpecs.getCalculatedHeightSpec(inv.numRows, mResponsiveHeightSpec.getAvailableSpace(), mResponsiveHeightSpec); mFolderSpecs = new FolderSpecs(new ResourceHelper(context, inv.folderSpecsId)); mResponsiveFolderWidthSpec = mFolderSpecs.getWidthSpec(inv.numFolderColumns, mResponsiveWidthSpec.getAvailableSpace(), mResponsiveWidthSpec); mResponsiveFolderHeightSpec = mFolderSpecs.getHeightSpec(inv.numFolderRows, mResponsiveHeightSpec.getAvailableSpace(), mResponsiveHeightSpec); } desiredWorkspaceHorizontalMarginPx = getHorizontalMarginPx(inv, res); Loading Loading @@ -1179,15 +1192,19 @@ public class DeviceProfile { allAppsStyle.recycle(); } // TODO(b/288075868): Resize the icon size to make sure it will fit inside the cell size private void updateAvailableFolderCellDimensions(Resources res) { updateFolderCellSize(1f, res); // Responsive grid doesn't need to scale the folder if (mIsResponsiveGrid) return; // For usability we can't have the folder use the whole width of the screen Point totalWorkspacePadding = getTotalWorkspacePadding(); // Check if the folder fit within the available height. float contentUsedHeight = folderCellHeightPx * inv.numFolderRows + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx) + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx.y) + folderFooterHeightPx + folderContentPaddingTop; int contentMaxHeight = availableHeightPx - totalWorkspacePadding.y; Loading @@ -1195,7 +1212,7 @@ public class DeviceProfile { // Check if the folder fit within the available width. float contentUsedWidth = folderCellWidthPx * inv.numFolderColumns + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx) + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx.x) + folderContentPaddingLeftRight * 2; int contentMaxWidth = availableWidthPx - totalWorkspacePadding.x; float scaleX = contentMaxWidth / contentUsedWidth; Loading @@ -1215,7 +1232,19 @@ public class DeviceProfile { int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx); if (mIsScalableGrid) { if (mIsResponsiveGrid) { folderCellWidthPx = mResponsiveFolderWidthSpec.getCellSizePx(); // Height folderCellHeightPx = mResponsiveFolderHeightSpec.getCellSizePx(); folderContentPaddingTop = mResponsiveFolderHeightSpec.getStartPaddingPx(); folderFooterHeightPx = mResponsiveFolderHeightSpec.getEndPaddingPx(); folderCellLayoutBorderSpacePx = new Point(mResponsiveFolderWidthSpec.getGutterPx(), mResponsiveHeightSpec.getGutterPx()); folderContentPaddingLeftRight = mResponsiveFolderWidthSpec.getStartPaddingPx(); } else if (mIsScalableGrid) { if (inv.folderStyle == INVALID_RESOURCE_HANDLE) { folderCellWidthPx = roundPxValueFromFloat(getCellSize().x * scale); folderCellHeightPx = roundPxValueFromFloat(getCellSize().y * scale); Loading @@ -1225,11 +1254,13 @@ public class DeviceProfile { } folderContentPaddingTop = roundPxValueFromFloat(folderContentPaddingTop * scale); folderCellLayoutBorderSpacePx = roundPxValueFromFloat( folderCellLayoutBorderSpacePx * scale); folderCellLayoutBorderSpacePx = new Point( roundPxValueFromFloat(folderCellLayoutBorderSpacePx.x * scale), roundPxValueFromFloat(folderCellLayoutBorderSpacePx.y * scale) ); folderFooterHeightPx = roundPxValueFromFloat(folderFooterHeightPx * scale); folderContentPaddingLeftRight = folderCellLayoutBorderSpacePx; folderContentPaddingLeftRight = folderCellLayoutBorderSpacePx.x; } else { int cellPaddingX = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_x_padding) * scale); Loading Loading @@ -1750,8 +1781,10 @@ public class DeviceProfile { writer.println(prefix + pxToDpStr("folderChildTextSizePx", folderChildTextSizePx)); writer.println(prefix + pxToDpStr("folderChildDrawablePaddingPx", folderChildDrawablePaddingPx)); writer.println(prefix + pxToDpStr("folderCellLayoutBorderSpacePx", folderCellLayoutBorderSpacePx)); writer.println(prefix + pxToDpStr("folderCellLayoutBorderSpacePx.x", folderCellLayoutBorderSpacePx.x)); writer.println(prefix + pxToDpStr("folderCellLayoutBorderSpacePx.y", folderCellLayoutBorderSpacePx.y)); writer.println(prefix + pxToDpStr("folderContentPaddingLeftRight", folderContentPaddingLeftRight)); writer.println(prefix + pxToDpStr("folderTopPadding", folderContentPaddingTop)); Loading Loading @@ -1871,6 +1904,8 @@ public class DeviceProfile { + mAllAppsResponsiveHeightSpec.toString()); writer.println(prefix + "\tmAllAppsResponsiveWidthSpec:" + mAllAppsResponsiveWidthSpec.toString()); writer.println(prefix + "\tmResponsiveFolderHeightSpec:" + mResponsiveFolderHeightSpec); writer.println(prefix + "\tmResponsiveFolderWidthSpec:" + mResponsiveFolderWidthSpec); } } Loading
src/com/android/launcher3/InvariantDeviceProfile.java +7 −0 Original line number Diff line number Diff line Loading @@ -181,6 +181,8 @@ public class InvariantDeviceProfile { public int workspaceSpecsId = INVALID_RESOURCE_HANDLE; @XmlRes public int allAppsSpecsId = INVALID_RESOURCE_HANDLE; @XmlRes public int folderSpecsId = INVALID_RESOURCE_HANDLE; public String dbFile; public int defaultLayoutId; Loading Loading @@ -356,6 +358,7 @@ public class InvariantDeviceProfile { devicePaddingId = closestProfile.devicePaddingId; workspaceSpecsId = closestProfile.mWorkspaceSpecsId; allAppsSpecsId = closestProfile.mAllAppsSpecsId; folderSpecsId = closestProfile.mFolderSpecsId; this.deviceType = deviceType; inlineNavButtonsEndSpacing = closestProfile.inlineNavButtonsEndSpacing; Loading Loading @@ -803,6 +806,7 @@ public class InvariantDeviceProfile { private final int devicePaddingId; private final int mWorkspaceSpecsId; private final int mAllAppsSpecsId; private final int mFolderSpecsId; public GridOption(Context context, AttributeSet attrs) { TypedArray a = context.obtainStyledAttributes( Loading Loading @@ -869,9 +873,12 @@ public class InvariantDeviceProfile { R.styleable.GridDisplayOption_workspaceSpecsId, INVALID_RESOURCE_HANDLE); mAllAppsSpecsId = a.getResourceId( R.styleable.GridDisplayOption_allAppsSpecsId, INVALID_RESOURCE_HANDLE); mFolderSpecsId = a.getResourceId( R.styleable.GridDisplayOption_folderSpecsId, INVALID_RESOURCE_HANDLE); } else { mWorkspaceSpecsId = INVALID_RESOURCE_HANDLE; mAllAppsSpecsId = INVALID_RESOURCE_HANDLE; mFolderSpecsId = INVALID_RESOURCE_HANDLE; } int inlineForRotation = a.getInt(R.styleable.GridDisplayOption_inlineQsb, Loading
src/com/android/launcher3/ShortcutAndWidgetContainer.java +1 −1 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon. // No need to add padding when cell layout border spacing is present. boolean noPaddingX = (dp.cellLayoutBorderSpacePx.x > 0 && mContainerType == WORKSPACE) || (dp.folderCellLayoutBorderSpacePx > 0 && mContainerType == FOLDER) || (dp.folderCellLayoutBorderSpacePx.x > 0 && mContainerType == FOLDER) || (dp.hotseatBorderSpace > 0 && mContainerType == HOTSEAT); int cellPaddingX = noPaddingX ? 0 Loading