/**
  * 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;
 }
Пример #2
0
  /**
   * 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);
  }
Пример #3
0
 /**
  * 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);
   }
 }
Пример #4
0
 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;
          }
        });
  }
Пример #7
0
  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);
    }
  }
Пример #8
0
 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);
   }
 }
Пример #10
0
 public void start(View view) {
   Log.d(TAG, "start");
   searchView.startSearch();
 }
Пример #11
0
 public void stop(View view) {
   Log.d(TAG, "stop");
   searchView.stopSearch();
 }