Go to file
Andy Stadler d2911c3e86 DO NOT MERGE Fix cursor leaks when canceling AsyncTask
We discovered that AsyncTask.cancel() doesn't quite perform as expected;
In particular, if you call cancel() during a particularly slow background
worker, the result is discarded and onPostExecute() is never called.  If
the result is an open cursor, then we "leak" by not closing it.

For AccountFolderList, which has a multi-step doInBackground():
1.  Check for isCancelled() during the long doInBackground() which will
    reduce the number of discarded cursors in the first place.
2.  Check for isCancelled() at the end of the long doInBackground() and
    if true, close the result cursors and return null.
3.  In the existing isCancelled() code in onPostExecute(), close the
    cursors.

For other Activities (with simpler configurations):
1.  Check for isCancelled() at the end of doInBackground() and if true,
    close the just-opened cursor and return null.

Bug: 3088870
Change-Id: Ie63a3197af563baa8bb0fe6f1ef9423e281cbf4c
2011-01-04 18:17:32 -08:00
assets auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
docs auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
images auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
res Merge "Merging stat_notify in Email" into gingerbread 2010-12-03 18:26:39 -08:00
src DO NOT MERGE Fix cursor leaks when canceling AsyncTask 2011-01-04 18:17:32 -08:00
tests Use original all-day flag when upsyncing exceptions DO NOT MERGE 2010-10-13 15:05:38 -07:00
.classpath Initial Contribution 2008-10-21 07:00:00 -07:00
.project Initial Contribution 2008-10-21 07:00:00 -07:00
Android.mk Fix proguard flag file dependency. 2010-09-29 15:22:04 -07:00
AndroidManifest.xml Give email its own version# scheme. DO NOT MERGE 2010-10-12 16:39:58 -07:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:05:00 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
NOTICE auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
proguard.flags DO NOT MERGE: Tests for IMAP FETCH 2010-09-20 16:45:47 -07:00
remove-exchange-support.sh Remove exchange readme and update script 2010-02-04 13:09:34 -08:00