5 package com.andrew.apollo.tasks;
\r
7 import java.lang.ref.WeakReference;
\r
9 import android.content.Context;
\r
10 import android.graphics.Bitmap;
\r
11 import android.os.AsyncTask;
\r
12 import android.widget.ImageView;
\r
14 import com.andrew.apollo.Constants;
\r
15 import com.andrew.apollo.R;
\r
16 import com.andrew.apollo.utils.ApolloUtils;
\r
17 import com.androidquery.AQuery;
\r
20 * @author Andrew Neal Returns a cached image for @TracksBrowser
\r
22 public class GetCachedImages extends AsyncTask<String, Integer, Bitmap> implements Constants {
\r
24 private final Context mContext;
\r
26 private final int choice;
\r
28 private final WeakReference<ImageView> imageViewReference;
\r
30 private final AQuery aquery;
\r
32 private final ImageView mImageView;
\r
36 private WeakReference<Bitmap> bitmapReference;
\r
38 private final WeakReference<Context> contextReference;
\r
40 public GetCachedImages(Context c, int opt, ImageView iv) {
\r
41 contextReference = new WeakReference<Context>(c);
\r
42 mContext = contextReference.get();
\r
44 imageViewReference = new WeakReference<ImageView>(iv);
\r
45 mImageView = imageViewReference.get();
\r
48 aquery = new AQuery(mContext);
\r
52 protected Bitmap doInBackground(String... args) {
\r
54 url = ApolloUtils.getImageURL(args[0], ARTIST_IMAGE_ORIGINAL, mContext);
\r
56 url = ApolloUtils.getImageURL(args[0], ALBUM_IMAGE, mContext);
\r
57 bitmapReference = new WeakReference<Bitmap>(aquery.getCachedImage(url, 300));
\r
58 return bitmapReference.get();
\r
62 protected void onPostExecute(Bitmap result) {
\r
63 if (imageViewReference != null && result != null) {
\r
64 ApolloUtils.runnableBackground(mImageView, result);
\r
66 result = aquery.getCachedImage(R.drawable.promo);
\r
67 ApolloUtils.runnableBackground(mImageView, result);
\r
69 super.onPostExecute(result);
\r