Index: chrome/android/java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java |
index ad4c281961dfe9b570808ab911b68ff015eea5b1..ee707031eb1d11075098289c351d2c33d21edbf3 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java |
@@ -288,15 +288,20 @@ public abstract class DateDividedAdapter extends Adapter<RecyclerView.ViewHolder |
} |
} |
- // Tell each group where they start in the list. |
+ setGroupPositions(); |
+ notifyDataSetChanged(); |
+ } |
+ |
+ /** |
+ * Tells each group where they start in the list. |
+ */ |
+ private void setGroupPositions() { |
int startIndex = 0; |
for (ItemGroup group : mGroups) { |
group.resetPosition(); |
group.setPosition(startIndex); |
startIndex += group.size(); |
} |
- |
- notifyDataSetChanged(); |
} |
/** |
@@ -314,6 +319,27 @@ public abstract class DateDividedAdapter extends Adapter<RecyclerView.ViewHolder |
} |
/** |
+ * Removes the list headrer. |
+ */ |
+ public void removeHeader() { |
+ if (!mHasListHeader) return; |
+ |
+ mGroups.remove(mGroups.first()); |
+ mSize--; |
+ mHasListHeader = false; |
+ |
+ setGroupPositions(); |
+ notifyDataSetChanged(); |
+ } |
+ |
+ /** |
+ * Whether the adapter has a list header. |
+ */ |
+ public boolean hasListHeader() { |
+ return mHasListHeader; |
+ } |
+ |
+ /** |
* Adds a footer as the last group in this adapter. |
*/ |
public void addFooter() { |
@@ -456,6 +482,7 @@ public abstract class DateDividedAdapter extends Adapter<RecyclerView.ViewHolder |
mSize--; |
} |
+ setGroupPositions(); |
notifyDataSetChanged(); |
} |