Move menu managers to respective packages.
Also add some unit tests to cover mixed docs in context menus.
Change-Id: I764383daed21afa5e355d85f807ad4ef1710593e
diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java
index efe5703..55dffb1 100644
--- a/src/com/android/documentsui/MenuManager.java
+++ b/src/com/android/documentsui/MenuManager.java
@@ -31,8 +31,8 @@
public abstract class MenuManager {
- final State mState;
- final SearchViewManager mSearchManager;
+ final protected State mState;
+ final protected SearchViewManager mSearchManager;
public MenuManager(SearchViewManager searchManager, State displayState) {
mSearchManager = searchManager;
@@ -98,7 +98,7 @@
* unselectable item in pickers
*/
@VisibleForTesting
- void updateContextMenuForFiles(Menu menu, SelectionDetails selectionDetails) {
+ public void updateContextMenuForFiles(Menu menu, SelectionDetails selectionDetails) {
assert(selectionDetails != null);
MenuItem share = menu.findItem(R.id.menu_share);
@@ -125,7 +125,7 @@
* an unselectable item in pickers
*/
@VisibleForTesting
- void updateContextMenuForDirs(Menu menu, SelectionDetails selectionDetails) {
+ public void updateContextMenuForDirs(Menu menu, SelectionDetails selectionDetails) {
assert(selectionDetails != null);
MenuItem openInNewWindow = menu.findItem(R.id.menu_open_in_new_window);
@@ -145,7 +145,7 @@
* Update shared context menu items of both files and folders context menus.
*/
@VisibleForTesting
- void updateContextMenu(Menu menu, SelectionDetails selectionDetails) {
+ public void updateContextMenu(Menu menu, SelectionDetails selectionDetails) {
assert(selectionDetails != null);
MenuItem cut = menu.findItem(R.id.menu_cut_to_clipboard);
@@ -166,7 +166,7 @@
* Called when user tries to generate a context menu anchored to an empty pane.
*/
@VisibleForTesting
- void updateContextMenuForContainer(Menu menu, DirectoryDetails directoryDetails) {
+ public void updateContextMenuForContainer(Menu menu, DirectoryDetails directoryDetails) {
MenuItem paste = menu.findItem(R.id.menu_paste_from_clipboard);
MenuItem selectAll = menu.findItem(R.id.menu_select_all);
@@ -185,72 +185,75 @@
updateEject(eject, root);
}
- void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails) {
+ protected void updateModePicker(
+ MenuItem grid, MenuItem list, DirectoryDetails directoryDetails) {
grid.setVisible(mState.derivedMode != State.MODE_GRID);
list.setVisible(mState.derivedMode != State.MODE_LIST);
}
- void updateAdvanced(MenuItem advanced, DirectoryDetails directoryDetails) {
+ protected void updateAdvanced(MenuItem advanced, DirectoryDetails directoryDetails) {
advanced.setVisible(mState.showAdvancedOption);
advanced.setTitle(mState.showAdvancedOption && mState.showAdvanced
? R.string.menu_advanced_hide : R.string.menu_advanced_show);
}
- void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) {
+ protected void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) {
settings.setVisible(false);
}
- void updateSettings(MenuItem settings, RootInfo root) {
+ protected void updateSettings(MenuItem settings, RootInfo root) {
settings.setVisible(false);
}
- void updateEject(MenuItem eject, RootInfo root) {
+ protected void updateEject(MenuItem eject, RootInfo root) {
eject.setVisible(false);
}
- void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails) {
+ protected void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails) {
newWindow.setVisible(false);
}
- void updateOpenInActionMode(MenuItem open, SelectionDetails selectionDetails) {
+ protected void updateOpenInActionMode(MenuItem open, SelectionDetails selectionDetails) {
open.setVisible(false);
}
- void updateOpenWith(MenuItem openWith, SelectionDetails selectionDetails) {
+ protected void updateOpenWith(MenuItem openWith, SelectionDetails selectionDetails) {
openWith.setVisible(false);
}
- void updateOpenInNewWindow(MenuItem openInNewWindow, SelectionDetails selectionDetails) {
+ protected void updateOpenInNewWindow(
+ MenuItem openInNewWindow, SelectionDetails selectionDetails) {
openInNewWindow.setVisible(false);
}
- void updateShare(MenuItem share, SelectionDetails selectionDetails) {
+ protected void updateShare(MenuItem share, SelectionDetails selectionDetails) {
share.setVisible(false);
}
- void updateDelete(MenuItem delete, SelectionDetails selectionDetails) {
+ protected void updateDelete(MenuItem delete, SelectionDetails selectionDetails) {
delete.setVisible(false);
}
- void updateRename(MenuItem rename, SelectionDetails selectionDetails) {
+ protected void updateRename(MenuItem rename, SelectionDetails selectionDetails) {
rename.setVisible(false);
}
- void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) {
+ protected void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) {
moveTo.setVisible(false);
}
- void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails) {
+ protected void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails) {
copyTo.setVisible(false);
}
- void updatePasteInto(MenuItem pasteInto, SelectionDetails selectionDetails) {
+ protected void updatePasteInto(MenuItem pasteInto, SelectionDetails selectionDetails) {
pasteInto.setVisible(false);
}
- abstract void updateOpenInContextMenu(MenuItem open, SelectionDetails selectionDetails);
- abstract void updateSelectAll(MenuItem selectAll);
- abstract void updateCreateDir(MenuItem createDir, DirectoryDetails directoryDetails);
+ protected abstract void updateOpenInContextMenu(
+ MenuItem open, SelectionDetails selectionDetails);
+ protected abstract void updateSelectAll(MenuItem selectAll);
+ protected abstract void updateCreateDir(MenuItem createDir, DirectoryDetails directoryDetails);
/**
* Access to meta data about the selection.