// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. package org.chromium.chrome.browser.ntp.cards; import android.content.Context; import android.view.View; import android.view.ViewGroup; /** * Placeholder item to let the snippets flow to the top of the scroll list even when it does not * contain enough of them. It is displayed as a dummy item with variable height that just occupies * the remaining space between the last item in the RecyclerView and the bottom of the screen. */ public class SpacingItem extends SingleItemGroup { private static class SpacingView extends View { public SpacingView(Context context) { super(context); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension( 0, ((NewTabPageRecyclerView) getParent()).calculateBottomSpacing()); } } /** Creates the View object for displaying the variable spacing. */ public static View createView(ViewGroup parent) { return new SpacingView(parent.getContext()); } @Override public int getType() { return NewTabPageItem.VIEW_TYPE_SPACING; } @Override public void onBindViewHolder(NewTabPageViewHolder holder) { // Nothing to do. } }