/** Search for candidate checked-in versions. */
 private void doCandidateSearch() {
   pQueryDialog.setVisible(true);
   if (pQueryDialog.wasConfirmed()) {
     SearchTask task = new SearchTask(pQueryDialog.getPattern(), pQueryDialog.getMaxArchives());
     task.start();
   }
 }
 private void stopTasks(long token) {
   synchronized (tasks) {
     Iterator<SearchTask> it = tasks.iterator();
     while (it.hasNext()) {
       SearchTask task = it.next();
       if (token == -1L || task.getToken() == token) {
         task.stop();
       }
     }
   }
 }
 private int getOrder(long token) {
   int order = 0;
   synchronized (tasks) {
     Iterator<SearchTask> it = tasks.iterator();
     while (it.hasNext()) {
       SearchTask task = it.next();
       if (task.getToken() == token) {
         order = order + 1;
       }
     }
   }
   return order;
 }
Exemple #4
0
  @Override
  public void run() {
    if (tasks.isEmpty()) return;

    int shopsProcessed = 0;
    while (shopsProcessed < shopsPerTick) {
      SearchTask task = tasks.pollLast();
      if (task == null) break;
      shopsProcessed += task.run(shopsPerTick - shopsProcessed);
      if (task.isFinished()) {
        task.onComplete();
      } else {
        tasks.push(task);
      }
    }
  }
 @Override
 public void onStop() {
   super.onStop();
   if (mSearchTask != null) {
     mSearchTask.cancel(true);
   }
 }
Exemple #6
0
 private void search(int direction) {
   hideKeyboard();
   int displayPage = mDocView.getDisplayedViewIndex();
   SearchTaskResult r = SearchTaskResult.get();
   int searchPage = r != null ? r.pageNumber : -1;
   mSearchTask.go(mSearchText.getText().toString(), direction, displayPage, searchPage);
 }
Exemple #7
0
 /**
  * Performs the search specified by the search string {@code search} and the search mode {@code
  * mode} and returns the result of the search.
  *
  * @param search the search string to use
  * @param mode the search mode to use
  * @return The result of the search.
  * @since 10457
  */
 public static Collection<OsmPrimitive> searchAndReturn(String search, SearchMode mode) {
   final SearchSetting searchSetting = new SearchSetting();
   searchSetting.text = search;
   searchSetting.mode = mode;
   CapturingSearchReceiver receiver = new CapturingSearchReceiver();
   SearchTask.newSearchTask(searchSetting, receiver).run();
   return receiver.result;
 }
  void executeSearchTask(String query) {
    if (DEBUG) Log.d(TAG, "sendQuery()");
    mSearchHolder.query = query;
    // not going through set* because we don't want to notify search result
    // observers.
    mSearchHolder.results = null;

    // If a task is already running, don't start a new one.
    if (mSearchTask != null && mSearchTask.getStatus() != AsyncTask.Status.FINISHED) {
      if (DEBUG) Log.d(TAG, "Query already running attempting to cancel: " + mSearchTask);
      if (!mSearchTask.cancel(true) && !mSearchTask.isCancelled()) {
        if (DEBUG) Log.d(TAG, "Unable to cancel search? Notifying the user.");
        Toast.makeText(
            this, getString(R.string.search_already_in_progress_toast), Toast.LENGTH_SHORT);
        return;
      }
    }
    mSearchTask = (SearchTask) new SearchTask().execute();
  }
  void checkIfFinished(SearchPerformer performer) {
    SearchTask pendingTask = null;

    synchronized (tasks) {
      Iterator<SearchTask> it = tasks.iterator();
      while (it.hasNext() && pendingTask == null) {
        SearchTask task = it.next();
        if (task.getToken() == performer.getToken() && !task.isStopped()) {
          pendingTask = task;
        }

        if (task.isStopped()) {
          it.remove();
        }
      }
    }

    if (pendingTask == null) {
      onFinished(performer.getToken());
    }
  }
Exemple #10
0
  @Override
  protected void onPause() {
    super.onPause();

    if (mSearchTask != null) mSearchTask.stop();

    if (mFileName != null && mDocView != null) {
      SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
      SharedPreferences.Editor edit = prefs.edit();
      edit.putInt("page" + mFileName, mDocView.getDisplayedViewIndex());
      edit.commit();
    }
  }
  protected void search() {
    // nag about no connectivity
    if (!AndroidUtils.isNetworkConnected(getSherlockActivity())) {
      Toast.makeText(getSherlockActivity(), R.string.offline, Toast.LENGTH_LONG).show();
      return;
    }

    String query = mSearchBox.getText().toString().trim();
    if (query.length() == 0) {
      return;
    }
    if (mSearchTask == null || mSearchTask.getStatus() == AsyncTask.Status.FINISHED) {
      mSearchTask = new SearchTask(getActivity());
      AndroidUtils.executeAsyncTask(mSearchTask, query);
    }
  }
Exemple #12
0
 static void search(SearchSetting s) {
   SearchTask.newSearchTask(s, new SelectSearchReceiver()).run();
 }