| 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 2caa75be46f9ae3b357145feaee2d5232f48188f..fb264595acc6ec8342179279664371f2f9b3d9ab 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,8 @@ package org.chromium.chrome.browser.download.ui;
|
|
|
| import android.content.ComponentName;
|
| import android.content.Context;
|
| +import android.content.res.Resources;
|
| +import android.graphics.Paint;
|
| import android.support.v7.widget.RecyclerView;
|
| import android.support.v7.widget.RecyclerView.ViewHolder;
|
| import android.text.TextUtils;
|
| @@ -16,6 +18,7 @@ import android.view.ViewGroup;
|
| import android.widget.ImageView;
|
| import android.widget.TextView;
|
|
|
| +import org.chromium.base.ApiCompatibilityUtils;
|
| import org.chromium.base.ContextUtils;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.download.DownloadItem;
|
| @@ -69,6 +72,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo
|
| private int mFilter = DownloadFilter.FILTER_ALL;
|
| private DownloadManagerUi mManager;
|
| private OfflinePageDownloadBridge mOfflinePageBridge;
|
| + private int mFilenameViewTextColor;
|
|
|
| DownloadHistoryAdapter(boolean showOffTheRecord, ComponentName parentComponent) {
|
| mShowOffTheRecord = showOffTheRecord;
|
| @@ -143,6 +147,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo
|
| final DownloadHistoryItemWrapper item = (DownloadHistoryItemWrapper) timedItem;
|
|
|
| ItemViewHolder holder = (ItemViewHolder) current;
|
| + DownloadHistoryItemWrapper previousItem = holder.mItemView.mItem;
|
| Context context = holder.mFilesizeView.getContext();
|
| holder.mFilenameView.setText(item.getDisplayFileName());
|
| holder.mHostnameView.setText(
|
| @@ -174,6 +179,12 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo
|
| }
|
|
|
| holder.mIconView.setImageResource(iconResource);
|
| +
|
| + // Externally removed items have a different style. Update the item's style if necessary.
|
| + if (previousItem == null
|
| + || previousItem.hasBeenExternallyRemoved() != item.hasBeenExternallyRemoved()) {
|
| + setItemViewStyle(holder, item);
|
| + }
|
| }
|
|
|
| /**
|
| @@ -326,4 +337,34 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo
|
| ContextUtils.getApplicationContext());
|
| }
|
|
|
| + private void setItemViewStyle(ItemViewHolder holder, DownloadHistoryItemWrapper item) {
|
| + if (mFilenameViewTextColor == 0) {
|
| + // The color is not explicitly set in the XML. Programmatically retrieve the original
|
| + // color so that the color can be reset if it's changed due to the contained item
|
| + // being externally removed.
|
| + mFilenameViewTextColor = holder.mFilenameView.getTextColors().getDefaultColor();
|
| + }
|
| +
|
| + Context context = holder.itemView.getContext();
|
| + Resources res = context.getResources();
|
| + if (item.hasBeenExternallyRemoved()) {
|
| + int disabledColor = ApiCompatibilityUtils.getColor(res, R.color.google_grey_300);
|
| +
|
| + holder.mHostnameView.setTextColor(disabledColor);
|
| + holder.mIconView.setBackgroundColor(disabledColor);
|
| + holder.mFilenameView.setTextColor(disabledColor);
|
| + holder.mFilenameView.setPaintFlags(holder.mFilenameView.getPaintFlags()
|
| + | Paint.STRIKE_THRU_TEXT_FLAG);
|
| + holder.mFilesizeView.setText(context.getString(R.string.download_manager_ui_deleted));
|
| + } else {
|
| + holder.mHostnameView.setTextColor(mFilenameViewTextColor);
|
| + holder.mIconView.setBackgroundColor(ApiCompatibilityUtils.getColor(res,
|
| + R.color.light_active_color));
|
| + holder.mFilenameView.setTextColor(ApiCompatibilityUtils.getColor(res,
|
| + R.color.default_text_color));
|
| + holder.mFilenameView.setPaintFlags(holder.mFilenameView.getPaintFlags()
|
| + & ~Paint.STRIKE_THRU_TEXT_FLAG);
|
| + }
|
| + }
|
| +
|
| }
|
|
|