summaryrefslogtreecommitdiffstats
path: root/graphics/java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-02-01 11:22:46 -0800
committerRomain Guy <romainguy@google.com>2011-02-01 11:22:46 -0800
commitfeeea8f07c854e6b0ae2fec3aa2d239c17f32b5b (patch)
treeba25de412a0ef350357d70c1e370a6ff5a22a80a /graphics/java
parentf6a362a5f65c1470399d869f0c39caac40e561a3 (diff)
downloadframeworks_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.java20
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());