package com.example.administrator.cookman.utils;
import android.content.Context;
import android.support.annotation.Nullable;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.example.administrator.cookman.CookManApplication;
import com.example.administrator.cookman.R;
import java.io.File;
/**
* Created by PeOS on 2016/9/1 0001.
*/
public class GlideUtil {
ImageView imageView;
private DiskCacheStrategy diskCache = DiskCacheStrategy.ALL;//磁盘缓存
private boolean isSkipMemoryCache = false;//禁止内存缓存
public GlideUtil attach(ImageView imageView) {
this.imageView = imageView;
return this;
}
public GlideUtil injectImage(String url) {
Glide.with(imageView.getContext())
.load(url)
.centerCrop()
.diskCacheStrategy(diskCache)
.skipMemoryCache(isSkipMemoryCache)
.placeholder(R.mipmap.ic_icon_loading)
.crossFade()
.into(imageView);
return this;
}
public GlideUtil injectImageWithNull(String url) {
Glide.with(imageView.getContext())
.load(url)
.centerCrop()
.diskCacheStrategy(diskCache)
.skipMemoryCache(isSkipMemoryCache)
.placeholder(null)
.crossFade()
.into(imageView);
return this;
}
public GlideUtil injectImageWithoutCache(String url) {
Glide.with(imageView.getContext())
.load(url)
.centerCrop()
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(isSkipMemoryCache)
.placeholder(R.mipmap.ic_icon_loading)
.crossFade()
.into(imageView);
return this;
}
public GlideUtil injectTarget(String url, Target target, Context context, @Nullable RequestListener
requestListener) {
Glide.with(context)
.load(url)
.asBitmap()
.diskCacheStrategy(diskCache)
.listener(requestListener)
.into(target);
return this;
}
public GlideUtil clearImage() {
Glide.clear(imageView);
imageView.setImageResource(R.mipmap.ic_icon_loading);
return this;
}
public GlideUtil clearImage(int res) {
Glide.clear(imageView);
imageView.setImageResource(res);
return this;
}
public void downloadImage(String url, Target target) {
Glide.with(CookManApplication.getContext())
.load(url)
.asBitmap()
.diskCacheStrategy(diskCache)
.into(target);
}
// public static String getGlideCrashSize(){
// try {
// return FileUtil.getFormatSize(
// FileUtil.getFolderSize(
// new File(Glide.getPhotoCacheDir(YtSmartApplication.getContext()).getPath())
// )
// );
// } catch (Exception e) {
// e.printStackTrace();
// }
// return "";
// }
}