summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/menu/dir_context_menu.xml4
-rw-r--r--res/menu/file_context_menu.xml4
-rw-r--r--res/menu/mixed_context_menu.xml4
-rw-r--r--src/com/android/documentsui/MenuManager.java5
-rw-r--r--src/com/android/documentsui/dirlist/DirectoryFragment.java2
-rw-r--r--tests/common/com/android/documentsui/testing/TestMenu.java1
-rw-r--r--tests/unit/com/android/documentsui/files/MenuManagerTest.java10
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();
}