From 14b41a93e20425dd377ec003d2bda9cb613a0d83 Mon Sep 17 00:00:00 2001 From: Sgn-32 <49990901+Sgn-32@users.noreply.github.com> Date: Thu, 22 Jun 2023 16:54:55 +0200 Subject: [PATCH] Fix Do not animate spoilers if system animations are disabled. Closes #13016 --- .../securesms/components/spoiler/SpoilerPaint.kt | 7 +++---- .../components/spoiler/SpoilerRendererDelegate.kt | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerPaint.kt b/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerPaint.kt index e62bab17e0..064c26876b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerPaint.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerPaint.kt @@ -11,7 +11,6 @@ import androidx.annotation.MainThread import org.signal.core.util.DimensionUnit import org.signal.core.util.dp import org.thoughtcrime.securesms.dependencies.ApplicationDependencies -import org.thoughtcrime.securesms.util.AccessibilityUtil import org.thoughtcrime.securesms.util.Util import kotlin.random.Random @@ -65,14 +64,14 @@ object SpoilerPaint { bounds.bottom + strokeWidth.toInt() ) - update(!AccessibilityUtil.areAnimationsDisabled(ApplicationDependencies.getApplication())) + update() } /** * Invoke every time before you need to use the [shader]. */ @MainThread - fun update(animationsEnabled: Boolean) { + fun update() { val now = System.currentTimeMillis() var dt = now - lastDrawTime if (dt < 48) { @@ -87,7 +86,7 @@ object SpoilerPaint { // To avoid that, we draw into a buffer, then swap the buffer into the shader when it's fully drawn. val canvas = Canvas(bufferBitmap) bufferBitmap.eraseColor(Color.TRANSPARENT) - draw(canvas, if (animationsEnabled) dt else 0) + draw(canvas, dt) val swap = shaderBitmap shaderBitmap = bufferBitmap diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerRendererDelegate.kt b/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerRendererDelegate.kt index 8f77a75f23..8a84673e56 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerRendererDelegate.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/spoiler/SpoilerRendererDelegate.kt @@ -38,7 +38,7 @@ class SpoilerRendererDelegate @JvmOverloads constructor( private val animator = TimeAnimator().apply { setTimeListener { _, _, _ -> - SpoilerPaint.update(systemAnimationsEnabled) + SpoilerPaint.update() view.invalidate() } } @@ -114,7 +114,7 @@ class SpoilerRendererDelegate @JvmOverloads constructor( hasSpoilersToRender = true } - if (hasSpoilersToRender) { + if (hasSpoilersToRender && systemAnimationsEnabled) { if (!animatorRunning) { animator.start() animatorRunning = true