diff options
| author | 2011-01-17 17:20:09 -0800 | |
|---|---|---|
| committer | 2011-01-17 17:20:09 -0800 | |
| commit | f01345e19d6ab39c368d030a7741a06d25b4d2cc (patch) | |
| tree | f394b799edb51e102f861bc97b1a29233d4766f3 | |
| parent | 3d7a9707a58bb043147f30dc81c61deeeffeeef7 (diff) | |
Don't crash with non-standard bitmap types.
Bug: 3299780
Change-Id: I435c3bedda22395db1b65dc9ff488bfea9069deb
| -rw-r--r-- | core/java/android/widget/RemoteViews.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 24165aa7f344..8f2531172c4a 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); } |