OSDN Git Service

Apollo: Add Greek translation
[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.R;\r
15 import com.andrew.apollo.utils.ApolloUtils;\r
16 import com.androidquery.AQuery;\r
17 \r
18 import static com.andrew.apollo.Constants.ALBUM_IMAGE;\r
19 import static com.andrew.apollo.Constants.ARTIST_IMAGE_ORIGINAL;\r
20 \r
21 /**\r
22  * @author Andrew Neal Returns a cached image for @TracksBrowser\r
23  */\r
24 public class GetCachedImages extends AsyncTask<String, Integer, Bitmap> {\r
25 \r
26     private final Context mContext;\r
27 \r
28     private final int choice;\r
29 \r
30     private final WeakReference<ImageView> imageViewReference;\r
31 \r
32     private final AQuery aquery;\r
33 \r
34     private final ImageView mImageView;\r
35 \r
36     private String url;\r
37 \r
38     private WeakReference<Bitmap> bitmapReference;\r
39 \r
40     private final WeakReference<Context> contextReference;\r
41 \r
42     public GetCachedImages(Context c, int opt, ImageView iv) {\r
43         contextReference = new WeakReference<Context>(c);\r
44         mContext = contextReference.get();\r
45         choice = opt;\r
46         imageViewReference = new WeakReference<ImageView>(iv);\r
47         mImageView = imageViewReference.get();\r
48 \r
49         // AQuery\r
50         aquery = new AQuery(mContext);\r
51     }\r
52 \r
53     @Override\r
54     protected Bitmap doInBackground(String... args) {\r
55         if (choice == 0)\r
56             url = ApolloUtils.getImageURL(args[0], ARTIST_IMAGE_ORIGINAL, mContext);\r
57         if (choice == 1)\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
61     }\r
62 \r
63     @Override\r
64     protected void onPostExecute(Bitmap result) {\r
65         if (imageViewReference != null && result != null) {\r
66             ApolloUtils.runnableBackground(mImageView, result);\r
67         } else {\r
68             result = aquery.getCachedImage(R.drawable.promo);\r
69             ApolloUtils.runnableBackground(mImageView, result);\r
70         }\r
71         super.onPostExecute(result);\r
72     }\r
73 }\r