package me.ccrama.redditslide.util; import android.content.Context; import com.nostra13.universalimageloader.cache.disc.DiskCache; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache; import com.nostra13.universalimageloader.cache.disc.impl.ext.LruDiskCache; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.nostra13.universalimageloader.utils.IoUtils; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; import me.ccrama.redditslide.ImageLoaderUtils; /** * Created by carlo_000 on 5/5/2016. */ public class GifCache { public static long discCacheSize = 100000000L; //100mb public static DiskCache discCache; public static void init(Context c) { File dir = ImageLoaderUtils.getCacheDirectoryGif(c); try { dir.mkdir(); discCache = new LruDiskCache(dir, new Md5FileNameGenerator(), discCacheSize); ((LruDiskCache) discCache).setBufferSize(5 * 1024); } catch (IOException e) { e.printStackTrace(); discCache = new UnlimitedDiskCache(dir); } } public static File getGif(URL url) { return discCache.get(url.toString()); } public static void writeGif(String url, InputStream stream, IoUtils.CopyListener listener) { try { LogUtil.v(discCache.save(url, stream, listener) + "DONE "); } catch (Exception e) { e.printStackTrace(); } finally { IoUtils.closeSilently(stream); } } public static boolean fileExists(URL url) { return discCache.get(url.toString()) != null; } }