From 24ae7d7f85167f8d2fb1f3603dc839885cc09d54 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Fri, 9 Oct 2020 13:14:35 -0400 Subject: Implement AImageDecoder_isAnimated Bug: 160984428 Test: Ie98a7e80c2d0d6101bdf0ac3549a1fa6581aeba6 Change-Id: Iab70514cda54955368cedb472d84f89763569166 --- native/graphics/jni/imagedecoder.cpp | 7 +++++++ native/graphics/jni/libjnigraphics.map.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/native/graphics/jni/imagedecoder.cpp b/native/graphics/jni/imagedecoder.cpp index 56f390698eb2..23035b69af90 100644 --- a/native/graphics/jni/imagedecoder.cpp +++ b/native/graphics/jni/imagedecoder.cpp @@ -346,3 +346,10 @@ int AImageDecoder_decodeImage(AImageDecoder* decoder, void AImageDecoder_delete(AImageDecoder* decoder) { delete toDecoder(decoder); } + +bool AImageDecoder_isAnimated(AImageDecoder* decoder) { + if (!decoder) return false; + + ImageDecoder* imageDecoder = toDecoder(decoder); + return imageDecoder->mCodec->codec()->getFrameCount() > 1; +} diff --git a/native/graphics/jni/libjnigraphics.map.txt b/native/graphics/jni/libjnigraphics.map.txt index 01c14770bebd..af2c455e36df 100644 --- a/native/graphics/jni/libjnigraphics.map.txt +++ b/native/graphics/jni/libjnigraphics.map.txt @@ -13,6 +13,7 @@ LIBJNIGRAPHICS { AImageDecoder_setTargetSize; # introduced=30 AImageDecoder_computeSampledSize; # introduced=30 AImageDecoder_setCrop; # introduced=30 + AImageDecoder_isAnimated; # introduced=31 AImageDecoderHeaderInfo_getWidth; # introduced=30 AImageDecoderHeaderInfo_getHeight; # introduced=30 AImageDecoderHeaderInfo_getMimeType; # introduced=30 -- cgit v1.2.3-59-g8ed1b