package android.source.tuangou.framework.file;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpResponse;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Environment;
import android.source.tuangou.framework.net.NetworkService;
import android.widget.ImageView;
public class ImageService
{
public class ShowCaptchaAsyncTask extends ShowImageAsyncTask
{
final ImageService this$0;
protected Drawable doInBackground(Void... avoid){
String s = url;
ImageService imageservice = ImageService.sharedInstance();
return imageservice.requestDrawable(s);
}
public ShowCaptchaAsyncTask(ImageView imageview, String s){
super(imageview, s);
this$0 = ImageService.this;
}
}
public class ShowImageAsyncTask extends AsyncTask<Void,Void,Drawable>{
private ImageView imgView;
final ImageService this$0;
protected String url;
protected Drawable doInBackground(Void... avoid)
{
ImageService imageservice = ImageService.sharedInstance();
String s = url;
return imageservice.getDrawable(s);
}
protected void onPostExecute(Drawable drawable){
}
private ShowImageAsyncTask(){
super();
this$0 = ImageService.this;
}
public ShowImageAsyncTask(ImageView imageview, String s){
super();
this$0 = ImageService.this;
imgView = imageview;
url = s;
}
}
private static final String IMAGE_FOLDER = "/Android/data/com.tuan800.android/cache/";
private static final String TUAN800_CACHE_FOLDER_V1_0 = "/Tuan800_Cache/";
private static ImageService instance;
private Map mapImages;
private NetworkService networkService;
private ImageService()
{
HashMap hashmap = new HashMap();
mapImages = hashmap;
NetworkService networkservice = NetworkService.sharedInstance();
networkService = networkservice;
}
public static void removeV1_0ImageCacheFolder()
{
StringBuilder stringbuilder = new StringBuilder();
String s = Environment.getExternalStorageDirectory().getPath();
boolean flag = FileHelper.delete(stringbuilder.append(s).append("/Tuan800_Cache/").toString());
}
public static ImageService sharedInstance()
{
if (instance == null)
{
StringBuilder stringbuilder = new StringBuilder();
String s = Environment.getExternalStorageDirectory().getPath();
String s1 = stringbuilder.append(s).append("/Android/data/com.tuan800.android/cache/").toString();
File file = new File(s1);
boolean flag;
if (!file.exists())
flag = file.mkdirs();
instance = new ImageService();
}
return instance;
}
public Drawable getDrawable(String s)
{
if (mapImages.size() > 80)
mapImages.clear();
return null;
}
public Drawable requestDrawable(String s)
{
Drawable drawable = null;
HttpResponse httpresponse;
try {
if (s == null) {
return drawable;
}
httpresponse = networkService.getResponse(s);
if (httpresponse == null) {
return drawable;
}
int i = httpresponse.getStatusLine().getStatusCode();
if (200 != i) {
return drawable;
}
Drawable drawable1 = Drawable.createFromStream(httpresponse
.getEntity().getContent(), "http");
drawable = drawable1;
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return drawable;
}
public AsyncTask updateCaptchaImageView(ImageView imageview)
{
ShowCaptchaAsyncTask showcaptchaasynctask = new ShowCaptchaAsyncTask(imageview, "http://api.tuan800.com/mobile_api/android/get_captcha");
return showcaptchaasynctask.execute();
}
public AsyncTask updateImageView(ImageView imageview, String s)
{
ShowImageAsyncTask showimageasynctask = new ShowImageAsyncTask(imageview, s);
return showimageasynctask.execute();
}
}