Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1e79942 authored by Garfield Tan's avatar Garfield Tan Committed by android-build-merger
Browse files

Disable "New Folder" context menu item in search.

am: d330727a

Change-Id: I2e7baa86367170838a0a1e5b8edce865cc9d6105
parents dfa8572b d330727a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);
    }

    /**
+6 −1
Original line number Diff line number Diff line
@@ -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);
@@ -54,6 +54,11 @@ public class TestDirectoryDetails extends DirectoryDetails {
        return isInRecents;
    }

    @Override
    public boolean canCreateDoc() {
        return canCreateDoc;
    }

    @Override
    public boolean canCreateDirectory() {
        return canCreateDirectory;
+65 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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
+67 −0
Original line number Diff line number Diff line
@@ -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