diff options
Diffstat (limited to 'library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java')
-rw-r--r-- | library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java b/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java index c5767869..cc59abc1 100644 --- a/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java +++ b/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java @@ -19,6 +19,7 @@ import java.util.Set; */ public class LruBitmapPool implements BitmapPool { private static final String TAG = "LruBitmapPool"; + private static final Bitmap.Config DEFAULT_CONFIG = Bitmap.Config.ARGB_8888; private final LruPoolStrategy strategy; private final int initialMaxSize; @@ -101,7 +102,9 @@ public class LruBitmapPool implements BitmapPool { @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1) @Override public synchronized Bitmap getDirty(int width, int height, Bitmap.Config config) { - final Bitmap result = strategy.get(width, height, config); + // Config will be null for non public config types, which can lead to transformations naively passing in + // null as the requested config here. See issue #194. + final Bitmap result = strategy.get(width, height, config != null ? config : DEFAULT_CONFIG); if (result == null) { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "Missing bitmap=" + strategy.logBitmap(width, height, config)); |