Adjust workspace grid and cellLayout paddings.

This is a partial revert of ag/17540098

Bug: 202971709
Test: manual
Change-Id: Ia49e48f336bcca906aae6b014d88f10421b83d0c
This commit is contained in:
Pat Manning
2022-04-05 21:03:16 +01:00
parent 690661159e
commit 08610ca583
10 changed files with 117 additions and 100 deletions

View File

@@ -325,37 +325,14 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
setPageSpacing(Math.max(maxInsets, maxPadding));
}
updateWorkspaceScreensPadding();
updateCellLayoutPadding();
updateWorkspaceWidgetsSizes();
}
private void updateWorkspaceScreensPadding() {
DeviceProfile grid = mLauncher.getDeviceProfile();
int paddingLeftRight = grid.cellLayoutPaddingLeftRightPx;
int paddingBottom = grid.cellLayoutBottomPaddingPx;
int panelCount = getPanelCount();
int rightPanelModulus = mIsRtl ? 0 : panelCount - 1;
int leftPanelModulus = mIsRtl ? panelCount - 1 : 0;
int numberOfScreens = mScreenOrder.size();
for (int i = 0; i < numberOfScreens; i++) {
int paddingLeft = paddingLeftRight;
int paddingRight = paddingLeftRight;
// Add missing cellLayout border in-between panels.
if (panelCount > 1) {
if (i % panelCount == leftPanelModulus) {
paddingRight += grid.cellLayoutBorderSpacePx.x / 2;
} else if (i % panelCount == rightPanelModulus) { // right side panel
paddingLeft += grid.cellLayoutBorderSpacePx.x / 2;
} else { // middle panel
paddingLeft += grid.cellLayoutBorderSpacePx.x / 2;
paddingRight += grid.cellLayoutBorderSpacePx.x / 2;
}
}
// SparseArrayMap doesn't keep the order
mWorkspaceScreens.get(mScreenOrder.get(i))
.setPadding(paddingLeft, 0, paddingRight, paddingBottom);
}
private void updateCellLayoutPadding() {
Rect padding = mLauncher.getDeviceProfile().cellLayoutPaddingPx;
mWorkspaceScreens.forEach(
s -> s.setPadding(padding.left, padding.top, padding.right, padding.bottom));
}
private void updateWorkspaceWidgetsSizes() {
@@ -653,7 +630,7 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
mLauncher.getStateManager().getState(), newScreen, insertIndex);
updatePageScrollValues();
updateWorkspaceScreensPadding();
updateCellLayoutPadding();
return newScreen;
}