From 4e55c778463c11d1c9bbdaa70714d4e4b5de662c Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 14 Sep 2009 15:26:18 -0700 Subject: [PATCH] Properly destroy background loader in onDestroy(). Change-Id: I6069262f9ebb46d01f15ca64332ce600db2f899c --- src/com/android/launcher2/WallpaperChooser.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher2/WallpaperChooser.java b/src/com/android/launcher2/WallpaperChooser.java index 46f770fc48..386ae970cb 100644 --- a/src/com/android/launcher2/WallpaperChooser.java +++ b/src/com/android/launcher2/WallpaperChooser.java @@ -45,7 +45,6 @@ public class WallpaperChooser extends Activity implements AdapterView.OnItemSele private ImageView mImageView; private boolean mIsWallpaperSet; - private BitmapFactory.Options mOptions; private Bitmap mBitmap; private ArrayList mThumbs; @@ -104,6 +103,16 @@ public class WallpaperChooser extends Activity implements AdapterView.OnItemSele mIsWallpaperSet = false; } + @Override + protected void onDestroy() { + super.onDestroy(); + + if (mLoader != null && mLoader.getStatus() != WallpaperLoader.Status.FINISHED) { + mLoader.cancel(true); + mLoader = null; + } + } + public void onItemSelected(AdapterView parent, View v, int position, long id) { if (mLoader != null && mLoader.getStatus() != WallpaperLoader.Status.FINISHED) { mLoader.cancel(true); @@ -199,6 +208,10 @@ public class WallpaperChooser extends Activity implements AdapterView.OnItemSele drawable.setDither(true); view.postInvalidate(); + + mLoader = null; + } else { + b.recycle(); } } }