From 229edbc38dedbd58fb058da47fc3108276e61de4 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Sun, 9 Oct 2011 16:01:40 -0700 Subject: [PATCH] Calling close() outside of the main thread breaks stuff. Too dangerous to fix at this point. Change-Id: I7de5bfecd757fbae635b02c2c2d9ba7ce3bcb435 --- core/java/android/content/CursorLoader.java | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/core/java/android/content/CursorLoader.java b/core/java/android/content/CursorLoader.java index 50919d52d82d1..7af535b424bc6 100644 --- a/core/java/android/content/CursorLoader.java +++ b/core/java/android/content/CursorLoader.java @@ -50,19 +50,6 @@ public class CursorLoader extends AsyncTaskLoader { Cursor mCursor; - final static class CloseTask extends AsyncTask { - @Override - protected Void doInBackground(Cursor... params) { - params[0].close(); - return null; - } - } - - static void closeAsync(Cursor cursor) { - CloseTask closeTask = new CloseTask(); - closeTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, cursor); - } - /* Runs on a worker thread */ @Override public Cursor loadInBackground() { @@ -90,7 +77,7 @@ public class CursorLoader extends AsyncTaskLoader { if (isReset()) { // An async query came in while the loader is stopped if (cursor != null) { - closeAsync(cursor); + cursor.close(); } return; } @@ -102,7 +89,7 @@ public class CursorLoader extends AsyncTaskLoader { } if (oldCursor != null && oldCursor != cursor && !oldCursor.isClosed()) { - closeAsync(oldCursor); + oldCursor.close(); } } @@ -162,7 +149,7 @@ public class CursorLoader extends AsyncTaskLoader { @Override public void onCanceled(Cursor cursor) { if (cursor != null && !cursor.isClosed()) { - closeAsync(cursor); + cursor.close(); } } @@ -174,7 +161,7 @@ public class CursorLoader extends AsyncTaskLoader { onStopLoading(); if (mCursor != null && !mCursor.isClosed()) { - closeAsync(mCursor); + mCursor.close(); } mCursor = null; }