| 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 c4df1df71446dc6dbd32174b29ef20ea916cb8ed..ffd9d6e79b86b559e22d447801a4e1fed71e8ff7 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
|
| @@ -5,6 +5,7 @@
|
| package org.chromium.chrome.browser.download.ui;
|
|
|
| import android.content.ComponentName;
|
| +import android.support.annotation.Nullable;
|
| import android.support.v7.widget.RecyclerView.ViewHolder;
|
| import android.text.TextUtils;
|
| import android.view.LayoutInflater;
|
| @@ -25,6 +26,9 @@ import org.chromium.chrome.browser.download.ui.DownloadManagerUi.DownloadUiObser
|
| import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBridge;
|
| import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadItem;
|
| import org.chromium.chrome.browser.widget.DateDividedAdapter;
|
| +import org.chromium.chrome.browser.widget.displaystyle.MarginResizer;
|
| +import org.chromium.chrome.browser.widget.displaystyle.UiConfig;
|
| +import org.chromium.chrome.browser.widget.selection.SelectableListLayout;
|
| import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
|
| import org.chromium.components.offline_items_collection.ContentId;
|
| import org.chromium.content_public.browser.DownloadState;
|
| @@ -156,6 +160,10 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| private int mFilter = DownloadFilter.FILTER_ALL;
|
| private String mSearchQuery = EMPTY_QUERY;
|
| private SpaceDisplay mSpaceDisplay;
|
| + private boolean mIsSearching;
|
| +
|
| + @Nullable // This may be null during tests.
|
| + private UiConfig mUiConfig;
|
|
|
| DownloadHistoryAdapter(boolean showOffTheRecord, ComponentName parentComponent) {
|
| mShowOffTheRecord = showOffTheRecord;
|
| @@ -166,8 +174,14 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| setHasStableIds(true);
|
| }
|
|
|
| - public void initialize(BackendProvider provider) {
|
| + /**
|
| + * Initializes the adapter.
|
| + * @param provider The {@link BackendProvider} that provides classes needed by the adapter.
|
| + * @param uiConfig The UiConfig used to observe display style changes.
|
| + */
|
| + public void initialize(BackendProvider provider, @Nullable UiConfig uiConfig) {
|
| mBackendProvider = provider;
|
| + mUiConfig = uiConfig;
|
|
|
| DownloadItemSelectionDelegate selectionDelegate =
|
| (DownloadItemSelectionDelegate) mBackendProvider.getSelectionDelegate();
|
| @@ -296,6 +310,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| .inflate(R.layout.offline_download_header, parent, false);
|
| offlineHeader.setAdapter(this);
|
| offlineHeader.setSelectionDelegate((DownloadItemSelectionDelegate) getSelectionDelegate());
|
| + if (mUiConfig != null) offlineHeader.configureWideDisplayStyle(mUiConfig);
|
| return new SubsectionHeaderViewHolder(offlineHeader);
|
| }
|
|
|
| @@ -308,10 +323,23 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| }
|
|
|
| @Override
|
| + protected DateViewHolder createDateViewHolder(ViewGroup parent) {
|
| + DateViewHolder viewHolder = super.createDateViewHolder(parent);
|
| + if (mUiConfig != null) {
|
| + MarginResizer.createWithViewAdapter(viewHolder.itemView, mUiConfig,
|
| + parent.getResources().getDimensionPixelSize(R.dimen.list_item_default_margin),
|
| + SelectableListLayout.getDefaultListItemLateralShadowSizePx(
|
| + parent.getResources()));
|
| + }
|
| + return viewHolder;
|
| + }
|
| +
|
| + @Override
|
| public ViewHolder createViewHolder(ViewGroup parent) {
|
| DownloadItemView v = (DownloadItemView) LayoutInflater.from(parent.getContext()).inflate(
|
| R.layout.download_item_view, parent, false);
|
| v.setSelectionDelegate(getSelectionDelegate());
|
| + if (mUiConfig != null) v.configureWideDisplayStyle(mUiConfig);
|
| mViews.add(v);
|
| return new DownloadHistoryItemViewHolder(v);
|
| }
|
| @@ -334,6 +362,13 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| if (mSpaceDisplay == null) {
|
| mSpaceDisplay = new SpaceDisplay(parent, this);
|
| registerAdapterDataObserver(mSpaceDisplay);
|
| + if (mUiConfig != null) {
|
| + MarginResizer.createWithViewAdapter(mSpaceDisplay.getView(), mUiConfig,
|
| + parent.getResources().getDimensionPixelSize(
|
| + R.dimen.list_item_default_margin),
|
| + SelectableListLayout.getDefaultListItemLateralShadowSizePx(
|
| + parent.getResources()));
|
| + }
|
| }
|
|
|
| mSpaceDisplay.onChanged();
|
| @@ -482,6 +517,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| * @param query The text to search for.
|
| */
|
| void search(String query) {
|
| + mIsSearching = true;
|
| mSearchQuery = query;
|
| filter(mFilter);
|
| }
|
| @@ -490,6 +526,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| * Called when a search is ended.
|
| */
|
| void onEndSearch() {
|
| + mIsSearching = false;
|
| mSearchQuery = EMPTY_QUERY;
|
| filter(mFilter);
|
| }
|
| @@ -523,7 +560,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter
|
| }
|
|
|
| clear(false);
|
| - if (!filteredTimedItems.isEmpty()) addHeader();
|
| + if (!filteredTimedItems.isEmpty() && !mIsSearching) addHeader();
|
| loadItems(filteredTimedItems);
|
| }
|
|
|
|
|