not be available during onCreate
Also fixing the calculation of allApps column could, which was counting an
additional icon gap
Bug:
27173894
Change-Id: I8be8cccc76d7e7d945cf9383567a3026228b6c86
// The bounds of the search bar. Only the left, top, right are used to inset the
// search bar and the height is determined by the measurement of the layout
private final Rect mFixedSearchBarBounds = new Rect();
- // The computed bounds of the container
- protected final Rect mContentBounds = new Rect();
// The computed padding to apply to the container to achieve the container bounds
- private final Rect mContentPadding = new Rect();
+ protected final Rect mContentPadding = new Rect();
// The inset to apply to the edges and between the search bar and the container
private final int mContainerBoundsInset;
// The container padding changed, notify the container.
if (!padding.equals(mContentPadding)) {
mContentPadding.set(padding);
- mContentBounds.set(padding.left, padding.top,
- getMeasuredWidth() - padding.right,
- getMeasuredHeight() - padding.bottom);
onUpdateBackgroundAndPaddings(padding);
}
}
int allAppsCellWidthGap =
res.getDimensionPixelSize(R.dimen.all_apps_icon_width_gap);
int availableAppsWidthPx = (recyclerViewWidth > 0) ? recyclerViewWidth : availableWidthPx;
- int numAppsCols = (availableAppsWidthPx - appsViewLeftMarginPx) /
+ int numAppsCols = (availableAppsWidthPx + allAppsCellWidthGap - appsViewLeftMarginPx) /
(allAppsIconSizePx + allAppsCellWidthGap);
int numPredictiveAppCols = Math.max(inv.minAllAppsPredictionColumns, numAppsCols);
allAppsNumCols = numAppsCols;
private final RecyclerView.LayoutManager mLayoutManager;
private final RecyclerView.ItemDecoration mItemDecoration;
+ // The computed bounds of the container
+ private final Rect mContentBounds = new Rect();
+
private AllAppsRecyclerView mAppsRecyclerView;
private AllAppsSearchBarController mSearchBarController;
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ mContentBounds.set(mContentPadding.left, mContentPadding.top,
+ MeasureSpec.getSize(widthMeasureSpec) - mContentPadding.right,
+ MeasureSpec.getSize(heightMeasureSpec) - mContentPadding.bottom);
+
// Update the number of items in the grid before we measure the view
// TODO: mSectionNamesMargin is currently 0, but also account for it,
// if it's enabled in the future.