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

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

Issue 2640333003: [Downloads UI] Implement search (Closed)
Patch Set: 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..fae2620003fc5247f520f2dbce41c2e830d97cd2 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
@@ -125,7 +126,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
// Deletion was undone. Add items back to the adapter.
mHistoryAdapter.unmarkItemsForDeletion(items);
- RecordUserAction.record("Android.DownloadManager.UndoDelete");
+ RecordUserAction.record(METRICS_PREFIX + "UndoDelete");
}
@Override
@@ -157,10 +158,12 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
- RecordUserAction.record("Android.DownloadManager.Delete");
+ RecordUserAction.record(METRICS_PREFIX + "Delete");
}
}
+ private static final String METRICS_PREFIX = "Android.DownloadManager.";
+
private static BackendProvider sProviderForTests;
private final DownloadHistoryAdapter mHistoryAdapter;
@@ -222,6 +225,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 +306,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(METRICS_PREFIX + "Search");
gone 2017/01/20 20:13:00 For native code, PRESUMBIT.py culls the codebase f
Theresa 2017/01/20 21:16:18 Ah, I didn't realize it wouldn't check if the stri
+ return true;
}
return false;
}
@@ -366,10 +375,21 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
mNativePage.onStateChange(DownloadFilter.getUrlForFilter(filter));
}
- RecordHistogram.recordEnumeratedHistogram("Android.DownloadManager.Filter", filter,
+ RecordHistogram.recordEnumeratedHistogram(METRICS_PREFIX + "Filter", filter,
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();
@@ -449,7 +469,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
@Override
public void onDrawerOpened(View drawerView) {
- RecordUserAction.record("Android.DownloadManager.OpenDrawer");
+ RecordUserAction.record(METRICS_PREFIX + "OpenDrawer");
}
@Override

Powered by Google App Engine
This is Rietveld 408576698