private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
/** * Gently killing AsyncTask */ public static void stopTaskGracefully(AsyncTask<?, ?, ?> t) { if (t != null) { if (t.getStatus() == Status.RUNNING) { t.cancel(true); } } }
public AsyncTaskAssert hasStatus(AsyncTask.Status status) { isNotNull(); AsyncTask.Status actualStatus = actual.getStatus(); assertThat(actualStatus) // .overridingErrorMessage("Expected status <%s> but was <%s>.", status, actualStatus) // .isEqualTo(status); return this; }
@Override protected void onDestroy() { if (mSearchTask != null && mSearchTask.getStatus() != AsyncTask.Status.FINISHED) { mSearchTask.cancel(false); } super.onDestroy(); }
@Test public void shouldGetStatusForAsyncTask() throws Exception { AsyncTask<String, String, String> asyncTask = new MyAsyncTask(); assertThat(asyncTask.getStatus()).isEqualTo(AsyncTask.Status.PENDING); asyncTask.execute("a"); assertThat(asyncTask.getStatus()).isEqualTo(AsyncTask.Status.RUNNING); Robolectric.getBackgroundThreadScheduler().unPause(); assertThat(asyncTask.getStatus()).isEqualTo(AsyncTask.Status.FINISHED); }
/** * Request the widget to update its status. * TODO Mike - we can reduce battery usage by widget users by removing updatePeriodMillis from metadata * and replacing it with an alarm we set so device doesn't wake to update the widget, see: * https://developer.android.com/guide/topics/appwidgets/#MetaData */ public static void update(Context context) { SharedPreferences preferences = AnkiDroidApp.getSharedPrefs(context); sSmallWidgetEnabled = preferences.getBoolean("widgetSmallEnabled", false); if (sSmallWidgetEnabled && ((sUpdateDeckStatusAsyncTask == null) || (sUpdateDeckStatusAsyncTask.getStatus() == AsyncTask.Status.FINISHED))) { Timber.d("WidgetStatus.update(): updating"); sUpdateDeckStatusAsyncTask = new UpdateDeckStatusAsyncTask(); sUpdateDeckStatusAsyncTask.execute(context); } else { Timber.d("WidgetStatus.update(): already running or not enabled"); } }
@Test public void executeOnExecutor_usesPassedExecutor() throws Exception { AsyncTask<String, String, String> asyncTask = new MyAsyncTask(); assertThat(asyncTask.getStatus()).isEqualTo(AsyncTask.Status.PENDING); asyncTask.executeOnExecutor(new ImmediateExecutor(), "a", "b"); assertThat(asyncTask.getStatus()).isEqualTo(AsyncTask.Status.FINISHED); assertThat(transcript).containsExactly("onPreExecute", "doInBackground a, b"); transcript.clear(); assertEquals("Result should get stored in the AsyncTask", "c", asyncTask.get()); ShadowLooper.runUiThreadTasks(); assertThat(transcript).containsExactly("onPostExecute c"); }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
/** * Cancel an {@link AsyncTask}. * * @param mayInterruptIfRunning <tt>true</tt> if the thread executing this * task should be interrupted; otherwise, in-progress tasks are allowed * to complete. */ public static void cancelTask(AsyncTask<?, ?, ?> task, boolean mayInterruptIfRunning) { if (task != null && task.getStatus() != AsyncTask.Status.FINISHED) { task.cancel(mayInterruptIfRunning); } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
public <T> void runTask(Uri uri, AsyncTask<T, ?, ?> task, T... args) { synchronized (mTasks) { if (!mTasks.containsKey(uri) || mTasks.get(uri).getStatus() == Status.FINISHED) { mTasks.put(uri, task); // TODO: Use different executor for different servers. task.executeOnExecutor(mExecutor, args); } else { Log.i(TAG, "Ignore this task for " + uri + " to avoid running multiple updates at the same time."); } } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
private synchronized void cancelOutstandingTask() { if (outstandingTask != null) { if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) { outstandingTask.cancel(true); } outstandingTask = null; } }
public AsyncTaskAssert hasStatus(AsyncTask.Status status) { isNotNull(); AsyncTask.Status actualStatus = actual.getStatus(); assertThat(actualStatus) // .overridingErrorMessage("Expected status <%s> but was <%s>.", status, actualStatus) // .isEqualTo(status); return this; }
@Override public void close() { super.close(); if (mLoadingTask != null && mLoadingTask.getStatus() != Status.FINISHED) { if(BuildConfig.DEBUG) Log.d(TAG, "Cursor is closed. Cancel the loading task " + mLoadingTask); // Interrupting the task is not a good choice as it's waiting for the Samba client thread // returning the result. Interrupting the task only frees the task from waiting for the // result, rather than freeing the Samba client thread doing the hard work. mLoadingTask.cancel(false); } } }
@Override public void onClick(View v) { if (mAsyncTask != null && mAsyncTask.getStatus() == AsyncTask.Status.FINISHED) { if (isRx) { ShowActivity.startShowActivity(this, mRxMDEditText.getText().toString(), isRx); } else { ShowActivity.startShowActivity(this, mMarkdownEditText.getText().toString(), isRx); } } else { Snackbar.make(v, "Wait....", Snackbar.LENGTH_SHORT).show(); } }