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

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

Issue 2640333003: [Downloads UI] Implement search (Closed)
Patch Set: Explicitly handle empty downloads query Created 3 years, 11 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/DownloadManagerUi.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
index 02562460bd63fb85b805e4966687d40ea464990a..144dbf2af7dd376451acfa3faf1e31c15b5b0d48 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.snackbar.SnackbarManager;
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.chrome.browser.widget.selection.SelectableListLayout;
+import org.chromium.chrome.browser.widget.selection.SelectableListToolbar.SearchDelegate;
import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
import org.chromium.ui.base.DeviceFormFactor;
@@ -53,7 +54,7 @@ import java.util.Set;
* Displays and manages the UI for the download manager.
*/
-public class DownloadManagerUi implements OnMenuItemClickListener {
+public class DownloadManagerUi implements OnMenuItemClickListener, SearchDelegate {
/**
* Interface to observe the changes in the download manager ui. This should be implemented by
@@ -222,6 +223,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
0, drawerLayout, R.id.normal_menu_group, R.id.selection_mode_menu_group, null, true,
this);
mToolbar.setTitle(R.string.menu_downloads);
+ mToolbar.initializeSearchView(this, R.string.download_manager_search, R.id.search_menu_id);
addObserver(mToolbar);
mFilterView = (ListView) mMainView.findViewById(R.id.section_list);
@@ -302,6 +304,11 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
} else if (item.getItemId() == R.id.selection_mode_share_menu_id) {
shareSelectedItems();
return true;
+ } else if (item.getItemId() == R.id.search_menu_id) {
+ mToolbar.showSearchView();
+ mSelectableListLayout.setEmptyViewText(R.string.download_manager_no_results);
+ RecordUserAction.record("Android.DownloadManager.Search");
+ return true;
}
return false;
}
@@ -370,6 +377,17 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
DownloadFilter.FILTER_BOUNDARY);
}
+ @Override
+ public void onSearchTextChanged(String query) {
+ mHistoryAdapter.search(query);
+ }
+
+ @Override
+ public void onEndSearch() {
+ mSelectableListLayout.setEmptyViewText(R.string.download_manager_ui_empty);
+ mHistoryAdapter.onEndSearch();
+ }
+
private void shareSelectedItems() {
List<DownloadHistoryItemWrapper> selectedItems =
mBackendProvider.getSelectionDelegate().getSelectedItems();

Powered by Google App Engine
This is Rietveld 408576698