summaryrefslogtreecommitdiff
path: root/core/jni/android
diff options
context:
space:
mode:
authorLeon Scroggins III <scroggo@google.com>2020-01-15 05:41:06 -0500
committerLeon Scroggins III <scroggo@google.com>2020-01-16 12:17:56 -0500
commit1ade46d272f1279ce3d3dbe4867b7229ec170aff (patch)
tree1f0fd492d4bf374fe4891a30ce58420995122f2f /core/jni/android
parent4c0487a163ab3a51e26e730587967fdb79f69845 (diff)
Replace setAlphaFlags with setUnpremultipliedRequired
Bug: 135133301 Test: I48e49ee08ab1954eddf62ecae87942aeb128c10d As described in I3381582e27894e1072db9b8635f3762b801f5d69, this is a more sensible API. In addition, remove unused methods on ImageDecoder. Lastly, update AImageDecoder methods in the map to document which API level they were introduced in. Change-Id: I1aff544e8d6932b9ed0931a00da66a0aba6cd536
Diffstat (limited to 'core/jni/android')
-rw-r--r--core/jni/android/graphics/ImageDecoder.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/jni/android/graphics/ImageDecoder.cpp b/core/jni/android/graphics/ImageDecoder.cpp
index a9002867ae10..e17e057d75c7 100644
--- a/core/jni/android/graphics/ImageDecoder.cpp
+++ b/core/jni/android/graphics/ImageDecoder.cpp
@@ -241,7 +241,7 @@ static jobject ImageDecoder_nDecodeBitmap(JNIEnv* env, jobject /*clazz*/, jlong
doThrowISE(env, "Could not scale to target size!");
return nullptr;
}
- if (requireUnpremul && !decoder->setOutAlphaType(kUnpremul_SkAlphaType)) {
+ if (requireUnpremul && !decoder->setUnpremultipliedRequired(true)) {
doThrowISE(env, "Cannot scale unpremultiplied pixels!");
return nullptr;
}
@@ -301,11 +301,15 @@ static jobject ImageDecoder_nDecodeBitmap(JNIEnv* env, jobject /*clazz*/, jlong
}
}
- SkBitmap bm;
SkImageInfo bitmapInfo = decoder->getOutputInfo();
+ if (decoder->opaque()) {
+ bitmapInfo = bitmapInfo.makeAlphaType(kOpaque_SkAlphaType);
+ }
if (asAlphaMask && colorType == kGray_8_SkColorType) {
bitmapInfo = bitmapInfo.makeColorType(kAlpha_8_SkColorType);
}
+
+ SkBitmap bm;
if (!bm.setInfo(bitmapInfo)) {
doThrowIOE(env, "Failed to setInfo properly");
return nullptr;