diff options
author | Romain Guy <romainguy@google.com> | 2011-02-01 11:22:46 -0800 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2011-02-01 11:22:46 -0800 |
commit | feeea8f07c854e6b0ae2fec3aa2d239c17f32b5b (patch) | |
tree | ba25de412a0ef350357d70c1e370a6ff5a22a80a /graphics/java | |
parent | f6a362a5f65c1470399d869f0c39caac40e561a3 (diff) | |
download | frameworks_base-feeea8f07c854e6b0ae2fec3aa2d239c17f32b5b.zip frameworks_base-feeea8f07c854e6b0ae2fec3aa2d239c17f32b5b.tar.gz frameworks_base-feeea8f07c854e6b0ae2fec3aa2d239c17f32b5b.tar.bz2 |
Assume ARGB_8888 for unknown configs.
Bug #3327175
Change-Id: If712a255ec65014cd2e007de1e4c6a1d67c19250
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/Bitmap.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java index a773007..c7ae2cf 100644 --- a/graphics/java/android/graphics/Bitmap.java +++ b/graphics/java/android/graphics/Bitmap.java @@ -464,8 +464,24 @@ public final class Bitmap implements Parcelable { Rect srcR = new Rect(x, y, x + width, y + height); RectF dstR = new RectF(0, 0, width, height); - final Config newConfig = source.getConfig() == Config.ARGB_8888 || - source.getConfig() == Config.ARGB_4444 ? Config.ARGB_8888 : Config.RGB_565; + Config newConfig = Config.ARGB_8888; + final Config config = source.getConfig(); + // GIF files generate null configs, assume ARGB_8888 + if (config != null) { + switch (config) { + case RGB_565: + newConfig = Config.RGB_565; + break; + case ALPHA_8: + newConfig = Config.ALPHA_8; + break; + case ARGB_4444: + case ARGB_8888: + default: + newConfig = Config.ARGB_8888; + break; + } + } if (m == null || m.isIdentity()) { bitmap = createBitmap(neww, newh, newConfig, source.hasAlpha()); |