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

Commit 34c3fa92 authored by François Degros's avatar François Degros
Browse files

Implement the 'Browse' menu item action

Bug: 400835232
Flag: com.android.documentsui.flags.use_material3
Flag: com.android.documentsui.flags.zip_ng_ro
Test: Manual
Change-Id: I16c46304577a659dd47bff32ae6ed213e6381acc
parent 2e15b59c
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import static com.android.documentsui.base.State.MODE_GRID;
import static com.android.documentsui.base.State.MODE_LIST;
import static com.android.documentsui.util.FlagUtils.isDesktopFileHandlingFlagEnabled;
import static com.android.documentsui.util.FlagUtils.isUseMaterial3FlagEnabled;
import static com.android.documentsui.util.FlagUtils.isZipNgFlagEnabled;

import android.app.ActivityManager;
import android.content.BroadcastReceiver;
@@ -946,11 +947,13 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
        mSelectionMgr.copySelection(selection);

        final int id = item.getItemId();
        if (isDesktopFileHandlingFlagEnabled() && id == R.id.dir_menu_open) {
            // On desktop, "open" is displayed in file management mode (i.e. `files.MenuManager`).
            // This menu item behaves the same as double click on the menu item which is handled by
            // onItemActivated but since onItemActivated requires a RecylcerView ItemDetails, we're
            // using viewDocument that takes a Selection.
        if ((isDesktopFileHandlingFlagEnabled() && id == R.id.dir_menu_open)
                || (isZipNgFlagEnabled() && id == R.id.dir_menu_browse)) {
            // The "Open" menu item is displayed in desktop mode.
            // The "Browse" menu item is displayed for supported archives in advanced ZIP mode.
            // These menu items behave the same as a double click on the matching document which
            // is handled by onItemActivated but since onItemActivated requires a RecyclerView
            // ItemDetails, we're using viewDocument that takes a Selection.
            viewDocument(selection);
            return true;
        } else if (id == R.id.action_menu_select || id == R.id.dir_menu_open) {