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

Commit 5e1b2def authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Control visibility of 'Browse' and 'Extract here' menu items" into main

parents 5e1e9d11 be7cfdfa
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;

import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;

@@ -183,6 +184,11 @@ public abstract class MenuManager {
        updateRename(rename, selectionDetails);
        updateViewInOwner(viewInOwner, selectionDetails);

        if (isZipNgFlagEnabled()) {
            updateExtractHere(menu.findItem(R.id.dir_menu_extract_here), selectionDetails);
            updateBrowse(menu.findItem(R.id.dir_menu_browse), selectionDetails);
        }

        updateContextMenu(menu, selectionDetails);
    }

@@ -383,6 +389,14 @@ public abstract class MenuManager {
        Menus.setEnabledAndVisible(extractTo, false);
    }

    protected void updateExtractHere(@NonNull MenuItem it, SelectionDetails selection) {
        Menus.setEnabledAndVisible(it, false);
    }

    protected void updateBrowse(@NonNull MenuItem it, SelectionDetails selection) {
        Menus.setEnabledAndVisible(it, false);
    }

    protected void updatePasteInto(MenuItem pasteInto, SelectionDetails selectionDetails) {
        Menus.setEnabledAndVisible(pasteInto, false);
    }
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ class FlagUtils {

        @JvmStatic
        fun isZipNgFlagEnabled(): Boolean {
            return Flags.zipNgRo()
            return Flags.zipNgRo() && Flags.useMaterial3()
        }

        @JvmStatic
+4 −3
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import com.android.documentsui.R;
import org.mockito.Mockito;

/**
 *
 * Test copy of {@link android.view.Menu}.
 *
 * We use abstract so we don't have to implement all the necessary methods from the interface,
@@ -55,6 +54,8 @@ public abstract class TestMenu implements Menu {
                R.id.dir_menu_paste_into_folder,
                R.id.dir_menu_inspect,
                R.id.dir_menu_open_in_new_window,
                R.id.dir_menu_extract_here,
                R.id.dir_menu_browse,
                R.id.root_menu_eject_root,
                R.id.root_menu_open_in_new_window,
                R.id.root_menu_paste_into_folder,
@@ -89,7 +90,6 @@ public abstract class TestMenu implements Menu {
    }



    public static TestMenu create(int... ids) {
        final TestMenu menu = Mockito.mock(TestMenu.class,
                Mockito.withSettings().defaultAnswer(Mockito.CALLS_REAL_METHODS));
@@ -103,7 +103,8 @@ public abstract class TestMenu implements Menu {
                item.setActionView(Mockito.mock(SearchView.class));
            }

            if (id == R.id.option_menu_extract_all) {
            if (id == R.id.option_menu_extract_all || id == R.id.dir_menu_extract_here
                    || id == R.id.dir_menu_browse) {
                item.setEnabled(false);
                item.setVisible(false);
            }
+6 −8
Original line number Diff line number Diff line
@@ -27,14 +27,12 @@ import androidx.annotation.StringRes;
import org.mockito.Mockito;

/**
*
 * Test copy of {@link android.view.MenuItem}.
 *
 * We use abstract so we don't have to implement all the necessary methods from the interface,
 * and we use Mockito to just mock out the methods we need.
 * To get an instance, use {@link #create(int)}.
 */

public abstract class TestMenuItem implements MenuItem {

    boolean enabled;
+8 −0
Original line number Diff line number Diff line
@@ -79,6 +79,8 @@ public final class MenuManagerTest {
    private TestMenuItem dirPasteIntoFolder;
    private TestMenuItem dirInspect;
    private TestMenuItem dirOpenInNewWindow;
    private TestMenuItem mDirExtractHere;
    private TestMenuItem mDirBrowse;

    /* Root List Context Menu items */
    private TestMenuItem rootEjectRoot;
@@ -156,6 +158,8 @@ public final class MenuManagerTest {
        dirPasteIntoFolder = testMenu.findItem(R.id.dir_menu_paste_into_folder);
        dirInspect = testMenu.findItem(R.id.dir_menu_inspect);
        dirOpenInNewWindow = testMenu.findItem(R.id.dir_menu_open_in_new_window);
        mDirExtractHere = testMenu.findItem(R.id.dir_menu_extract_here);
        mDirBrowse = testMenu.findItem(R.id.dir_menu_browse);

        rootEjectRoot = testMenu.findItem(R.id.root_menu_eject_root);
        rootOpenInNewWindow = testMenu.findItem(R.id.root_menu_open_in_new_window);
@@ -545,6 +549,8 @@ public final class MenuManagerTest {
        mDirDeselectAll.assertDisabledAndInvisible();
        dirPasteFromClipboard.assertDisabledAndInvisible();
        dirCreateDir.assertDisabledAndInvisible();
        mDirExtractHere.assertDisabledAndInvisible();
        mDirBrowse.assertDisabledAndInvisible();
    }

    @Test
@@ -616,6 +622,8 @@ public final class MenuManagerTest {
        dirRename.assertDisabledAndInvisible();
        dirCreateDir.assertEnabledAndVisible();
        dirDelete.assertDisabledAndInvisible();
        mDirExtractHere.assertDisabledAndInvisible();
        mDirBrowse.assertDisabledAndInvisible();
    }

    @Test
Loading