Chromium Code Reviews| 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 |