| 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;
|
|
|