From 365584ce5681a6f159e0486ef7fbec24c3546429 Mon Sep 17 00:00:00 2001 From: azki Date: Wed, 5 Mar 2014 10:36:08 +0900 Subject: [PATCH] fix crash bug on black rectangle. --- .../byakugallery/lib/TileBitmapDrawable.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ByakuGallery/src/com/diegocarloslima/byakugallery/lib/TileBitmapDrawable.java b/ByakuGallery/src/com/diegocarloslima/byakugallery/lib/TileBitmapDrawable.java index 5870e6f..ac19148 100644 --- a/ByakuGallery/src/com/diegocarloslima/byakugallery/lib/TileBitmapDrawable.java +++ b/ByakuGallery/src/com/diegocarloslima/byakugallery/lib/TileBitmapDrawable.java @@ -15,6 +15,7 @@ import android.graphics.BitmapFactory; import android.graphics.BitmapRegionDecoder; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.Matrix; import android.graphics.Paint; @@ -448,7 +449,14 @@ public void run() { synchronized(mDecoder) { bitmap = mDecoder.decodeRegion(tile.mTileRect, options); } - + + if (bitmap == null) { // this case is black rectangle. + bitmap = Bitmap.createBitmap(tile.mTileRect.right - tile.mTileRect.left, tile.mTileRect.bottom + - tile.mTileRect.top, Config.ARGB_8888); + Canvas c = new Canvas(bitmap); + c.drawColor(Color.BLACK); + } + synchronized(sBitmapCacheLock) { sBitmapCache.put(tile.getKey(), bitmap); }