Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 402471f3 authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Remove predraw listener when ClockSizeTransition is paused

Bug: 332979277
Test: Manually checked perfetto
Flag: ACONFIG com.android.systemui.migrate_clocks_to_blueprint STAGING
Change-Id: I9feb2f484d94f27bf17769c7f0b23647058b7045
parent 0d98199a
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -169,10 +169,7 @@ class ClockSizeTransition(
                    return@OnPreDrawListener true
                }

                anim.duration = duration
                anim.startDelay = startDelay
                anim.interpolator = interpolator
                anim.addListener(
                val listener =
                    object : AnimatorListenerAdapter() {
                        override fun onAnimationStart(anim: Animator) {
                            assignAnimValues("start", 0f, fromVis)
@@ -183,8 +180,21 @@ class ClockSizeTransition(
                            if (sendToBack) toView.translationZ = 0f
                            toView.viewTreeObserver.removeOnPreDrawListener(predrawCallback)
                        }

                        override fun onAnimationPause(anim: Animator) {
                            toView.viewTreeObserver.removeOnPreDrawListener(predrawCallback)
                        }
                )

                        override fun onAnimationResume(anim: Animator) {
                            toView.viewTreeObserver.addOnPreDrawListener(predrawCallback)
                        }
                    }

                anim.duration = duration
                anim.startDelay = startDelay
                anim.interpolator = interpolator
                anim.addListener(listener)
                anim.addPauseListener(listener)

                assignAnimValues("init", 0f, fromVis)
                toView.viewTreeObserver.addOnPreDrawListener(predrawCallback)