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

Commit 3d6610dc authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5039702 from dbfc9c21 to qt-release

Change-Id: I5009d64a99b4107a9b29430de5e0b672d56ff94c
parents e66b07e7 dbfc9c21
Loading
Loading
Loading
Loading
+23 −10
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.documentsui;

import android.app.Fragment;
import android.util.Log;
import android.view.KeyboardShortcutGroup;
import android.view.Menu;
import android.view.MenuInflater;
@@ -24,6 +25,7 @@ import android.view.MenuItem;
import android.view.View;

import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.EventListener;
import com.android.documentsui.base.Menus;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.State;
@@ -36,11 +38,14 @@ import java.util.List;
import java.util.function.IntFunction;

public abstract class MenuManager {
    private final static String TAG = "MenuManager";

    final protected SearchViewManager mSearchManager;
    final protected State mState;
    final protected DirectoryDetails mDirDetails;

    protected Menu mOptionMenu;

    public MenuManager(
            SearchViewManager searchManager,
            State displayState,
@@ -70,16 +75,24 @@ public abstract class MenuManager {

    /** @see BaseActivity#onPrepareOptionsMenu */
    public void updateOptionMenu(Menu menu) {
        updateCreateDir(menu.findItem(R.id.option_menu_create_dir));
        updateSettings(menu.findItem(R.id.option_menu_settings));
        updateSelectAll(menu.findItem(R.id.option_menu_select_all));
        updateNewWindow(menu.findItem(R.id.option_menu_new_window));
        updateModePicker(menu.findItem(R.id.option_menu_grid),
                menu.findItem(R.id.option_menu_list));
        updateAdvanced(menu.findItem(R.id.option_menu_advanced));
        updateDebug(menu.findItem(R.id.option_menu_debug));
        updateInspect(menu.findItem(R.id.option_menu_inspect));
        Menus.disableHiddenItems(menu);
        mOptionMenu = menu;
        updateOptionMenu();
    }

    public void updateOptionMenu() {
        if (mOptionMenu == null) {
            return;
        }
        updateCreateDir(mOptionMenu.findItem(R.id.option_menu_create_dir));
        updateSettings(mOptionMenu.findItem(R.id.option_menu_settings));
        updateSelectAll(mOptionMenu.findItem(R.id.option_menu_select_all));
        updateNewWindow(mOptionMenu.findItem(R.id.option_menu_new_window));
        updateModePicker(mOptionMenu.findItem(R.id.option_menu_grid),
                mOptionMenu.findItem(R.id.option_menu_list));
        updateAdvanced(mOptionMenu.findItem(R.id.option_menu_advanced));
        updateDebug(mOptionMenu.findItem(R.id.option_menu_debug));
        updateInspect(mOptionMenu.findItem(R.id.option_menu_inspect));
        Menus.disableHiddenItems(mOptionMenu);
    }

    /**
+3 −4
Original line number Diff line number Diff line
@@ -1089,10 +1089,9 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
            if (!mModel.isLoading()) {
                mActivity.notifyDirectoryLoaded(
                        mModel.doc != null ? mModel.doc.derivedUri : null);
                if (mModel.doc == null) {
                    // Invalid model, then update options menu to disable some items.
                    mActivity.invalidateOptionsMenu();
                }
                // For orientation changed case, sometimes the docs loading comes after the menu
                // update. We need to update the menu here to ensure the status is correct.
                mInjector.menuManager.updateOptionMenu();
            }
        }
    }