From 1f61f310e1e0f893ff682338fdeee4070e0b3e00 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 18 Jun 2013 14:38:42 +0000 Subject: [PATCH] Fix crash on Android 2.3 caused by missing method Bug: 49716 Change-Id: I34d34fbefc98a943d55dc6beb6c116f0f7f5e29c GitHub: https://github.com/wikimedia/apps-android-commons/pull/16 --- .../java/org/wikimedia/commons/CommonsApplication.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java index b9492ddaf..3ed2ce612 100644 --- a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java +++ b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java @@ -121,9 +121,16 @@ public class CommonsApplication extends Application { private LruCache imageCache = new LruCache((int) (Runtime.getRuntime().maxMemory() / (1024 * 8))) { @Override protected int sizeOf(String key, Bitmap bitmap) { + // bitmap.getByteCount() not available on older androids + int bitmapSize; + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR1) { + bitmapSize = bitmap.getRowBytes() * bitmap.getHeight(); + } else { + bitmapSize = bitmap.getByteCount(); + } // The cache size will be measured in kilobytes rather than // number of items. - return bitmap.getByteCount() / 1024; + return bitmapSize / 1024; } };