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

Commit 10d62a35 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 1b8038e7 cb16408d
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -389,11 +389,11 @@ public abstract class MenuManager {
        Menus.setEnabledAndVisible(extractTo, false);
    }

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

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

@@ -450,6 +450,10 @@ public abstract class MenuManager {
        boolean canOpen();

        boolean canViewInOwner();

        default boolean isArchive() {
            return false;
        }
    }

    public static class DirectoryDetails {
+11 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.selection.SelectionTracker;

@@ -211,6 +212,16 @@ public final class MenuManager extends com.android.documentsui.MenuManager {
        Menus.setEnabledAndVisible(extractTo, enabled);
    }

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

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

    @Override
    protected void updatePasteInto(MenuItem pasteInto, SelectionDetails selectionDetails) {
        Menus.setEnabledAndVisible(pasteInto,