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

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

Issue 2854643002: [Android] Width constrain bookmarks and downloads UIs (Closed)
Patch Set: Created 3 years, 8 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 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);
}

Powered by Google App Engine
This is Rietveld 408576698