resolve merge conflicts of b9759d399b to ub-launcher3-calgary.

Change-Id: I66230c15e5eaeef316d4e2f14b85c6ff1b6e977d
This commit is contained in:
Tony Wickham 2016-02-01 14:51:35 -08:00
commit c32c63c46e
3 changed files with 28 additions and 19 deletions

View File

@ -18,13 +18,16 @@
<!-- Dynamic Grid -->
<dimen name="dynamic_grid_edge_margin">6dp</dimen>
<dimen name="dynamic_grid_search_bar_height">48dp</dimen>
<!-- We want 32dp extra for the tall search bar. -->
<dimen name="dynamic_grid_search_bar_height_tall">80dp</dimen>
<!-- We want 46dp extra for the tall search bar. -->
<dimen name="dynamic_grid_search_bar_height_tall">94dp</dimen>
<dimen name="qsb_internal_padding_top">8dp</dimen>
<dimen name="qsb_internal_padding_bottom">8dp</dimen>
<dimen name="dynamic_grid_search_bar_extra_top_padding">0dp</dimen>
<!-- Reduce the space between the status bar and the search bar when the search bar is tall -->
<dimen name="dynamic_grid_search_bar_negative_top_padding_short">-4dp</dimen>
<dimen name="dynamic_grid_search_bar_bottom_padding">4dp</dimen>
<!-- Reduce the padding between the search bar and workspace when the search bar is tall -->
<dimen name="dynamic_grid_search_bar_bottom_padding_short">-6dp</dimen>
<dimen name="dynamic_grid_search_bar_bottom_negative_padding_short">-6dp</dimen>
<dimen name="dynamic_grid_search_bar_bottom_padding_tablet">16dp</dimen>
<dimen name="dynamic_grid_page_indicator_height">20dp</dimen>
<dimen name="dynamic_grid_icon_drawable_padding">4dp</dimen>

View File

@ -103,6 +103,8 @@ public class DeviceProfile {
// 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 @@ public class DeviceProfile {
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 @@ public class DeviceProfile {
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 @@ public class DeviceProfile {
/** 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. */
@ -439,10 +446,13 @@ public class DeviceProfile {
hotseatBarHeightPx = shortHotseatBarHeightPx;
searchBarSpaceHeightPx = tallSearchBarSpaceHeightPx;
searchBarBottomPaddingPx = tallSearchBarBottomPaddingPx;
searchBarTopExtraPaddingPx = isPhone ? tallSearchBarNegativeTopPaddingPx
: normalSearchBarTopExtraPaddingPx;
} else {
hotseatBarHeightPx = normalHotseatBarHeightPx;
searchBarSpaceHeightPx = normalSearchBarSpaceHeightPx;
searchBarBottomPaddingPx = normalSearchBarBottomPaddingPx;
searchBarTopExtraPaddingPx = normalSearchBarTopExtraPaddingPx;
}
}
@ -457,6 +467,7 @@ public class DeviceProfile {
lp = getDropTargetBarLayoutParams(hasVerticalBarLayout, searchBar, Gravity.TOP);
lp.width = searchBarBounds.width();
lp.height = searchBarBounds.height();
lp.topMargin = searchBarTopExtraPaddingPx;
searchBar.setLayoutParams(lp);
// Layout the app info bar space

View File

@ -108,15 +108,9 @@ public class InvariantDeviceProfileTest extends AndroidTestCase {
if (!android.os.Build.DEVICE.equals("hammerhead")) {
return;
}
assertEquals(mInvariantProfile.numRows, 4);
assertEquals(mInvariantProfile.numColumns, 4);
assertEquals((int) mInvariantProfile.numHotseatIcons, 5);
DeviceProfile landscapeProfile = mInvariantProfile.landscapeProfile;
DeviceProfile portraitProfile = mInvariantProfile.portraitProfile;
assertEquals(portraitProfile.allAppsNumCols, 3);
assertEquals(landscapeProfile.allAppsNumCols, 5); // not used
assertEquals(4, mInvariantProfile.numRows);
assertEquals(4, mInvariantProfile.numColumns);
assertEquals(5, mInvariantProfile.numHotseatIcons);
}
// Add more tests for other devices, however, running them once on a single device is enough
@ -172,10 +166,11 @@ public class InvariantDeviceProfileTest extends AndroidTestCase {
Rect landscapeBounds = landscapeProfile.getSearchBarBounds(true); // RTL shouldn't matter.
int landscapeHeight = (int) Utilities.dpiFromPx(landscapeBounds.height(),
resources.getDisplayMetrics());
if (portraitProfile.isTablet) {
assertEquals(8 + 80 + 24, portraitHeight);
if (portraitProfile.isPhone) {
// This fails on some devices due to http://b/26884580 (portraitHeight is 101, not 100).
assertEquals(4 + 94 + 2, portraitHeight);
} else {
assertEquals(8 + 80 + 2, portraitHeight);
assertEquals(8 + 94 + 24, portraitHeight);
}
// Make sure the height that we pass in the widget options bundle is the height of the
// search bar + 8dps padding top and bottom.
@ -183,7 +178,7 @@ public class InvariantDeviceProfileTest extends AndroidTestCase {
int portraitWidgetOptsHeight = portraitDimens.y;
Point landscapeDimens = landscapeProfile.getSearchBarDimensForWidgetOpts(resources);
int landscapeWidgetOptsHeight = landscapeDimens.y;
assertEquals(8 + 80 + 8, (int) Utilities.dpiFromPx(portraitWidgetOptsHeight,
assertEquals(8 + 94 + 8, (int) Utilities.dpiFromPx(portraitWidgetOptsHeight,
resources.getDisplayMetrics()));
if (!landscapeProfile.isVerticalBarLayout()) {
assertEquals(portraitHeight, landscapeHeight);