diff options
author | Jon Miranda <jonmiranda@google.com> | 2017-07-13 16:18:56 -0700 |
---|---|---|
committer | Jon Miranda <jonmiranda@google.com> | 2017-07-13 18:40:48 -0700 |
commit | 28032006970703240f4abd34429608abd2358645 (patch) | |
tree | 86b9aab0cfcce2545e74bcc4a393ebe450f9dff4 | |
parent | 8701cd58cf3b32c9d2b9269e3956b32f4726a81a (diff) | |
download | android_packages_apps_Trebuchet-28032006970703240f4abd34429608abd2358645.tar.gz android_packages_apps_Trebuchet-28032006970703240f4abd34429608abd2358645.tar.bz2 android_packages_apps_Trebuchet-28032006970703240f4abd34429608abd2358645.zip |
Set edgeMarginPx back to 8dp.
With the new grid changes, it was set to 16dp but this caused an issue
where the workspace page spacing was too large. To "restore" the original
page spacing we set it back to 8dp. This caused an issue where the
pages began to overlap.
This CL changes the edgeMarginPx back to 8dp, and then adds the additional
8dp to the padding of the CellLayout.
Bug: 63590728
Change-Id: Ie968d8bd81de19c726f73581d6609e3bc486c5ca
-rw-r--r-- | res/values/dimens.xml | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/CellLayout.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/DeviceProfile.java | 13 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 4 |
4 files changed, 17 insertions, 11 deletions
diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 21abd3c93..356de7869 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -16,7 +16,7 @@ <resources> <!-- Dynamic Grid --> - <dimen name="dynamic_grid_edge_margin">16dp</dimen> + <dimen name="dynamic_grid_edge_margin">8dp</dimen> <dimen name="dynamic_grid_min_page_indicator_size">32dp</dimen> <dimen name="dynamic_grid_page_indicator_line_height">1dp</dimen> <dimen name="dynamic_grid_page_indicator_gutter_width">50dp</dimen> @@ -30,7 +30,6 @@ <!-- Minimum space between workspace and hotseat in spring loaded mode --> <dimen name="dynamic_grid_min_spring_loaded_space">8dp</dimen> - <!-- dynamic_grid_edge_margin / 2 --> <dimen name="dynamic_grid_cell_padding_x">8dp</dimen> <!-- Hotseat --> diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index 42b64ea83..aac80052e 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -860,10 +860,10 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { // Expand the background drawing bounds by the padding baked into the background drawable mBackground.getPadding(mTempRect); mBackground.setBounds( - left - mTempRect.left, - top - mTempRect.top, - right + mTempRect.right, - bottom + mTempRect.bottom); + left - mTempRect.left - getPaddingLeft(), + top - mTempRect.top - getPaddingTop(), + right + mTempRect.right + getPaddingRight(), + bottom + mTempRect.bottom + getPaddingBottom()); } /** diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 7520be2f6..0f4abbe2e 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -71,7 +71,8 @@ public class DeviceProfile { private final float overviewModeIconZoneRatio; // Workspace - private int desiredWorkspaceLeftRightMarginPx; + private final int desiredWorkspaceLeftRightMarginPx; + public final int cellLayoutPaddingLeftRightPx; public final int edgeMarginPx; public final Rect defaultWidgetPadding; private final int defaultPageSpacingPx; @@ -171,7 +172,8 @@ public class DeviceProfile { this.getClass().getName()); defaultWidgetPadding = AppWidgetHostView.getDefaultPaddingForWidget(context, cn, null); edgeMarginPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_edge_margin); - desiredWorkspaceLeftRightMarginPx = edgeMarginPx; + desiredWorkspaceLeftRightMarginPx = isVerticalBarLayout() ? 0 : edgeMarginPx; + cellLayoutPaddingLeftRightPx = isVerticalBarLayout() ? 0 : edgeMarginPx; pageIndicatorSizePx = res.getDimensionPixelSize( R.dimen.dynamic_grid_min_page_indicator_size); pageIndicatorLandGutterPx = res.getDimensionPixelSize( @@ -513,7 +515,7 @@ public class DeviceProfile { // In portrait, we want the pages spaced such that there is no // overhang of the previous / next page into the current page viewport. // We assume symmetrical padding in portrait mode. - return Math.max(defaultPageSpacingPx, getWorkspacePadding(null).left / 2 + 1); + return Math.max(defaultPageSpacingPx, getWorkspacePadding(null).left + 1); } } @@ -564,7 +566,7 @@ public class DeviceProfile { lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams(); lp.width = searchBarBounds.x; lp.height = searchBarBounds.y; - lp.topMargin = mInsets.top + edgeMarginPx / 2; + lp.topMargin = mInsets.top + edgeMarginPx; searchBar.setLayoutParams(lp); // Layout the workspace @@ -615,6 +617,7 @@ public class DeviceProfile { hotseatBarTopPaddingPx, hotseatAdjustment + workspacePadding.right, hotseatBarBottomPaddingPx + mInsets.bottom); } + hotseat.setPadding(cellLayoutPaddingLeftRightPx, 0, cellLayoutPaddingLeftRightPx, 0); hotseat.setLayoutParams(lp); // Layout the page indicators @@ -652,7 +655,7 @@ public class DeviceProfile { // Layout the AllAppsRecyclerView View view = launcher.findViewById(R.id.apps_list_view); - int paddingLeftRight = hasVerticalBarLayout ? 0 : edgeMarginPx; + int paddingLeftRight = desiredWorkspaceLeftRightMarginPx + cellLayoutPaddingLeftRightPx; view.setPadding(paddingLeftRight, view.getPaddingTop(), paddingLeftRight, view.getPaddingBottom()); diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index f9dc796fd..0d7e4fa56 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -666,6 +666,10 @@ public class Workspace extends PagedView newScreen.setOnLongClickListener(mLongClickListener); newScreen.setOnClickListener(mLauncher); newScreen.setSoundEffectsEnabled(false); + + int paddingLeftRight = mLauncher.getDeviceProfile().cellLayoutPaddingLeftRightPx; + newScreen.setPadding(paddingLeftRight, 0, paddingLeftRight, 0); + mWorkspaceScreens.put(screenId, newScreen); mScreenOrder.add(insertIndex, screenId); addView(newScreen, insertIndex); |