| Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerToolbar.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerToolbar.java
|
| index fef34e7d6edf3c9c4a4e6230b0fb092569f0937d..2f552ac60acba8cbc714c07f2fd32345ec76f05e 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerToolbar.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerToolbar.java
|
| @@ -5,8 +5,10 @@
|
| package org.chromium.chrome.browser.download.ui;
|
|
|
| import android.content.Context;
|
| +import android.support.v7.widget.AppCompatSpinner;
|
| import android.util.AttributeSet;
|
| import android.view.View;
|
| +import android.widget.Spinner;
|
|
|
| import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| @@ -20,7 +22,7 @@ import java.util.List;
|
| */
|
| public class DownloadManagerToolbar extends SelectableListToolbar<DownloadHistoryItemWrapper>
|
| implements DownloadUiObserver {
|
| - private int mFilter = DownloadFilter.FILTER_ALL;
|
| + private Spinner mSpinner;
|
|
|
| public DownloadManagerToolbar(Context context, AttributeSet attrs) {
|
| super(context, attrs);
|
| @@ -28,6 +30,17 @@ public class DownloadManagerToolbar extends SelectableListToolbar<DownloadHistor
|
| }
|
|
|
| /**
|
| + * Initializes the spinner for the download filter.
|
| + * @param adapter The adapter associated with the spinner.
|
| + */
|
| + public void initializeFilterSpinner(FilterAdapter adapter) {
|
| + mSpinner = new AppCompatSpinner(this.getContext());
|
| + mSpinner.setAdapter(adapter);
|
| + mSpinner.setOnItemSelectedListener(adapter);
|
| + addView(mSpinner);
|
| + }
|
| +
|
| + /**
|
| * Removes the close button from the toolbar.
|
| */
|
| public void removeCloseButton() {
|
| @@ -36,8 +49,7 @@ public class DownloadManagerToolbar extends SelectableListToolbar<DownloadHistor
|
|
|
| @Override
|
| public void onFilterChanged(int filter) {
|
| - mFilter = filter;
|
| - if (!mIsSelectionEnabled) updateTitle();
|
| + mSpinner.setSelection(filter);
|
| }
|
|
|
| @Override
|
| @@ -45,9 +57,8 @@ public class DownloadManagerToolbar extends SelectableListToolbar<DownloadHistor
|
| boolean wasSelectionEnabled = mIsSelectionEnabled;
|
| super.onSelectionStateChange(selectedItems);
|
|
|
| - if (!mIsSelectionEnabled) {
|
| - updateTitle();
|
| - } else {
|
| + mSpinner.setVisibility((mIsSelectionEnabled || mIsSearching) ? GONE : VISIBLE);
|
| + if (mIsSelectionEnabled) {
|
| int numSelected = mSelectionDelegate.getSelectedItems().size();
|
|
|
| // If the share or delete menu items are shown in the overflow menu instead of as an
|
| @@ -76,16 +87,14 @@ public class DownloadManagerToolbar extends SelectableListToolbar<DownloadHistor
|
| public void onManagerDestroyed() { }
|
|
|
| @Override
|
| - public void hideSearchView() {
|
| - super.hideSearchView();
|
| - updateTitle();
|
| + public void showSearchView() {
|
| + super.showSearchView();
|
| + mSpinner.setVisibility(GONE);
|
| }
|
|
|
| - private void updateTitle() {
|
| - if (mFilter == DownloadFilter.FILTER_ALL) {
|
| - setTitle(R.string.menu_downloads);
|
| - } else {
|
| - setTitle(DownloadFilter.getStringIdForFilter(mFilter));
|
| - }
|
| + @Override
|
| + public void hideSearchView() {
|
| + super.hideSearchView();
|
| + mSpinner.setVisibility(VISIBLE);
|
| }
|
| }
|
|
|