OSDN Git Service

overhaul
[android-x86/packages-apps-Eleven.git] / src / com / andrew / apollo / tasks / GetCachedImages.java
1 /**\r
2  * \r
3  */\r
4 \r
5 package com.andrew.apollo.tasks;\r
6 \r
7 import java.lang.ref.WeakReference;\r
8 \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
13 \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
18 \r
19 /**\r
20  * @author Andrew Neal Returns a cached image for @TracksBrowser\r
21  */\r
22 public class GetCachedImages extends AsyncTask<String, Integer, Bitmap> implements Constants {\r
23 \r
24     private final Context mContext;\r
25 \r
26     private final int choice;\r
27 \r
28     private final WeakReference<ImageView> imageViewReference;\r
29 \r
30     private final AQuery aquery;\r
31 \r
32     private final ImageView mImageView;\r
33 \r
34     private String url;\r
35 \r
36     private WeakReference<Bitmap> bitmapReference;\r
37 \r
38     private final WeakReference<Context> contextReference;\r
39 \r
40     public GetCachedImages(Context c, int opt, ImageView iv) {\r
41         contextReference = new WeakReference<Context>(c);\r
42         mContext = contextReference.get();\r
43         choice = opt;\r
44         imageViewReference = new WeakReference<ImageView>(iv);\r
45         mImageView = imageViewReference.get();\r
46 \r
47         // AQuery\r
48         aquery = new AQuery(mContext);\r
49     }\r
50 \r
51     @Override\r
52     protected Bitmap doInBackground(String... args) {\r
53         if (choice == 0)\r
54             url = ApolloUtils.getImageURL(args[0], ARTIST_IMAGE_ORIGINAL, mContext);\r
55         if (choice == 1)\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
59     }\r
60 \r
61     @Override\r
62     protected void onPostExecute(Bitmap result) {\r
63         if (imageViewReference != null && result != null) {\r
64             ApolloUtils.runnableBackground(mImageView, result);\r
65         } else {\r
66             result = aquery.getCachedImage(R.drawable.promo);\r
67             ApolloUtils.runnableBackground(mImageView, result);\r
68         }\r
69         super.onPostExecute(result);\r
70     }\r
71 }\r