diff options
-rw-r--r-- | res/menu/dir_context_menu.xml | 4 | ||||
-rw-r--r-- | res/menu/file_context_menu.xml | 4 | ||||
-rw-r--r-- | res/menu/mixed_context_menu.xml | 4 | ||||
-rw-r--r-- | src/com/android/documentsui/MenuManager.java | 5 | ||||
-rw-r--r-- | src/com/android/documentsui/dirlist/DirectoryFragment.java | 2 | ||||
-rw-r--r-- | tests/common/com/android/documentsui/testing/TestMenu.java | 1 | ||||
-rw-r--r-- | tests/unit/com/android/documentsui/files/MenuManagerTest.java | 10 |
7 files changed, 29 insertions, 1 deletions
diff --git a/res/menu/dir_context_menu.xml b/res/menu/dir_context_menu.xml index 383841ae3..232753b9d 100644 --- a/res/menu/dir_context_menu.xml +++ b/res/menu/dir_context_menu.xml @@ -34,6 +34,9 @@ android:id="@+id/dir_menu_copy_to_clipboard" android:title="@string/menu_copy_to_clipboard" /> <item + android:id="@+id/dir_menu_compress" + android:title="@string/menu_compress" /> + <item android:id="@+id/dir_menu_paste_into_folder" android:title="@string/menu_paste_into_folder" /> </group> @@ -47,6 +50,7 @@ android:id="@+id/dir_menu_delete" android:title="@string/menu_delete" /> </group> + <group android:id="@+id/menu_extras_group"> <item diff --git a/res/menu/file_context_menu.xml b/res/menu/file_context_menu.xml index 9e786f173..02b0e87e1 100644 --- a/res/menu/file_context_menu.xml +++ b/res/menu/file_context_menu.xml @@ -38,6 +38,9 @@ <item android:id="@+id/dir_menu_copy_to_clipboard" android:title="@string/menu_copy_to_clipboard" /> + <item + android:id="@+id/dir_menu_compress" + android:title="@string/menu_compress" /> </group> <group @@ -49,6 +52,7 @@ android:id="@+id/dir_menu_delete" android:title="@string/menu_delete" /> </group> + <group android:id="@+id/menu_extras_group"> <item diff --git a/res/menu/mixed_context_menu.xml b/res/menu/mixed_context_menu.xml index cb6b4fdaf..128b130d5 100644 --- a/res/menu/mixed_context_menu.xml +++ b/res/menu/mixed_context_menu.xml @@ -26,6 +26,9 @@ <item android:id="@+id/dir_menu_copy_to_clipboard" android:title="@string/menu_copy_to_clipboard" /> + <item + android:id="@+id/dir_menu_compress" + android:title="@string/menu_compress" /> </group> <group @@ -34,6 +37,7 @@ android:id="@+id/dir_menu_delete" android:title="@string/menu_delete" /> </group> + <group android:id="@+id/menu_extras_group"> <item diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java index 405533a00..f46ffe482 100644 --- a/src/com/android/documentsui/MenuManager.java +++ b/src/com/android/documentsui/MenuManager.java @@ -213,6 +213,11 @@ public abstract class MenuManager { Menus.setEnabledAndVisible(delete, canDelete); Menus.setEnabledAndVisible(inspect, selectionDetails.size() == 1); + + final MenuItem compress = menu.findItem(R.id.dir_menu_compress); + if (compress != null) { + updateCompress(compress, selectionDetails); + } } /** diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java index e3e17ee8b..e099ca734 100644 --- a/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -948,7 +948,7 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On // Need to plum down into handling the way we do with deleteDocuments. mActionModeController.finishActionMode(); return true; - } else if (id == R.id.action_menu_compress) { + } else if (id == R.id.action_menu_compress || id == R.id.dir_menu_compress) { transferDocuments(selection, mState.stack, FileOperationService.OPERATION_COMPRESS); // TODO: Only finish selection mode if compress is not canceled. diff --git a/tests/common/com/android/documentsui/testing/TestMenu.java b/tests/common/com/android/documentsui/testing/TestMenu.java index 5181c730b..10e0ea493 100644 --- a/tests/common/com/android/documentsui/testing/TestMenu.java +++ b/tests/common/com/android/documentsui/testing/TestMenu.java @@ -44,6 +44,7 @@ public abstract class TestMenu implements Menu { R.id.dir_menu_open_with, R.id.dir_menu_cut_to_clipboard, R.id.dir_menu_copy_to_clipboard, + R.id.dir_menu_compress, R.id.dir_menu_paste_from_clipboard, R.id.dir_menu_create_dir, R.id.dir_menu_select_all, diff --git a/tests/unit/com/android/documentsui/files/MenuManagerTest.java b/tests/unit/com/android/documentsui/files/MenuManagerTest.java index fe1d02209..02988d62f 100644 --- a/tests/unit/com/android/documentsui/files/MenuManagerTest.java +++ b/tests/unit/com/android/documentsui/files/MenuManagerTest.java @@ -60,6 +60,7 @@ public final class MenuManagerTest { private TestMenuItem dirOpenWith; private TestMenuItem dirCutToClipboard; private TestMenuItem dirCopyToClipboard; + private TestMenuItem mDirCompress; private TestMenuItem dirPasteFromClipboard; private TestMenuItem dirCreateDir; private TestMenuItem dirSelectAll; @@ -132,6 +133,7 @@ public final class MenuManagerTest { dirOpenWith = testMenu.findItem(R.id.dir_menu_open_with); dirCutToClipboard = testMenu.findItem(R.id.dir_menu_cut_to_clipboard); dirCopyToClipboard = testMenu.findItem(R.id.dir_menu_copy_to_clipboard); + mDirCompress = testMenu.findItem(R.id.dir_menu_compress); dirPasteFromClipboard = testMenu.findItem(R.id.dir_menu_paste_from_clipboard); dirCreateDir = testMenu.findItem(R.id.dir_menu_create_dir); dirSelectAll = testMenu.findItem(R.id.dir_menu_select_all); @@ -581,6 +583,7 @@ public final class MenuManagerTest { dirOpen.assertDisabledAndInvisible(); dirCutToClipboard.assertDisabledAndInvisible(); dirCopyToClipboard.assertEnabledAndVisible(); + mDirCompress.assertDisabledAndInvisible(); dirRename.assertDisabledAndInvisible(); dirCreateDir.assertEnabledAndVisible(); dirDelete.assertDisabledAndInvisible(); @@ -605,6 +608,7 @@ public final class MenuManagerTest { selectionDetails.size = 3; mgr.updateContextMenuForFiles(testMenu, selectionDetails); dirOpen.assertDisabledAndInvisible(); + mDirCompress.assertDisabledAndInvisible(); } @Test @@ -616,6 +620,7 @@ public final class MenuManagerTest { dirOpenInNewWindow.assertEnabledAndVisible(); dirCutToClipboard.assertDisabledAndInvisible(); dirCopyToClipboard.assertEnabledAndVisible(); + mDirCompress.assertDisabledAndInvisible(); dirPasteIntoFolder.assertEnabledAndVisible(); dirRename.assertDisabledAndInvisible(); dirDelete.assertDisabledAndInvisible(); @@ -629,6 +634,7 @@ public final class MenuManagerTest { dirOpenInNewWindow.assertEnabledAndVisible(); dirCutToClipboard.assertDisabledAndInvisible(); dirCopyToClipboard.assertEnabledAndVisible(); + mDirCompress.assertDisabledAndInvisible(); dirPasteIntoFolder.assertDisabledAndInvisible(); dirRename.assertDisabledAndInvisible(); dirDelete.assertDisabledAndInvisible(); @@ -656,6 +662,7 @@ public final class MenuManagerTest { selectionDetails.size = 3; mgr.updateContextMenuForDirs(testMenu, selectionDetails); dirOpenInNewWindow.assertDisabledAndInvisible(); + mDirCompress.assertDisabledAndInvisible(); } @Test @@ -667,6 +674,7 @@ public final class MenuManagerTest { mgr.updateContextMenu(testMenu, selectionDetails); dirCutToClipboard.assertEnabledAndVisible(); dirCopyToClipboard.assertEnabledAndVisible(); + mDirCompress.assertDisabledAndInvisible(); dirDelete.assertEnabledAndVisible(); } @@ -680,6 +688,7 @@ public final class MenuManagerTest { mgr.updateContextMenu(testMenu, selectionDetails); dirCutToClipboard.assertDisabledAndInvisible(); dirCopyToClipboard.assertDisabledAndInvisible(); + mDirCompress.assertDisabledAndInvisible(); dirDelete.assertEnabledAndVisible(); } @@ -692,6 +701,7 @@ public final class MenuManagerTest { mgr.updateContextMenu(testMenu, selectionDetails); dirCutToClipboard.assertDisabledAndInvisible(); dirCopyToClipboard.assertEnabledAndVisible(); + mDirCompress.assertDisabledAndInvisible(); dirDelete.assertDisabledAndInvisible(); } |