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.utils.ApolloUtils;
\r
15 import com.andrew.apollo.views.ViewHolderQueue;
\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;
\r
22 * @author Andrew Neal
\r
24 public class ViewHolderQueueTask extends AsyncTask<String, Integer, Bitmap> {
\r
26 private final ViewHolderQueue mViewHolderQueue;
\r
28 private final WeakReference<ImageView> imageViewReference;
\r
30 private final Context mContext;
\r
32 private final int mPosition;
\r
34 private final int choice;
\r
36 private final int holderChoice;
\r
38 private final AQuery aquery;
\r
40 private final ImageView mImageView;
\r
44 private WeakReference<Bitmap> bitmapReference;
\r
46 private final WeakReference<Context> contextReference;
\r
48 public ViewHolderQueueTask(ViewHolderQueue vh, int position, Context c, int opt, int holderOpt,
\r
50 mViewHolderQueue = vh;
\r
51 mPosition = position;
\r
52 contextReference = new WeakReference<Context>(c);
\r
53 mContext = contextReference.get();
\r
55 holderChoice = holderOpt;
\r
56 imageViewReference = new WeakReference<ImageView>(iv);
\r
57 mImageView = imageViewReference.get();
\r
60 aquery = new AQuery(mContext);
\r
64 protected Bitmap doInBackground(String... args) {
\r
66 url = ApolloUtils.getImageURL(args[0], ARTIST_IMAGE, mContext);
\r
68 url = ApolloUtils.getImageURL(args[0], ALBUM_IMAGE, mContext);
\r
69 bitmapReference = new WeakReference<Bitmap>(aquery.getCachedImage(url));
\r
70 return bitmapReference.get();
\r
74 protected void onPostExecute(Bitmap result) {
\r
75 if (imageViewReference != null && holderChoice == 0
\r
76 && mViewHolderQueue.position == mPosition && mViewHolderQueue != null)
\r
77 aquery.id(mImageView).image(result);
\r
78 if (imageViewReference != null && holderChoice == 1
\r
79 && mViewHolderQueue.position == mPosition && mViewHolderQueue != null)
\r
80 aquery.id(mImageView).image(result);
\r
81 super.onPostExecute(result);
\r