From f01345e19d6ab39c368d030a7741a06d25b4d2cc Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Mon, 17 Jan 2011 17:20:09 -0800 Subject: [PATCH] Don't crash with non-standard bitmap types. Bug: 3299780 Change-Id: I435c3bedda22395db1b65dc9ff488bfea9069deb --- core/java/android/widget/RemoteViews.java | 25 +++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 24165aa7f344c..8f2531172c4a5 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -796,18 +796,21 @@ public class RemoteViews implements Parcelable, Filter { if (this.value != null) { final Bitmap b = (Bitmap) this.value; final Bitmap.Config c = b.getConfig(); + // If we don't know, be pessimistic and assume 4 int bpp = 4; - switch (c) { - case ALPHA_8: - bpp = 1; - break; - case RGB_565: - case ARGB_4444: - bpp = 2; - break; - case ARGB_8888: - bpp = 4; - break; + if (c != null) { + switch (c) { + case ALPHA_8: + bpp = 1; + break; + case RGB_565: + case ARGB_4444: + bpp = 2; + break; + case ARGB_8888: + bpp = 4; + break; + } } counter.bitmapIncrement(b.getWidth() * b.getHeight() * bpp); }