summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2017-07-13 16:18:56 -0700
committerJon Miranda <jonmiranda@google.com>2017-07-13 18:40:48 -0700
commit28032006970703240f4abd34429608abd2358645 (patch)
tree86b9aab0cfcce2545e74bcc4a393ebe450f9dff4
parent8701cd58cf3b32c9d2b9269e3956b32f4726a81a (diff)
downloadandroid_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.xml3
-rw-r--r--src/com/android/launcher3/CellLayout.java8
-rw-r--r--src/com/android/launcher3/DeviceProfile.java13
-rw-r--r--src/com/android/launcher3/Workspace.java4
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);