[multi-part] Enable bidrectional sorting
* Wire new sort model to existing sorting logic
* Add sort by menu item to sort controller
* Enable sorting in Recents
* Add tests for SortModel
Bug: 22823056
Change-Id: I864e79e711bf18f3018abd9db90bcf267f0ed390
diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java
index 0edd18e..3249183 100644
--- a/src/com/android/documentsui/MenuManager.java
+++ b/src/com/android/documentsui/MenuManager.java
@@ -53,9 +53,7 @@
updateFileSize(menu.findItem(R.id.menu_file_size), directoryDetails);
updateModePicker(menu.findItem(
R.id.menu_grid), menu.findItem(R.id.menu_list), directoryDetails);
- updateSort(menu.findItem(R.id.menu_sort),
- menu.findItem(R.id.menu_sort_size),
- directoryDetails);
+ // Sort menu item is managed by SortMenuManager
updateAdvanced(menu.findItem(R.id.menu_advanced), directoryDetails);
Menus.disableHiddenItems(menu);
@@ -115,13 +113,6 @@
? R.string.menu_file_size_hide : R.string.menu_file_size_show);
}
- void updateSort(MenuItem sort, MenuItem sortSize, DirectoryDetails directoryDetails) {
- // Search uses backend ranking; no sorting, recents doesn't support sort.
- sort.setEnabled(!directoryDetails.isInRecents() && !mSearchManager.isSearching());
- sort.setVisible(true);
- sortSize.setVisible(mState.getShowSize()); // Only sort by size when file sizes are visible
- }
-
void updateAdvanced(MenuItem advanced, DirectoryDetails directoryDetails) {
advanced.setVisible(mState.showAdvancedOption);
advanced.setTitle(mState.showAdvancedOption && mState.showAdvanced