Add extra space for the search bar.
Also fixed a broken test.
Change-Id: I1c270e69617528ea30f0e26a2101673e9b9fa63c
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index c6da584..61c4b1a 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -103,6 +103,8 @@
// QSB
private int searchBarWidgetInternalPaddingTop, searchBarWidgetInternalPaddingBottom;
private int searchBarTopPaddingPx;
+ private int tallSearchBarNegativeTopPaddingPx, normalSearchBarTopExtraPaddingPx;
+ private int searchBarTopExtraPaddingPx; // One of the above.
private int normalSearchBarBottomPaddingPx, tallSearchBarBottomPaddingPx;
private int searchBarBottomPaddingPx; // One of the above.
private int normalSearchBarSpaceHeightPx, tallSearchBarSpaceHeightPx;
@@ -216,6 +218,10 @@
R.dimen.qsb_internal_padding_top);
searchBarWidgetInternalPaddingBottom = res.getDimensionPixelSize(
R.dimen.qsb_internal_padding_bottom);
+ normalSearchBarTopExtraPaddingPx = res.getDimensionPixelSize(
+ R.dimen.dynamic_grid_search_bar_extra_top_padding);
+ tallSearchBarNegativeTopPaddingPx = res.getDimensionPixelSize(
+ R.dimen.dynamic_grid_search_bar_negative_top_padding_short);
if (isTablet && !isVerticalBarLayout()) {
searchBarTopPaddingPx = searchBarWidgetInternalPaddingTop;
normalSearchBarBottomPaddingPx = searchBarWidgetInternalPaddingBottom +
@@ -225,8 +231,9 @@
searchBarTopPaddingPx = searchBarWidgetInternalPaddingTop;
normalSearchBarBottomPaddingPx = searchBarWidgetInternalPaddingBottom +
res.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_bottom_padding);
- tallSearchBarBottomPaddingPx = searchBarWidgetInternalPaddingBottom +
- res.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_bottom_padding_short);
+ tallSearchBarBottomPaddingPx = searchBarWidgetInternalPaddingBottom
+ + res.getDimensionPixelSize(
+ R.dimen.dynamic_grid_search_bar_bottom_negative_padding_short);
}
// Calculate the actual text height
@@ -272,7 +279,7 @@
/** Returns the amount of extra space to allocate to the search bar for vertical padding. */
private int getSearchBarTotalVerticalPadding() {
- return searchBarTopPaddingPx + searchBarBottomPaddingPx;
+ return searchBarTopPaddingPx + searchBarTopExtraPaddingPx + searchBarBottomPaddingPx;
}
/** Returns the width and height of the search bar, ignoring any padding. */
@@ -427,10 +434,13 @@
hotseatBarHeightPx = shortHotseatBarHeightPx;
searchBarSpaceHeightPx = tallSearchBarSpaceHeightPx;
searchBarBottomPaddingPx = tallSearchBarBottomPaddingPx;
+ searchBarTopExtraPaddingPx = isPhone ? tallSearchBarNegativeTopPaddingPx
+ : normalSearchBarTopExtraPaddingPx;
} else {
hotseatBarHeightPx = normalHotseatBarHeightPx;
searchBarSpaceHeightPx = normalSearchBarSpaceHeightPx;
searchBarBottomPaddingPx = normalSearchBarBottomPaddingPx;
+ searchBarTopExtraPaddingPx = normalSearchBarTopExtraPaddingPx;
}
}
@@ -445,6 +455,7 @@
lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams();
lp.width = searchBarBounds.width();
lp.height = searchBarBounds.height();
+ lp.topMargin = searchBarTopExtraPaddingPx;
if (hasVerticalBarLayout) {
// Vertical search bar space -- The search bar is fixed in the layout to be on the left
// of the screen regardless of RTL