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.R;
\r
15 import com.andrew.apollo.utils.ApolloUtils;
\r
16 import com.androidquery.AQuery;
\r
18 import static com.andrew.apollo.Constants.ALBUM_IMAGE;
\r
19 import static com.andrew.apollo.Constants.ARTIST_IMAGE_ORIGINAL;
\r
22 * @author Andrew Neal Returns a cached image for @TracksBrowser
\r
24 public class GetCachedImages extends AsyncTask<String, Integer, Bitmap> {
\r
26 private final Context mContext;
\r
28 private final int choice;
\r
30 private final WeakReference<ImageView> imageViewReference;
\r
32 private final AQuery aquery;
\r
34 private final ImageView mImageView;
\r
38 private WeakReference<Bitmap> bitmapReference;
\r
40 private final WeakReference<Context> contextReference;
\r
42 public GetCachedImages(Context c, int opt, ImageView iv) {
\r
43 contextReference = new WeakReference<Context>(c);
\r
44 mContext = contextReference.get();
\r
46 imageViewReference = new WeakReference<ImageView>(iv);
\r
47 mImageView = imageViewReference.get();
\r
50 aquery = new AQuery(mContext);
\r
54 protected Bitmap doInBackground(String... args) {
\r
56 url = ApolloUtils.getImageURL(args[0], ARTIST_IMAGE_ORIGINAL, mContext);
\r
58 url = ApolloUtils.getImageURL(args[0], ALBUM_IMAGE, mContext);
\r
59 bitmapReference = new WeakReference<Bitmap>(aquery.getCachedImage(url, 300));
\r
60 return bitmapReference.get();
\r
64 protected void onPostExecute(Bitmap result) {
\r
65 if (imageViewReference != null && result != null) {
\r
66 ApolloUtils.runnableBackground(mImageView, result);
\r
68 result = aquery.getCachedImage(R.drawable.promo);
\r
69 ApolloUtils.runnableBackground(mImageView, result);
\r
71 super.onPostExecute(result);
\r