/** * Use the search suggestions provider to obtain a live cursor. This will be called in a worker * thread, so it's OK if the query is slow (e.g. round trip for suggestions). The results will be * processed in the UI thread and changeCursor() will be called. */ @Override public Cursor runQueryOnBackgroundThread(CharSequence constraint) { if (DBG) Log.d(LOG_TAG, "runQueryOnBackgroundThread(" + constraint + ")"); String query = (constraint == null) ? "" : constraint.toString(); /** * for in app search we show the progress spinner until the cursor is returned with the results. */ Cursor cursor = null; if (mSearchView.getVisibility() != View.VISIBLE || mSearchView.getWindowVisibility() != View.VISIBLE) { return null; } // mSearchView.getWindow().getDecorView().post(mStartSpinnerRunnable); // TODO: try { cursor = mSearchManager.getSuggestions(mSearchable, query, QUERY_LIMIT); // trigger fill window so the spinner stays up until the results are copied over and // closer to being ready if (cursor != null) { cursor.getCount(); return cursor; } } catch (RuntimeException e) { Log.w(LOG_TAG, "Search suggestions query threw an exception.", e); } // If cursor is null or an exception was thrown, stop the spinner and return null. // changeCursor doesn't get called if cursor is null // mSearchView.getWindow().getDecorView().post(mStopSpinnerRunnable); // TODO: return null; }
/** * Reloads data from new model, creates new search engine to search in new model if model contains * view with the same name */ private void reloadData(HelpModel model) { debug("reloadData using new model"); helpsearch = null; SearchView view = null; newHelpSet = model.getHelpSet(); SearchView oldView = (SearchView) searchnav.getNavigatorView(); String oldName = oldView.getName(); NavigatorView[] navViews = newHelpSet.getNavigatorViews(); for (int i = 0; i < navViews.length; i++) { if ((navViews[i].getName()).equals(oldName)) { NavigatorView tempView = navViews[i]; if (tempView instanceof SearchView) { view = (SearchView) tempView; break; } } } if (view == null) return; topNode.removeAllChildren(); searchnav.setSearchEngine(new MergingSearchEngine(view)); setCellRenderer(view, tree); // add all subhelpsets addSubHelpSets(newHelpSet); }
/** * Must be called to connect to an archive. * * @param archive the archive to mount. */ protected void doMount(Archive archive) { this.archive = archive; archive.getRoot().mkdirs(); logger = new DownloadLogger(archive); logger.clear(); setTitle("Raccoon - " + archive.getRoot().getAbsolutePath()); views.removeAll(); if (archive.getAndroidId().length() == 0) { views.addTab("Archive setup", InitView.create(this, archive)); } else { searchView = SearchView.create(this, archive); updates.setEnabled(true); views.addTab("Search", searchView); views.addChangeListener(searchView); search.setEnabled(true); downloads.setEnabled(true); downloadListScroll = new JScrollPane(); downloadListScroll.setViewportView(downloadList); downloadListScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); views.addTab("Downloads", downloadListScroll); Preferences prefs = Preferences.userNodeForPackage(getClass()); prefs.put(LASTARCHIVE, archive.getRoot().getAbsolutePath()); SwingUtilities.invokeLater(searchView); } }
public void actionPerformed(ActionEvent event) { Object src = event.getSource(); if (src == quit) { doQuit(); } if (src == close) { doClose(); } if (src == open) { doOpen(); } if (src == downloads) { views.setSelectedIndex(1); } if (src == search) { views.setSelectedIndex(0); } if (src == contents) { BrowseUtil.openUrl("http://www.onyxbits.de/raccoon/handbook"); } if (src == updates) { views.setSelectedIndex(0); searchView.doUpdateSearch(); } }
@Override public boolean onCreateOptionsMenu(Menu menu) { isGreenStyle = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("style", true); getMenuInflater().inflate(isGreenStyle ? R.menu.menu_new : R.menu.ivt_menu_new, menu); if (!Globals.isPlaying) { MenuItem item = menu.findItem(R.id.action_current_play); item.setVisible(false); // MenuItem item_divider = menu.findItem(R.id.action_divider); // item_divider.setVisible(false); this.invalidateOptionsMenu(); } SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); searchView.setOnSearchClickListener( new OnClickListener() { @Override public void onClick(View v) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext.getApplicationContext()); Boolean isImmer = prefs.getBoolean(mContext.getString(R.string.searchview_checkbox_key), true); if (!isImmer) { // Toast.makeText(mContext, "not isImmer", // Toast.LENGTH_LONG).show(); } else { SearchViewDialog dialog = new SearchViewDialog(mContext); dialog.show(); // Toast.makeText(mContext, "isImmer", // Toast.LENGTH_LONG).show(); } } }); return true; }
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); MenuItem searchViewMenuItem = menu.findItem(R.id.action_search); search = (SearchView) searchViewMenuItem.getActionView(); search.setOnQueryTextListener( new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { if (adapter != null) { Filter filter = adapter.getFilter(); filter.filter(newText); } return true; } }); }
private void updateMenu() { if (menu != null) { if (gridView.getAdapter() instanceof SearchAdapter) return; menu.clear(); getMenuInflater().inflate(R.menu.roster, menu); menu.findItem(R.id.add).setEnabled(service.isAuthenticated()); menu.findItem(R.id.notes).setEnabled(service.isAuthenticated()); menu.findItem(R.id.disco).setEnabled(service.isAuthenticated()); menu.findItem(R.id.offline) .setTitle( prefs.getBoolean("hideOffline", false) ? R.string.ShowOfflineContacts : R.string.HideOfflineContacts); MenuItem sound = menu.findItem(R.id.notify); sound.setShowAsActionFlags( prefs.getBoolean("showSound", false) ? MenuItem.SHOW_AS_ACTION_ALWAYS : MenuItem.SHOW_AS_ACTION_NEVER); if (prefs.getBoolean("soundDisabled", false)) { sound.setTitle(R.string.EnableSound); sound.setIcon(R.drawable.ic_menu_sound_off); } else { sound.setTitle(R.string.DisableSound); sound.setIcon(R.drawable.ic_menu_sound_on); } MenuItem.OnActionExpandListener listener = new MenuItem.OnActionExpandListener() { @Override public boolean onMenuItemActionCollapse(MenuItem item) { gridView.setAdapter(null); searchString = null; updateList(); updateMenu(); return true; } @Override public boolean onMenuItemActionExpand(MenuItem item) { gridView.setAdapter(searchAdapter); searchString = ""; updateList(); return true; } }; SearchView searchView = new SearchView(this); searchView.setQueryHint(getString(android.R.string.search_go)); searchView.setSubmitButtonEnabled(false); searchView.setOnQueryTextListener( new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextChange(String newText) { searchString = newText; updateList(); return true; } @Override public boolean onQueryTextSubmit(String query) { return true; } }); MenuItem item = menu.findItem(R.id.search); item.setActionView(searchView); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); item.setOnActionExpandListener(listener); super.onCreateOptionsMenu(menu); } }
void openBibleReadingActivity() { SearchView v = getView(); if (v != null) { v.openBibleReadingActivity(); } }
public void onClick(View v) { Object tag = v.getTag(); if (tag instanceof CharSequence) { mSearchView.onQueryRefine((CharSequence) tag); } }
public void start(View view) { Log.d(TAG, "start"); searchView.startSearch(); }
public void stop(View view) { Log.d(TAG, "stop"); searchView.stopSearch(); }