package com.dingmouren.dingdingmusic.utils;
import android.app.Activity;
import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.data.DataFetcher;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.model.stream.StreamModelLoader;
import com.dingmouren.dingdingmusic.R;
import com.yancy.gallerypick.inter.ImageLoader;
import com.yancy.gallerypick.widget.GalleryImageView;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by dingmouren on 2017/1/4.
*
*/
public class MyGlideImageLoader implements ImageLoader {
private static Context mContext;
public static void displayImage(String url, ImageView img){
mContext = img.getContext();
if (NetworkUtil.isWifiConnected(mContext)) {
loadNormal(url, img);
} else {
loadCache(url, img);
}
}
private static void loadNormal(String url, ImageView img) {
Glide.with(mContext).load(url)/*.placeholder(R.mipmap.loading)*/.dontAnimate().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(img);
}
private static void loadCache(String url, ImageView img) {
Glide.with(mContext).using(new StreamModelLoader<String>() {
@Override
public DataFetcher<InputStream> getResourceFetcher(String model, int width, int height) {
return new DataFetcher<InputStream>() {
@Override
public InputStream loadData(Priority priority) throws Exception {
throw new IOException();
}
@Override
public void cleanup() {
}
@Override
public String getId() {
return model;
}
@Override
public void cancel() {
}
};
}
}).load(url).placeholder(R.mipmap.icon_header).dontAnimate().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(img);
}
/**
* 图片选择器的图片加载方法
* @param activity
* @param context
* @param path
* @param galleryImageView
* @param width
* @param height
*/
@Override
public void displayImage(Activity activity, Context context, String path, GalleryImageView galleryImageView, int width, int height) {
Glide.with(context).load(path).placeholder(android.R.drawable.ic_menu_gallery).centerCrop().into(galleryImageView);
}
@Override
public void clearMemoryCache() {
}
}