Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java |
index e29abda9f9dde303e48c9bf7634438eecfd88ef6..41b37ca39cfd280c08ae4c765b96b7d54488ce04 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java |
@@ -171,8 +171,13 @@ public void updateLayoutParams() { |
int abovePosition = getAdapterPosition() - 1; |
boolean hasCardAbove = abovePosition >= 0 && isCard(adapter.getItemViewType(abovePosition)); |
int belowPosition = getAdapterPosition() + 1; |
- boolean hasCardBelow = belowPosition < adapter.getItemCount() |
- && isCard(adapter.getItemViewType(belowPosition)); |
+ boolean hasCardBelow = false; |
+ if (belowPosition < adapter.getItemCount()) { |
+ // The PROMO card has an empty margin and will not be right against the preceding card, |
+ // so we don't consider it a card from the point of view of the preceding one. |
+ @ItemViewType int belowViewType = adapter.getItemViewType(belowPosition); |
+ hasCardBelow = isCard(belowViewType) && belowViewType != ItemViewType.PROMO; |
+ } |
getParams().bottomMargin = hasCardBelow ? -mCards9PatchAdjustment : 0; |