Loading src/com/android/documentsui/MenuManager.java +2 −0 Original line number Diff line number Diff line Loading @@ -174,9 +174,11 @@ public abstract class MenuManager { 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); paste.setEnabled(mDirDetails.hasItemsToPaste() && mDirDetails.canCreateDoc()); updateSelectAll(selectAll); updateCreateDir(createDir); } /** Loading tests/common/com/android/documentsui/testing/TestDirectoryDetails.java +6 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ public class TestDirectoryDetails extends DirectoryDetails { public boolean isInRecents; public boolean hasRootSettings; public boolean hasItemsToPaste; public boolean canCreateDoc; public boolean canCreateDirectory; public boolean getDisplayFileSize; public TestDirectoryDetails() { super(null); Loading @@ -54,6 +54,11 @@ public class TestDirectoryDetails extends DirectoryDetails { return isInRecents; } @Override public boolean canCreateDoc() { return canCreateDoc; } @Override public boolean canCreateDirectory() { return canCreateDirectory; Loading tests/unit/com/android/documentsui/files/MenuManagerTest.java +65 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.documentsui.files; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.assertTrue; import android.provider.DocumentsContract.Document; Loading Loading @@ -62,6 +63,8 @@ public final class MenuManagerTest { private TestMenuItem pasteInto; private TestMenuItem advanced; private TestMenuItem eject; private TestActivity testActivity; private TestSelectionDetails selectionDetails; private TestDirectoryDetails dirDetails; private TestSearchViewManager testSearchManager; Loading Loading @@ -239,8 +242,70 @@ public final class MenuManagerTest { mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_NoItemToPaste() { dirDetails.hasItemsToPaste = false; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CantCreateDoc() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = false; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CanPaste() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertEnabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CanCreateDirectory() { dirDetails.canCreateDirectory = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertEnabled(); } @Test Loading tests/unit/com/android/documentsui/picker/MenuManagerTest.java +67 −0 Original line number Diff line number Diff line Loading @@ -182,10 +182,77 @@ public final class MenuManagerTest { @Test public void testContextMenu_EmptyArea() { dirDetails.hasItemsToPaste = false; dirDetails.canCreateDoc = false; dirDetails.canCreateDirectory = false; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_NoItemToPaste() { dirDetails.hasItemsToPaste = false; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CantCreateDoc() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = false; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_canPaste() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertEnabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CanCreateDirectory() { dirDetails.canCreateDirectory = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertEnabled(); } @Test Loading Loading
src/com/android/documentsui/MenuManager.java +2 −0 Original line number Diff line number Diff line Loading @@ -174,9 +174,11 @@ public abstract class MenuManager { 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); paste.setEnabled(mDirDetails.hasItemsToPaste() && mDirDetails.canCreateDoc()); updateSelectAll(selectAll); updateCreateDir(createDir); } /** Loading
tests/common/com/android/documentsui/testing/TestDirectoryDetails.java +6 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ public class TestDirectoryDetails extends DirectoryDetails { public boolean isInRecents; public boolean hasRootSettings; public boolean hasItemsToPaste; public boolean canCreateDoc; public boolean canCreateDirectory; public boolean getDisplayFileSize; public TestDirectoryDetails() { super(null); Loading @@ -54,6 +54,11 @@ public class TestDirectoryDetails extends DirectoryDetails { return isInRecents; } @Override public boolean canCreateDoc() { return canCreateDoc; } @Override public boolean canCreateDirectory() { return canCreateDirectory; Loading
tests/unit/com/android/documentsui/files/MenuManagerTest.java +65 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.documentsui.files; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.assertTrue; import android.provider.DocumentsContract.Document; Loading Loading @@ -62,6 +63,8 @@ public final class MenuManagerTest { private TestMenuItem pasteInto; private TestMenuItem advanced; private TestMenuItem eject; private TestActivity testActivity; private TestSelectionDetails selectionDetails; private TestDirectoryDetails dirDetails; private TestSearchViewManager testSearchManager; Loading Loading @@ -239,8 +242,70 @@ public final class MenuManagerTest { mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_NoItemToPaste() { dirDetails.hasItemsToPaste = false; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CantCreateDoc() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = false; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CanPaste() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertEnabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CanCreateDirectory() { dirDetails.canCreateDirectory = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertEnabled(); } @Test Loading
tests/unit/com/android/documentsui/picker/MenuManagerTest.java +67 −0 Original line number Diff line number Diff line Loading @@ -182,10 +182,77 @@ public final class MenuManagerTest { @Test public void testContextMenu_EmptyArea() { dirDetails.hasItemsToPaste = false; dirDetails.canCreateDoc = false; dirDetails.canCreateDirectory = false; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_NoItemToPaste() { dirDetails.hasItemsToPaste = false; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CantCreateDoc() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = false; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_canPaste() { dirDetails.hasItemsToPaste = true; dirDetails.canCreateDoc = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertEnabled(); createDir.assertVisible(); createDir.assertDisabled(); } @Test public void testContextMenu_EmptyArea_CanCreateDirectory() { dirDetails.canCreateDirectory = true; mgr.updateContextMenuForContainer(testMenu); selectAll.assertVisible(); selectAll.assertEnabled(); paste.assertVisible(); paste.assertDisabled(); createDir.assertVisible(); createDir.assertEnabled(); } @Test Loading