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
diff --git a/native/graphics/jni/imagedecoder.cpp b/native/graphics/jni/imagedecoder.cpp
index 2ef203d..e663534 100644
--- a/native/graphics/jni/imagedecoder.cpp
+++ b/native/graphics/jni/imagedecoder.cpp
@@ -241,26 +241,12 @@
}
}
-SkAlphaType toAlphaType(int androidBitmapFlags) {
- switch (androidBitmapFlags) {
- case ANDROID_BITMAP_FLAGS_ALPHA_PREMUL:
- return kPremul_SkAlphaType;
- case ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL:
- return kUnpremul_SkAlphaType;
- case ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE:
- return kOpaque_SkAlphaType;
- default:
- return kUnknown_SkAlphaType;
- }
-}
-
-int AImageDecoder_setAlphaFlags(AImageDecoder* decoder, int alphaFlag) {
- if (!decoder || alphaFlag < ANDROID_BITMAP_FLAGS_ALPHA_PREMUL
- || alphaFlag > ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL) {
+int AImageDecoder_setUnpremultipliedRequired(AImageDecoder* decoder, bool required) {
+ if (!decoder) {
return ANDROID_IMAGE_DECODER_BAD_PARAMETER;
}
- return toDecoder(decoder)->setOutAlphaType(toAlphaType(alphaFlag))
+ return toDecoder(decoder)->setUnpremultipliedRequired(required)
? ANDROID_IMAGE_DECODER_SUCCESS : ANDROID_IMAGE_DECODER_INVALID_CONVERSION;
}