| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
|
| index cd1486194e05fe3792de486cfd64da133ca71c68..8b9abcbff4327e7afb4e6ecaa95d514a7ecadcfa 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
|
| @@ -59,6 +59,7 @@ public class NewTabPageAdapter extends Adapter<NewTabPageViewHolder>
|
| */
|
| private final List<ItemGroup> mGroups = new ArrayList<>();
|
| private final AboveTheFoldItem mAboveTheFold = new AboveTheFoldItem();
|
| + private final Footer mFooter = new Footer();
|
| private final SpacingItem mBottomSpacer = new SpacingItem();
|
|
|
| /** Maps suggestion categories to sections, with stable iteration ordering. */
|
| @@ -266,6 +267,10 @@ public class NewTabPageAdapter extends Adapter<NewTabPageViewHolder>
|
| return new ActionItem.ViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig);
|
| }
|
|
|
| + if (viewType == NewTabPageItem.VIEW_TYPE_FOOTER) {
|
| + return new Footer.ViewHolder(mRecyclerView, mNewTabPageManager);
|
| + }
|
| +
|
| return null;
|
| }
|
|
|
| @@ -299,10 +304,7 @@ public class NewTabPageAdapter extends Adapter<NewTabPageViewHolder>
|
| }
|
|
|
| public int getLastContentItemPosition() {
|
| - // TODO(mvanouwerkerk): Don't rely on getBottomSpacerPosition() here.
|
| - int bottomSpacerPosition = getBottomSpacerPosition();
|
| - if (bottomSpacerPosition == RecyclerView.NO_POSITION) return RecyclerView.NO_POSITION;
|
| - return bottomSpacerPosition - 1;
|
| + return getGroupPositionOffset(mFooter);
|
| }
|
|
|
| public int getBottomSpacerPosition() {
|
| @@ -336,6 +338,7 @@ public class NewTabPageAdapter extends Adapter<NewTabPageViewHolder>
|
| // TODO(treib,bauerb): Preserve the order of categories we got from getCategories.
|
| mGroups.addAll(mSections.values());
|
| if (!mSections.isEmpty()) {
|
| + mGroups.add(mFooter);
|
| mGroups.add(mBottomSpacer);
|
| }
|
|
|
|
|