Clear separation of RootList Context Menu items and DirList items.
Change-Id: I7f83b21a499de67f628b1fe0cf1582fe70f86c4d
diff --git a/src/com/android/documentsui/AbstractActionHandler.java b/src/com/android/documentsui/AbstractActionHandler.java
index cb03fa6..12ed5d1 100644
--- a/src/com/android/documentsui/AbstractActionHandler.java
+++ b/src/com/android/documentsui/AbstractActionHandler.java
@@ -263,6 +263,13 @@
}
@Override
+ public void showCreateDirectoryDialog() {
+ Metrics.logUserAction(mActivity, Metrics.USER_ACTION_CREATE_DIR);
+
+ CreateDirectoryFragment.show(mActivity.getFragmentManager());
+ }
+
+ @Override
@Nullable
public DocumentInfo renameDocument(String name, DocumentInfo document) {
throw new UnsupportedOperationException("Can't rename documents.");
diff --git a/src/com/android/documentsui/ActionHandler.java b/src/com/android/documentsui/ActionHandler.java
index 03e977e..cb66602 100644
--- a/src/com/android/documentsui/ActionHandler.java
+++ b/src/com/android/documentsui/ActionHandler.java
@@ -89,6 +89,8 @@
void selectAllFiles();
+ void showCreateDirectoryDialog();
+
@Nullable DocumentInfo renameDocument(String name, DocumentInfo document);
/**
diff --git a/src/com/android/documentsui/ActionModeController.java b/src/com/android/documentsui/ActionModeController.java
index 67ad928..87b5f81 100644
--- a/src/com/android/documentsui/ActionModeController.java
+++ b/src/com/android/documentsui/ActionModeController.java
@@ -151,7 +151,7 @@
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
int size = mSelectionMgr.getSelection().size();
- mode.getMenuInflater().inflate(R.menu.mode_directory, menu);
+ mode.getMenuInflater().inflate(R.menu.action_mode_menu, menu);
mode.setTitle(TextUtils.formatSelectedCount(size));
if (size > 0) {
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java
index ded4621..9ba3445 100644
--- a/src/com/android/documentsui/BaseActivity.java
+++ b/src/com/android/documentsui/BaseActivity.java
@@ -323,31 +323,31 @@
onBackPressed();
return true;
- case R.id.menu_create_dir:
- showCreateDirectoryDialog();
+ case R.id.option_menu_create_dir:
+ getInjector().actions.showCreateDirectoryDialog();
return true;
- case R.id.menu_search:
+ case R.id.option_menu_search:
// SearchViewManager listens for this directly.
return false;
- case R.id.menu_grid:
+ case R.id.option_menu_grid:
setViewMode(State.MODE_GRID);
return true;
- case R.id.menu_list:
+ case R.id.option_menu_list:
setViewMode(State.MODE_LIST);
return true;
- case R.id.menu_advanced:
+ case R.id.option_menu_advanced:
onDisplayAdvancedDevices();
return true;
- case R.id.menu_select_all:
+ case R.id.option_menu_select_all:
getInjector().actions.selectAllFiles();
return true;
- case R.id.menu_debug:
+ case R.id.option_menu_debug:
getInjector().actions.showDebugMessage();
return true;
@@ -360,12 +360,6 @@
return DirectoryFragment.get(getFragmentManager());
}
- protected void showCreateDirectoryDialog() {
- Metrics.logUserAction(this, Metrics.USER_ACTION_CREATE_DIR);
-
- CreateDirectoryFragment.show(getFragmentManager());
- }
-
/**
* Returns true if a directory can be created in the current location.
* @return
diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java
index c965c32..aa50ece 100644
--- a/src/com/android/documentsui/MenuManager.java
+++ b/src/com/android/documentsui/MenuManager.java
@@ -53,30 +53,31 @@
/** @see ActionModeController */
public void updateActionMenu(Menu menu, SelectionDetails selection) {
- updateOpenInActionMode(menu.findItem(R.id.menu_open), selection);
- updateOpenWith(menu.findItem(R.id.menu_open_with), selection);
- updateDelete(menu.findItem(R.id.menu_delete), selection);
- updateShare(menu.findItem(R.id.menu_share), selection);
- updateRename(menu.findItem(R.id.menu_rename), selection);
- updateSelectAll(menu.findItem(R.id.menu_select_all));
- updateMoveTo(menu.findItem(R.id.menu_move_to), selection);
- updateCopyTo(menu.findItem(R.id.menu_copy_to), selection);
- updateCompress(menu.findItem(R.id.menu_compress), selection);
- updateExtractTo(menu.findItem(R.id.menu_extract_to), selection);
- updateViewInOwner(menu.findItem(R.id.menu_view_in_owner), selection);
+ updateOpenInActionMode(menu.findItem(R.id.action_menu_open), selection);
+ updateOpenWith(menu.findItem(R.id.action_menu_open_with), selection);
+ updateDelete(menu.findItem(R.id.action_menu_delete), selection);
+ updateShare(menu.findItem(R.id.action_menu_share), selection);
+ updateRename(menu.findItem(R.id.action_menu_rename), selection);
+ updateSelectAll(menu.findItem(R.id.action_menu_select_all));
+ updateMoveTo(menu.findItem(R.id.action_menu_move_to), selection);
+ updateCopyTo(menu.findItem(R.id.action_menu_copy_to), selection);
+ updateCompress(menu.findItem(R.id.action_menu_compress), selection);
+ updateExtractTo(menu.findItem(R.id.action_menu_extract_to), selection);
+ updateViewInOwner(menu.findItem(R.id.action_menu_view_in_owner), selection);
Menus.disableHiddenItems(menu);
}
/** @see BaseActivity#onPrepareOptionsMenu */
public void updateOptionMenu(Menu menu) {
- updateCreateDir(menu.findItem(R.id.menu_create_dir));
- updateSettings(menu.findItem(R.id.menu_settings));
- updateSelectAll(menu.findItem(R.id.menu_select_all));
- updateNewWindow(menu.findItem(R.id.menu_new_window));
- updateModePicker(menu.findItem(R.id.menu_grid), menu.findItem(R.id.menu_list));
- updateAdvanced(menu.findItem(R.id.menu_advanced));
- updateDebug(menu.findItem(R.id.menu_debug));
+ updateCreateDir(menu.findItem(R.id.option_menu_create_dir));
+ updateSettings(menu.findItem(R.id.option_menu_settings));
+ updateSelectAll(menu.findItem(R.id.option_menu_select_all));
+ updateNewWindow(menu.findItem(R.id.option_menu_new_window));
+ updateModePicker(menu.findItem(R.id.option_menu_grid),
+ menu.findItem(R.id.option_menu_list));
+ updateAdvanced(menu.findItem(R.id.option_menu_advanced));
+ updateDebug(menu.findItem(R.id.option_menu_debug));
Menus.disableHiddenItems(menu);
}
@@ -116,11 +117,11 @@
public void updateContextMenuForFiles(Menu menu, SelectionDetails selectionDetails) {
assert(selectionDetails != null);
- MenuItem share = menu.findItem(R.id.menu_share);
- MenuItem open = menu.findItem(R.id.menu_open);
- MenuItem openWith = menu.findItem(R.id.menu_open_with);
- MenuItem rename = menu.findItem(R.id.menu_rename);
- MenuItem viewInOwner = menu.findItem(R.id.menu_view_in_owner);
+ MenuItem share = menu.findItem(R.id.dir_menu_share);
+ MenuItem open = menu.findItem(R.id.dir_menu_open);
+ MenuItem openWith = menu.findItem(R.id.dir_menu_open_with);
+ MenuItem rename = menu.findItem(R.id.dir_menu_rename);
+ MenuItem viewInOwner = menu.findItem(R.id.dir_menu_view_in_owner);
updateShare(share, selectionDetails);
updateOpenInContextMenu(open, selectionDetails);
@@ -145,9 +146,9 @@
public void updateContextMenuForDirs(Menu menu, SelectionDetails selectionDetails) {
assert(selectionDetails != null);
- MenuItem openInNewWindow = menu.findItem(R.id.menu_open_in_new_window);
- MenuItem rename = menu.findItem(R.id.menu_rename);
- MenuItem pasteInto = menu.findItem(R.id.menu_paste_into_folder);
+ MenuItem openInNewWindow = menu.findItem(R.id.dir_menu_open_in_new_window);
+ MenuItem rename = menu.findItem(R.id.dir_menu_rename);
+ MenuItem pasteInto = menu.findItem(R.id.dir_menu_paste_into_folder);
updateOpenInNewWindow(openInNewWindow, selectionDetails);
updateRename(rename, selectionDetails);
@@ -165,9 +166,9 @@
public void updateContextMenu(Menu menu, SelectionDetails selectionDetails) {
assert(selectionDetails != null);
- MenuItem cut = menu.findItem(R.id.menu_cut_to_clipboard);
- MenuItem copy = menu.findItem(R.id.menu_copy_to_clipboard);
- MenuItem delete = menu.findItem(R.id.menu_delete);
+ MenuItem cut = menu.findItem(R.id.dir_menu_cut_to_clipboard);
+ MenuItem copy = menu.findItem(R.id.dir_menu_copy_to_clipboard);
+ MenuItem delete = menu.findItem(R.id.dir_menu_delete);
final boolean canCopy =
selectionDetails.size() > 0 && !selectionDetails.containsPartialFiles();
@@ -184,9 +185,9 @@
*/
@VisibleForTesting
public void updateContextMenuForContainer(Menu menu) {
- MenuItem paste = menu.findItem(R.id.menu_paste_from_clipboard);
- MenuItem selectAll = menu.findItem(R.id.menu_select_all);
- MenuItem createDir = menu.findItem(R.id.menu_create_dir);
+ MenuItem paste = menu.findItem(R.id.dir_menu_paste_from_clipboard);
+ MenuItem selectAll = menu.findItem(R.id.dir_menu_select_all);
+ MenuItem createDir = menu.findItem(R.id.dir_menu_create_dir);
paste.setEnabled(mDirDetails.hasItemsToPaste() && mDirDetails.canCreateDoc());
updateSelectAll(selectAll);
@@ -197,10 +198,10 @@
* @see RootsFragment#onCreateContextMenu
*/
public void updateRootContextMenu(Menu menu, RootInfo root, DocumentInfo docInfo) {
- MenuItem eject = menu.findItem(R.id.menu_eject_root);
- MenuItem pasteInto = menu.findItem(R.id.menu_paste_into_folder);
- MenuItem openInNewWindow = menu.findItem(R.id.menu_open_in_new_window);
- MenuItem settings = menu.findItem(R.id.menu_settings);
+ MenuItem eject = menu.findItem(R.id.root_menu_eject_root);
+ MenuItem pasteInto = menu.findItem(R.id.root_menu_paste_into_folder);
+ MenuItem openInNewWindow = menu.findItem(R.id.root_menu_open_in_new_window);
+ MenuItem settings = menu.findItem(R.id.root_menu_settings);
updateEject(eject, root);
updatePasteInto(pasteInto, root, docInfo);
diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java
index aef9aca..496cf29 100644
--- a/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -611,37 +611,41 @@
Selection selection = mSelectionMgr.getSelection(new Selection());
switch (item.getItemId()) {
- case R.id.menu_open:
+ case R.id.action_menu_open:
+ case R.id.dir_menu_open:
openDocuments(selection);
mActionModeController.finishActionMode();
return true;
- case R.id.menu_open_with:
+ case R.id.action_menu_open_with:
+ case R.id.dir_menu_open_with:
showChooserForDoc(selection);
return true;
- case R.id.menu_open_in_new_window:
+ case R.id.dir_menu_open_in_new_window:
mActions.openSelectedInNewWindow();
return true;
- case R.id.menu_share:
+ case R.id.action_menu_share:
+ case R.id.dir_menu_share:
mActions.shareSelectedDocuments();
return true;
- case R.id.menu_delete:
+ case R.id.action_menu_delete:
+ case R.id.dir_menu_delete:
// deleteDocuments will end action mode if the documents are deleted.
// It won't end action mode if user cancels the delete.
mActions.deleteSelectedDocuments();
return true;
- case R.id.menu_copy_to:
+ case R.id.action_menu_copy_to:
transferDocuments(selection, null, FileOperationService.OPERATION_COPY);
// TODO: Only finish selection mode if copy-to is not canceled.
// Need to plum down into handling the way we do with deleteDocuments.
mActionModeController.finishActionMode();
return true;
- case R.id.menu_compress:
+ case R.id.action_menu_compress:
transferDocuments(selection, mState.stack,
FileOperationService.OPERATION_COMPRESS);
// TODO: Only finish selection mode if compress is not canceled.
@@ -650,14 +654,14 @@
return true;
// TODO: Implement extract (to the current directory).
- case R.id.menu_extract_to:
+ case R.id.action_menu_extract_to:
transferDocuments(selection, null, FileOperationService.OPERATION_EXTRACT);
// TODO: Only finish selection mode if compress-to is not canceled.
// Need to plum down into handling the way we do with deleteDocuments.
mActionModeController.finishActionMode();
return true;
- case R.id.menu_move_to:
+ case R.id.action_menu_move_to:
if (mModel.hasDocuments(selection, DocumentFilters.NOT_MOVABLE)) {
mInjector.dialogs.showOperationUnsupported();
return true;
@@ -667,44 +671,46 @@
transferDocuments(selection, null, FileOperationService.OPERATION_MOVE);
return true;
- case R.id.menu_cut_to_clipboard:
+ case R.id.dir_menu_cut_to_clipboard:
mActions.cutToClipboard();
return true;
- case R.id.menu_copy_to_clipboard:
+ case R.id.dir_menu_copy_to_clipboard:
mActions.copyToClipboard();
return true;
- case R.id.menu_paste_from_clipboard:
+ case R.id.dir_menu_paste_from_clipboard:
pasteFromClipboard();
return true;
- case R.id.menu_paste_into_folder:
+ case R.id.dir_menu_paste_into_folder:
pasteIntoFolder();
return true;
- case R.id.menu_select_all:
+ case R.id.action_menu_select_all:
+ case R.id.dir_menu_select_all:
mActions.selectAllFiles();
return true;
- case R.id.menu_rename:
+ case R.id.action_menu_rename:
+ case R.id.dir_menu_rename:
// Exit selection mode first, so we avoid deselecting deleted
// (renamed) documents.
mActionModeController.finishActionMode();
renameDocuments(selection);
return true;
- case R.id.menu_view_in_owner:
+ case R.id.dir_menu_create_dir:
+ mActions.showCreateDirectoryDialog();
+ return true;
+
+ case R.id.dir_menu_view_in_owner:
mActions.viewInOwner();
return true;
default:
- // See if BaseActivity can handle this particular MenuItem
- if (!mActivity.onOptionsItemSelected(item)) {
- if (DEBUG) Log.d(TAG, "Unhandled menu item selected: " + item);
- return false;
- }
- return true;
+ if (DEBUG) Log.d(TAG, "Unhandled menu item selected: " + item);
+ return false;
}
}
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index e77de29..cced995 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -32,6 +32,7 @@
import com.android.documentsui.AbstractActionHandler;
import com.android.documentsui.ActionModeAddons;
import com.android.documentsui.ActivityConfig;
+import com.android.documentsui.CreateDirectoryFragment;
import com.android.documentsui.DocumentsAccess;
import com.android.documentsui.DocumentsApplication;
import com.android.documentsui.DragAndDropManager;
diff --git a/src/com/android/documentsui/files/FilesActivity.java b/src/com/android/documentsui/files/FilesActivity.java
index 646f88e..125f8c3 100644
--- a/src/com/android/documentsui/files/FilesActivity.java
+++ b/src/com/android/documentsui/files/FilesActivity.java
@@ -275,23 +275,17 @@
public boolean onOptionsItemSelected(MenuItem item) {
DirectoryFragment dir;
switch (item.getItemId()) {
- case R.id.menu_create_dir:
+ case R.id.option_menu_create_dir:
assert(canCreateDirectory());
- showCreateDirectoryDialog();
+ mInjector.actions.showCreateDirectoryDialog();
break;
- case R.id.menu_new_window:
+ case R.id.option_menu_new_window:
mInjector.actions.openInNewWindow(mState.stack);
break;
- case R.id.menu_paste_from_clipboard:
- dir = getDirectoryFragment();
- if (dir != null) {
- dir.pasteFromClipboard();
- }
- break;
- case R.id.menu_settings:
+ case R.id.option_menu_settings:
mInjector.actions.openSettings(getCurrentRoot());
break;
- case R.id.menu_select_all:
+ case R.id.option_menu_select_all:
mInjector.actions.selectAllFiles();
break;
default:
diff --git a/src/com/android/documentsui/queries/SearchViewManager.java b/src/com/android/documentsui/queries/SearchViewManager.java
index 85de7d3..a57326a 100644
--- a/src/com/android/documentsui/queries/SearchViewManager.java
+++ b/src/com/android/documentsui/queries/SearchViewManager.java
@@ -74,7 +74,7 @@
public void install(Menu menu, boolean isFullBarSearch) {
mMenu = menu;
- mMenuItem = mMenu.findItem(R.id.menu_search);
+ mMenuItem = mMenu.findItem(R.id.option_menu_search);
mSearchView = (SearchView) mMenuItem.getActionView();
mSearchView.setOnQueryTextListener(this);
diff --git a/src/com/android/documentsui/sidebar/RootsFragment.java b/src/com/android/documentsui/sidebar/RootsFragment.java
index c5c188f..c336d16 100644
--- a/src/com/android/documentsui/sidebar/RootsFragment.java
+++ b/src/com/android/documentsui/sidebar/RootsFragment.java
@@ -381,17 +381,17 @@
}
final RootItem rootItem = (RootItem) mAdapter.getItem(adapterMenuInfo.position);
switch (item.getItemId()) {
- case R.id.menu_eject_root:
+ case R.id.root_menu_eject_root:
final View ejectIcon = adapterMenuInfo.targetView.findViewById(R.id.eject_icon);
ejectClicked(ejectIcon, rootItem.root, mActionHandler);
return true;
- case R.id.menu_open_in_new_window:
+ case R.id.root_menu_open_in_new_window:
mActionHandler.openInNewWindow(new DocumentStack(rootItem.root));
return true;
- case R.id.menu_paste_into_folder:
+ case R.id.root_menu_paste_into_folder:
mActionHandler.pasteIntoFolder(rootItem.root);
return true;
- case R.id.menu_settings:
+ case R.id.root_menu_settings:
mActionHandler.openSettings(rootItem.root);
return true;
default: