package com.byoutline.kickmaterial.utils; import android.content.Context; import android.graphics.Bitmap; import com.squareup.picasso.LruCache; import org.apache.commons.collections.map.LRUMap; import java.util.Map; /** * @author Sebastian Kacprzak <sebastian.kacprzak at byoutline.com> */ public class LruCacheWithPlaceholders extends LruCache { private static final String KEY_SEPARATOR = "\n"; private final Map<String, String> urlToKeyMap = new LRUMap(1024); public LruCacheWithPlaceholders(Context context) { super(context); } public Bitmap getPlaceholder(String uri) { String key = urlToKeyMap.get(uri); if (key == null) { return null; } return get(key); } @Override public void set(String key, Bitmap bitmap) { super.set(key, bitmap); int newlineIndex = key.indexOf(KEY_SEPARATOR); urlToKeyMap.put(key.substring(0, newlineIndex), key); } }