@Override
    public boolean onCreateOptionsMenu(final Menu menu) {
        try (ContextLogger ignore = new ContextLogger(Log.LogLevel.DEBUG, "MainActivity.onCreateOptionsMenu")) {

            getMenuInflater().inflate(R.menu.main_activity_options, menu);
            MenuCompat.setGroupDividerEnabled(menu, true);
            final SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
            searchItem = menu.findItem(R.id.menu_gosearch);
            searchView = (SearchView) searchItem.getActionView();
            searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
            searchView.setSuggestionsAdapter(new GeocacheSuggestionsAdapter(this));

            // initialize menu items
            menu.findItem(R.id.menu_wizard).setVisible(!InstallWizardActivity.isConfigurationOk());
            menu.findItem(R.id.menu_update_routingdata).setEnabled(Settings.useInternalRouting());

            final boolean isPremiumActive = Settings.isGCConnectorActive() && Settings.isGCPremiumMember();
            menu.findItem(R.id.menu_pocket_queries).setVisible(isPremiumActive);
            menu.findItem(R.id.menu_bookmarklists).setVisible(isPremiumActive);

            SearchUtils.hideKeyboardOnSearchClick(searchView, searchItem);
            SearchUtils.hideActionIconsWhenSearchIsActive(this, menu, searchItem);
            SearchUtils.handleDropDownVisibility(this, searchView, searchItem);
        }

        if (Log.isEnabled(Log.LogLevel.DEBUG)) {
            binding.getRoot().post(() -> Log.d("Post after MainActivity.onCreateOptionsMenu"));
        }

        return true;
    }
prompts user if there's at least one blocked or failed download
main/src/main/java/cgeo/geocaching/MainActivity.java