Properly destroy background loader in onDestroy().

Change-Id: I6069262f9ebb46d01f15ca64332ce600db2f899c
diff --git a/src/com/android/launcher2/WallpaperChooser.java b/src/com/android/launcher2/WallpaperChooser.java
index 46f770f..386ae97 100644
--- a/src/com/android/launcher2/WallpaperChooser.java
+++ b/src/com/android/launcher2/WallpaperChooser.java
@@ -45,7 +45,6 @@
     private ImageView mImageView;
     private boolean mIsWallpaperSet;
 
-    private BitmapFactory.Options mOptions;
     private Bitmap mBitmap;
 
     private ArrayList<Integer> mThumbs;
@@ -104,6 +103,16 @@
         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 @@
                 drawable.setDither(true);
 
                 view.postInvalidate();
+
+                mLoader = null;
+            } else {
+               b.recycle(); 
             }
         }
     }