Go to file
Andy Stadler 29d79adf4b 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 AsyncTasks (with simpler configurations):
1.  Check for isCancelled() at the end of doInBackground() and if true,
    close the just-opened cursor and return null.

See also Change-Id: Ie63a3197af563baa8bb0fe6f1ef9423e281cbf4c
Bug: 3088870

Change-Id: I51b11bb5b23f209f8b61962500a063040484fd24
2011-01-06 13:35:57 -08:00
assets Remove empty.html, which isn't used any more. 2010-12-22 11:59:31 -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 "Pixel perfect: mailbox list" 2011-01-05 17:40:51 -08:00
src Fix cursor leaks when canceling AsyncTask 2011-01-06 13:35:57 -08:00
tests Harden MailService against half-created accounts 2011-01-06 12:53:40 -08: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 am b95db75b: am b38a043e: Fix proguard flag file dependency. 2010-09-30 11:28:00 -07:00
AndroidManifest.xml Pixel perfect Email widget 2010-12-20 11:55:01 -08: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 Implement screen transition animation. 2010-11-23 10:17:54 -08:00
remove-exchange-support.sh Remove exchange readme and update script 2010-02-04 13:09:34 -08:00