From 63198f6ce7b4639943ebd4c53e40a6104a914b0b Mon Sep 17 00:00:00 2001 From: Oupson Date: Thu, 4 Mar 2021 12:21:14 +0100 Subject: [PATCH] Don't write cover frame to buffer if option is ignore cover frame --- .../src/main/java/oupson/apng/decoder/ApngDecoder.kt | 5 +++++ .../java/oupson/apngcreator/activities/ViewerActivity.kt | 2 +- .../java/oupson/apngcreator/fragments/ApngDecoderFragment.kt | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apng_library/src/main/java/oupson/apng/decoder/ApngDecoder.kt b/apng_library/src/main/java/oupson/apng/decoder/ApngDecoder.kt index 8da7fc0..fb60348 100644 --- a/apng_library/src/main/java/oupson/apng/decoder/ApngDecoder.kt +++ b/apng_library/src/main/java/oupson/apng/decoder/ApngDecoder.kt @@ -430,6 +430,11 @@ class ApngDecoder { } name.contentEquals(Utils.IDAT) -> { val w = if (png == null) { + if (isApng && !config.decodeCoverFrame) { + if (BuildConfig.DEBUG) + Log.d(TAG, "Ignoring cover frame") + continue + } if (cover == null) { cover = ByteArrayOutputStream() cover.write(Utils.pngSignature) diff --git a/app-test/src/main/java/oupson/apngcreator/activities/ViewerActivity.kt b/app-test/src/main/java/oupson/apngcreator/activities/ViewerActivity.kt index 1739e19..d12bf09 100644 --- a/app-test/src/main/java/oupson/apngcreator/activities/ViewerActivity.kt +++ b/app-test/src/main/java/oupson/apngcreator/activities/ViewerActivity.kt @@ -55,7 +55,7 @@ class ViewerActivity : AppCompatActivity() { override fun onError(error: Exception) { Log.e("ViewerActivity", "Error when loading file", error) } - }) + }, ApngDecoder.Config(decodeCoverFrame = false)) } override fun onRequestPermissionsResult(requestCode: Int, diff --git a/app-test/src/main/java/oupson/apngcreator/fragments/ApngDecoderFragment.kt b/app-test/src/main/java/oupson/apngcreator/fragments/ApngDecoderFragment.kt index 67e6076..ebbb85b 100644 --- a/app-test/src/main/java/oupson/apngcreator/fragments/ApngDecoderFragment.kt +++ b/app-test/src/main/java/oupson/apngcreator/fragments/ApngDecoderFragment.kt @@ -37,7 +37,7 @@ class ApngDecoderFragment : Fragment() { this.context!!, URL("https://metagif.files.wordpress.com/2015/01/bugbuckbunny.png"), imageView, - config = ApngDecoder.Config(bitmapConfig = Bitmap.Config.RGB_565, decodeCoverFrame = false), + config = ApngDecoder.Config(bitmapConfig = Bitmap.Config.RGB_565, decodeCoverFrame = true), callback = object : ApngDecoder.Callback { override fun onSuccess(drawable: Drawable) { if (BuildConfig.DEBUG)