Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2693)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java

Issue 2154063003: [Android] Introduce DateDividedAdapter to Chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: make findbugs happy Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java
index eb775170a9368160f5f342e1a2cadabf0e9d1602..217cc0868dfe099d964566b0572b10b630a62023 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.download.ui;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.RecyclerView.ViewHolder;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.view.LayoutInflater;
@@ -17,22 +18,21 @@ import android.widget.TextView;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.download.DownloadItem;
import org.chromium.chrome.browser.util.UrlUtilities;
+import org.chromium.chrome.browser.widget.DateDividedAdapter;
-import java.util.ArrayList;
import java.util.List;
/** Bridges the user's download history and the UI used to display it. */
-public class DownloadHistoryAdapter
- extends RecyclerView.Adapter<DownloadHistoryAdapter.ViewHolder> {
+public class DownloadHistoryAdapter extends DateDividedAdapter {
/** Holds onto a View that displays information about a downloaded file. */
- static class ViewHolder extends RecyclerView.ViewHolder {
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
public ImageView mIconView;
public TextView mFilenameView;
public TextView mHostnameView;
public TextView mFilesizeView;
- public ViewHolder(View itemView) {
+ public ItemViewHolder(View itemView) {
super(itemView);
mIconView = (ImageView) itemView.findViewById(R.id.icon_view);
mFilenameView = (TextView) itemView.findViewById(R.id.filename_view);
@@ -53,27 +53,28 @@ public class DownloadHistoryAdapter
private static final String MIMETYPE_IMAGE = "image";
private static final String MIMETYPE_DOCUMENT = "text";
- private final List<DownloadItem> mDownloadItems = new ArrayList<>();
-
/** Called when the user's download history has been gathered into a List of DownloadItems. */
public void onAllDownloadsRetrieved(List<DownloadItem> list) {
- mDownloadItems.clear();
- for (DownloadItem item : list) mDownloadItems.add(item);
- notifyDataSetChanged();
+ loadItems(list);
}
@Override
- public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ protected int getTimedItemViewResId() {
+ return R.layout.download_date_view;
+ }
+
+ @Override
+ public ViewHolder createViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext()).inflate(
R.layout.download_item_view, parent, false);
- return new ViewHolder(v);
+ return new ItemViewHolder(v);
}
@Override
- public void onBindViewHolder(ViewHolder holder, int position) {
+ public void bindViewHolderForTimedItem(ViewHolder current, TimedItem timedItem) {
+ ItemViewHolder holder = (ItemViewHolder) current;
Context context = holder.mFilesizeView.getContext();
-
- DownloadItem item = mDownloadItems.get(position);
+ DownloadItem item = (DownloadItem) timedItem;
holder.mFilenameView.setText(item.getDownloadInfo().getFileName());
holder.mHostnameView.setText(
UrlUtilities.formatUrlForSecurityDisplay(item.getDownloadInfo().getUrl(), false));
@@ -105,16 +106,6 @@ public class DownloadHistoryAdapter
holder.mIconView.setImageResource(iconResource);
}
- @Override
- public int getItemCount() {
- return mDownloadItems.size();
- }
-
- /** Clears out all of the downloads tracked by the Adapter. */
- public void clear() {
- mDownloadItems.clear();
- }
-
/** Identifies the type of file represented by the given MIME type string. */
private static int convertMimeTypeToFileType(String mimeType) {
if (TextUtils.isEmpty(mimeType)) return FILETYPE_OTHER;

Powered by Google App Engine
This is Rietveld 408576698