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

Commit 56de84a8 authored by Tony Huang's avatar Tony Huang
Browse files

Fix crash issue when mouse band selection

Band selection on specific root will crash because not check
iterator size, add check to prevent.

Fix: 79419943
Test: manual
Test: atest DocumentsUITests
Change-Id: I42e83d3db0f56685b65e7cf348912775a7a5747e
parent 73efb8d2
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -267,7 +267,8 @@ public final class MenuManager extends com.android.documentsui.MenuManager {

    @Override
    protected void updateViewInOwner(MenuItem view, SelectionDetails selectionDetails) {
        if (selectionDetails.canViewInOwner()) {
        if (selectionDetails.canViewInOwner() &&
                mSelectionManager.getSelection().iterator().hasNext()) {
            view.setVisible(true);
            view.setEnabled(true);
            Resources res = mContext.getResources();
+20 −0
Original line number Diff line number Diff line
@@ -296,6 +296,26 @@ public final class MenuManagerTest {
        actionModeViewInOwner.assertVisible();
    }

    @Test
    public void testActionsMenu_cantViewInOwner_noSelection() {
        // Simulate empty selection
        selectionManager = SelectionHelpers.createTestInstance();
        mgr = new MenuManager(
                features,
                testSearchManager,
                state,
                dirDetails,
                activity,
                selectionManager,
                this::getApplicationNameFromAuthority,
                this::getUriFromModelId);

        selectionDetails.canViewInOwner = true;
        mgr.updateActionMenu(testMenu, selectionDetails);

        actionModeViewInOwner.assertInvisible();
    }

    @Test
    public void testActionMenu_changeToCanDelete() {
        selectionDetails.canDelete = false;