History log of /frameworks/base/core/java/android/os/AsyncTask.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6f931ccd31bc0a8a402072c1d87e682c8a30a404 17-Oct-2012 Romain Guy <romainguy@google.com> Fix javadoc

Change-Id: Ie98dd00f41add876f3740f5d37781a10c6bd41fe
2c1b8c744daf1dfb3cc545effaf9a43e342a3d38 21-May-2012 Romain Guy <romainguy@google.com> Update AsyncTask documentation

Change-Id: I678506309f027bb12d0c3f42436a60611aca5d8c
b1ec5ef460ac62fa8d3e621794787336e513a8ef 02-Mar-2012 Jeff Brown <jeffbrown@google.com> Shouldn't catch Throwable in AsyncTask.

Throwable includes classes of Error that really should be fatal.

Bug: 5945222
Change-Id: I602f958396048451f404dd2306cdf5e57172acf0
5e9120d4adfb07aeeadb0e0de1de2eb9ebbd80e0 30-Jan-2012 Romain Guy <romainguy@google.com> Always initialize AsyncTask on the main thread.

Change-Id: I039e5d6cb7157a0c8873e0d29161daf1cbda5577
657f51371cc631a82a8d30cd4a796c48077d474b 05-Dec-2011 Romain Guy <romainguy@google.com> Make sure onPostExecute() is never called after cancel()
Bug #5651553

As dfined by the documentation.

Change-Id: I627a49ee000d6990b61fd64dde9b06f72cd5cbae
0bbd8d8273c1dde9e0504f67bd8eb159bef2406a 12-Oct-2011 Romain Guy <romainguy@google.com> Revert "Check whether an AsyncTask is created/executed on a looper thread."

This reverts commit 7498ccb6b9a1e61281d998fc81adc9a4a5e87e56.
5e7f2d0b227df38f6dbc2313ac8b5c9f225c135e 12-Oct-2011 Romain Guy <romainguy@google.com> Revert "Fix the build"

This reverts commit 4db2504adab21e4439c123d2675db555e0143afa.
4db2504adab21e4439c123d2675db555e0143afa 11-Oct-2011 Romain Guy <romainguy@google.com> Fix the build

Change-Id: I3071feab62abee7393557ceb920786b476fb0b02
7498ccb6b9a1e61281d998fc81adc9a4a5e87e56 17-Sep-2011 Romain Guy <romainguy@android.com> Check whether an AsyncTask is created/executed on a looper thread.

Change-Id: I181b253c50a6579f35e61cd4b0c500379462e035
b54e7a3d9f60ac605f404f9eb3c5e92ca51bbd23 04-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross-references, Project ACRE

Change-Id: I5df1c4e13af67ff4c4a5b22f3cb1247bf0103b09
99f801da15d73272b99487b5694b29a1c2189439 17-Sep-2011 Jeff Brown <jeffbrown@google.com> Revert "Forces AsyncTask to use the main looper Bug #5333924"

This reverts commit 6dafefb0f44c4e57384e2ec3e08fefac5cc7e071

This change is breaking the system on startup with an NPE. Need to fix that first then resubmit.
6dafefb0f44c4e57384e2ec3e08fefac5cc7e071 17-Sep-2011 Romain Guy <romainguy@android.com> Forces AsyncTask to use the main looper
Bug #5333924

This might break applications trying to use AsyncTask on a looper
that is not the main thread, but such apps would already have
issues (AsyncTask has a single static handler and attempting to
use AsyncTask outside of the main thread would likely result
in weird threading issues in other parts of the app.)

Change-Id: Ibbf480627fc7b91326a27d4f5e5af49e8c5b5115
d630f105e8bc0021541aacb4dc6498a49048ecea 18-Mar-2011 Joe Onorato <joeo@google.com> AsyncTask now uses the poll executor for apps up through HC MR1 and the serialized one after that.

Change-Id: I47d135ace5f8e78e4fa44ac9d1bf7abeeb9d3ba0
96438cd658f91fed9d8fc651c4eb1e55dc6dbf80 26-Jan-2011 Dianne Hackborn <hackbod@google.com> Change AsyncTask.execute() back to using a thread pool...

...for now.

Change-Id: I1fe64f3e3a575f85add11dfe4d405f0c3a4a49de
9bb85ab3af3f8e4efa9c8c22f907680cd0108bcb 16-Jan-2011 Joe Onorato <joeo@google.com> fix the build... sorry... bad docs...

Change-Id: I4b543f306d58ec95693c8e3515dffcb7dd55dc29
81de61bfddceba0eb77b3aacea317594b0f1de49 16-Jan-2011 Joe Onorato <joeo@google.com> Change the default of how AsyncTask enqueues.

The default is now to serialize everything onto the thread pool. If you would
like to have finer grained control over how AsyncTasks are executed, you can
call the new executeOnExecutor method, which takes a custom Executor. The
pool used by the default is handily now accessible as THREAD_POOL_EXECUTOR.

This change is because it is too tempting to convert single threaded Janky™
code to use AsyncTask in a way that is unsafe and ends up calling the
AsyncTasks in parallel.

Also, this adds a static execute(Runnable) method to AsyncTask that posts
onto the serialized queue, so that if you don't have any parameters or
return values, you can just use Runnable instead of AsyncTask.

Change-Id: I91bdfb00193542bfc2e101bcad56e3430421884a
5ba812b9e9c886425a5736c2ae6fbe0fc94afd8b 10-Jan-2011 Romain Guy <romainguy@google.com> Make sure onCancelled() is called if cancel() is called early.

In some situations, when cancel() was called before the task had a
chance to start its execution, onCancelled() would not be invoked.

Change-Id: I6c1f4cd28a209fb8cc779bb212f500565dfceaae
e95003e4a15eea2d5f93950fc46f99ff2b9c973a 09-Jan-2011 Romain Guy <romainguy@google.com> Tighten up AsyncTask's semantics and behavior.
Bug #3109366
Bug #3109382

The new behavior of AsyncTask is the following:
- Unchanged if you don't call cancel()
- If you call cancel():
- Either onCancelled() *OR* onPostExecute() is invoked
- onCancelled() is invoked only after doInBackground() finishes

Change-Id: If53faec5890d2fa7098aea76973186a0b1026b39
a2ea747faaf5fcd437afbaaf4085cfc29e7c16b8 20-Dec-2010 Dianne Hackborn <hackbod@google.com> More cleanup of Loader APIs.

- Remove old method names.
- Introduce onXxx() hooks to Loader.
- Improve debugging.

Change-Id: I3fba072a05c7023aa7d2c3eb4e126feb514ab6d8
9ec0c471c1159fdffc63a65c2fae644ee5c01959 15-Sep-2010 Romain Guy <romainguy@google.com> am 282315e1: am 52e19d59: Merge "Change the keep alive time for excess idle threads." into gingerbread

Merge commit '282315e154b63a2eec84609600c81ad9e1c72994'

* commit '282315e154b63a2eec84609600c81ad9e1c72994':
Change the keep alive time for excess idle threads.
6b424f4770e1c4fe3e4c2a44d08447b0e9203dd4 14-Sep-2010 Romain Guy <romainguy@google.com> Change the keep alive time for excess idle threads.

Change-Id: Ie076544df5ee8df185f0824333fdc62203a565c2
aa60a02f7934ac23cb88f16ed2d726157bc9f31c 31-Aug-2010 Makoto Onuki <omakoto@google.com> Added "Memory observability" to javadoc.

Change-Id: I4fba91922f033af408903cc4b455daa291e3f6ac
23fdaf6fb62a9b5154b2508916a21c678462c5d0 06-Aug-2010 Dianne Hackborn <hackbod@google.com> Add new ContentProvider for doing conversions to data streams.

This introduces basic infrastructure that should allow content
providers holding complex data to perform on-demand conversion
of their data to streams of various types. It is achieved through
two new content provider APIs, one to interrogate the possible
stream MIME types the provider can return, and the other to
request a stream of data in a particular MIME type.

Because implementations of this will often need to do on-demand
data conversion, there is also a utility intoduced in ContentProvider
for subclasses to easily run a function to write data into a
pipe that is read by the client.

This feature is mostly intended for cut and paste and drag and
drop, as the complex data interchange allowing the source and
destination to negotiate data types and copy (possible large)
data between them. However because it is fundamental facility
of ContentProvider, it can be used in other places, such as for
more advanced GET_CONTENT data exchanges.

An example implementation of this would be in ContactsProvider,
which can now provider a data stream when a client opens certain
pieces of it data, to return data as flat text, a vcard, or other

Change-Id: I58627ea4ed359aa7cf2c66274adb18306c209cb2
bef9c7a59dc020c5cdcbd555b5212ae5a10e8045 17-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Preventing cursor leaks when a query is interrupted

Re-ran runtest cts-os

Change-Id: I518a2a4f842b01d082078e16643aa377a4575237
4aaf8ec9dfb9a9e0f3d84e8ee95d7ac2ebca8d92 03-Jun-2010 Romain Guy <romainguy@google.com> Do not invoke onProgressUpdate if the task is canceled.
Bug #2734382

Change-Id: I8d507ae72af2f6dfe66598fb9090872520111a6b
7f4b6842ce2388b8e60cd31bdc3273f80472f632 28-Apr-2010 Gilles Debunne <debunne@google.com> Changed steps names in documentation.

Change-Id: I0541709a719e35575bb2c42e6f2ea457d21c545b
202f560f85446008808e443ad28e438622bca49f 28-Dec-2009 Owen Lin <owenlin@google.com> Fix a typo.

Change-Id: Idbe649678a7321a6bd9511218788bc4dfb3cbdb4
4b057801d5a5a859c2f9a68230744a6b0939ae01 05-Oct-2009 Romain Guy <romainguy@android.com> Make sure AsyncTask sens a null result to onPostExecute() when cancelled.

This is in accordance to the documentation. This bug was approved by hackbod.
The change is safe and is a single line of code.

Change-Id: I9b771df3ae2aa4f496d15e6c43b677f3245539ac
a9be47cea45c19f2869732252e9922bf88fa4d86 26-Jun-2009 Romain Guy <romainguy@android.com> Tweak the core and maximum pool sizes for AsyncTask.

This change allows up to 5 AsyncTasks to run concurrently. Before, only 1 task
could run at a time, which was too limited. This change also bumps up the maximum
number of tasks that can be created; this large number is not an issue because
tasks are queued up and run only 5 at a time.
6a1ae64f7735a3817713a223096bf8034f78a620 03-May-2009 Romain Guy <romainguy@android.com> Fix another HTML formatting in android.os.AsyncTask
b97aec64be8a3f8c37b1735c981167b958d39403 03-May-2009 Romain Guy <romainguy@android.com> Fix HTML formatting in android.os.AsyncTask
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589