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..82c211ca6e447a42d25d0049dba16fd978de312b 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; |
@@ -152,11 +156,15 @@ public class DownloadHistoryAdapter extends DateDividedAdapter |
private final List<DownloadItemView> mViews = new ArrayList<>(); |
private BackendProvider mBackendProvider; |
+ @Nullable // This may be null during tests. |
+ private UiConfig mUiConfig; |
gone
2017/05/02 17:49:48
yank these two lines out into their own block? th
Theresa
2017/05/02 18:15:25
Done.
|
private OfflinePageDownloadBridge.Observer mOfflinePageObserver; |
private int mFilter = DownloadFilter.FILTER_ALL; |
private String mSearchQuery = EMPTY_QUERY; |
private SpaceDisplay mSpaceDisplay; |
+ private boolean mIsSearching; |
+ |
DownloadHistoryAdapter(boolean showOffTheRecord, ComponentName parentComponent) { |
mShowOffTheRecord = showOffTheRecord; |
mParentComponent = parentComponent; |
@@ -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.setHasWideDisplayStyle(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.setHasWideDisplayStyle(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); |
} |