@Override
    public final boolean onCreateOptionsMenu(final Menu menu) {
        getMenuInflater().inflate(R.menu.search_activity_options, menu);
        searchViewItem = menu.findItem(R.id.menu_gosearch);
        searchViewItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionExpand(@NonNull final MenuItem item) {
                binding.flipper.showNext();
                return true;
            }

            @Override
            public boolean onMenuItemActionCollapse(@NonNull final MenuItem item) {
                searchViewItem.setVisible(false);
                searchButtonItem.setVisible(false);
                binding.flipper.showPrevious();
                return true;
            }
        });
        searchButtonItem = menu.findItem(R.id.menu_gosearch_icon);
        searchView = (AutoCompleteTextView) searchViewItem.getActionView();
        searchView.setBackground(AppCompatResources.getDrawable(this, R.drawable.mark_transparent));
        // configure keyboard
        searchView.setInputType(InputType.TYPE_CLASS_TEXT);
        searchView.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
        searchView.addTextChangedListener(ViewUtils.createSimpleWatcher((s) -> updateSuggestions()));
        return true;
    }
try to interpret query as trackable

@param query         Trimmed string to search for
@param keywordSearch Set to true if keyword search should be performed if query isn't GC or TB
@return true if trackable was found
main/src/main/java/cgeo/geocaching/SearchActivity.java