From b0caac3a46407161a6b911efec6d06329faabda1 Mon Sep 17 00:00:00 2001 From: Adolfo Santiago Date: Fri, 13 May 2022 15:29:43 +0200 Subject: [PATCH] Fix animated emojis --- husky/app/build.gradle | 1 + .../java/com/keylesspalace/tusky/util/CustomEmojiHelper.kt | 4 ++++ husky/dependencies.gradle | 3 ++- husky/versions.gradle | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/husky/app/build.gradle b/husky/app/build.gradle index edcaeab..8cbd7c8 100644 --- a/husky/app/build.gradle +++ b/husky/app/build.gradle @@ -209,6 +209,7 @@ dependencies { implementation deps.glide.glideImage implementation deps.glide.glideImageViewFactory implementation deps.glide.glideOkhttp + implementation deps.glide.glidePluginAnimation // Google dependencies implementation deps.google.flexbox diff --git a/husky/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.kt b/husky/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.kt index 45e26ad..df5ccc6 100644 --- a/husky/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.kt +++ b/husky/app/src/main/java/com/keylesspalace/tusky/util/CustomEmojiHelper.kt @@ -36,6 +36,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.request.target.CustomTarget import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.transition.Transition +import com.github.penfeizhou.animation.glide.AnimationDecoderOption import com.keylesspalace.tusky.entity.Emoji import com.keylesspalace.tusky.settings.PrefKeys import java.lang.ref.WeakReference @@ -78,6 +79,9 @@ fun CharSequence.emojify( builder.setSpan(span, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) var glideRequest = Glide.with(view).load(url) + .set(AnimationDecoderOption.DISABLE_ANIMATION_GIF_DECODER, !animate) + .set(AnimationDecoderOption.DISABLE_ANIMATION_WEBP_DECODER, !animate) + .set(AnimationDecoderOption.DISABLE_ANIMATION_APNG_DECODER, !animate) val mimetype = getMimeType(url) if(mimetype == MIME.SVG) { glideRequest = glideRequest diff --git a/husky/dependencies.gradle b/husky/dependencies.gradle index 7b0c61e..d80bdf9 100644 --- a/husky/dependencies.gradle +++ b/husky/dependencies.gradle @@ -58,6 +58,7 @@ glide.glideImage = "com.github.piasy:GlideImageLoader:${versions.glideImage}" glide.glideImageViewFactory = "com.github.piasy:GlideImageViewFactory:${versions.glideImage}" glide.glideOkhttp = "com.github.bumptech.glide:okhttp3-integration:${versions.glide}" +glide.glidePluginAnimation = "com.github.penfeizhou.android.animation:glide-plugin:${versions.glidePluginAnimation}" deps.glide = glide def google = [:] @@ -135,9 +136,9 @@ deps.timber = "com.jakewharton.timber:timber:${versions.timber}" // Repository handler static def addRepos(RepositoryHandler handler) { + handler.mavenCentral() handler.google() handler.gradlePluginPortal() - handler.mavenCentral() handler.maven { url "https://jitpack.io" } handler.maven { url "https://plugins.gradle.org/m2/" } } diff --git a/husky/versions.gradle b/husky/versions.gradle index bbadcaf..307f28b 100644 --- a/husky/versions.gradle +++ b/husky/versions.gradle @@ -30,6 +30,7 @@ versions.fragmentKtx = "1.2.5" versions.fragmentviewbindingdelegateKt = "1.0.0" versions.glide = "4.13.2" versions.glideImage = "1.8.1" +versions.glidePluginAnimation = "2.21.0" versions.kotlinx = "1.6.1" versions.lifecycle = "2.3.1" versions.markdownEdit = "1.0.0"