package com.lzx.demo.imageloader;
import android.content.Context;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
/**
* Created by Lzx on 2016/12/8.
*
* using {@link Glide} to load image
* 参考:https://github.com/CameloeAnthony/Ant
*/
public class GlideImageLoaderStrategy implements BaseImageLoaderStrategy {
@Override
public void loadImage(Context context, ImageLoader imageLoader) {
//if currently not under wifi
if(!ImageLoaderUtil.wifiFlag) {
loadNormal(context,imageLoader);
return;
}
int strategy = imageLoader.getWifiStrategy();
if (strategy == ImageLoaderUtil.LOAD_STRATEGY_ONLY_WIFI) {
int netType = ImageLoaderUtil.getNetWorkType(context);
//if wifi ,load pic
if (netType == ImageLoaderUtil.NETWORKTYPE_WIFI) {
loadNormal(context,imageLoader);
} else {
//if not wifi ,load cache
loadCache(context,imageLoader);
}
} else {
//如果不是在wifi下才加载图片
loadNormal(context,imageLoader);
}
}
/**
* load image with Glide
*/
private void loadNormal(Context context, ImageLoader imageLoader) {
Glide.with(context).load(imageLoader.getUrl()).placeholder(imageLoader.getPlaceHolder()).into(imageLoader.getImgView());
}
/**
* load cache image with Glide
*/
private void loadCache(Context context, ImageLoader imageLoader) {
//缓存策略解说:
//all:缓存源资源和转换后的资源
//none:不作任何磁盘缓存
//source:缓存源资源
//result:缓存转换后的资源
Glide.with(context).load(imageLoader.getUrl()).placeholder(imageLoader.getPlaceHolder()).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageLoader.getImgView());
}
}