| package org.wordpress.android.util; |
| |
| import android.graphics.Bitmap; |
| import android.support.v4.util.LruCache; |
| |
| import com.android.volley.toolbox.ImageLoader.ImageCache; |
| |
| import java.util.Map; |
| |
| public class BitmapLruCache extends LruCache<String, Bitmap> implements ImageCache { |
| public BitmapLruCache(int maxSize) { |
| super(maxSize); |
| } |
| |
| public void removeSimilar(String keyLike) { |
| Map<String, Bitmap> map = snapshot(); |
| |
| for (String key : map.keySet()) { |
| if (key.contains(keyLike)) { |
| remove(key); |
| } |
| } |
| } |
| |
| @Override |
| protected int sizeOf(String key, Bitmap value) { |
| // The cache size will be measured in kilobytes rather than |
| // number of items. |
| int bytes = (value.getRowBytes() * value.getHeight()); |
| return (bytes / 1024); //value.getByteCount() introduced in HONEYCOMB_MR1 or higher. |
| } |
| |
| @Override |
| public Bitmap getBitmap(String key) { |
| return this.get(key); |
| } |
| |
| @Override |
| public void putBitmap(String key, Bitmap bitmap) { |
| this.put(key, bitmap); |
| } |
| } |