From 37ff73bdd79bc607b0762aeed4dce0884a28fce5 Mon Sep 17 00:00:00 2001 From: Marcos Holgado Date: Fri, 20 Dec 2019 16:35:23 +0000 Subject: [PATCH 1/3] Cancel animations on rotation --- .../app/onboarding/ui/page/WelcomePage.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt b/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt index 68b3fc03a1b3..00431eb55800 100644 --- a/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt +++ b/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt @@ -23,16 +23,20 @@ import android.view.View import android.view.WindowManager import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat +import androidx.core.view.ViewPropertyAnimatorCompat import com.duckduckgo.app.browser.R import com.duckduckgo.app.global.view.html import kotlinx.android.synthetic.main.include_dax_dialog_cta.* import kotlinx.android.synthetic.main.content_onboarding_welcome.* import kotlinx.android.synthetic.main.content_onboarding_welcome.longDescriptionContainer +import timber.log.Timber class WelcomePage : OnboardingPageFragment() { private var ctaText: String = "" + private var animator: ViewPropertyAnimatorCompat? = null + private var animator2: ViewPropertyAnimatorCompat? = null override fun layoutResource(): Int = R.layout.content_onboarding_welcome @@ -50,6 +54,13 @@ class WelcomePage : OnboardingPageFragment() { applyFullScreenFlags() } + override fun onPause() { + super.onPause() + Timber.d("MARCOS on pause") + animator?.cancel() + animator2?.cancel() + } + private fun applyFullScreenFlags() { activity?.window?.apply { clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) @@ -74,12 +85,12 @@ class WelcomePage : OnboardingPageFragment() { } private fun beginWelcomeAnimation(ctaText: String) { - ViewCompat.animate(welcomeContent as View) + animator = ViewCompat.animate(welcomeContent as View) .alpha(MIN_ALPHA) .setDuration(ANIMATION_DURATION) .setStartDelay(ANIMATION_DELAY) .withEndAction { - ViewCompat.animate(daxCtaContainer) + animator2 = ViewCompat.animate(daxCtaContainer) .alpha(MAX_ALPHA) .setDuration(ANIMATION_DURATION) .withEndAction { From c92f8b853812ceb673c89c3aaa645c59eee0887a Mon Sep 17 00:00:00 2001 From: Marcos Holgado Date: Fri, 20 Dec 2019 16:42:17 +0000 Subject: [PATCH 2/3] Refactor code --- .../app/onboarding/ui/page/WelcomePage.kt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt b/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt index 00431eb55800..1194e60d6cc3 100644 --- a/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt +++ b/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt @@ -29,14 +29,13 @@ import com.duckduckgo.app.global.view.html import kotlinx.android.synthetic.main.include_dax_dialog_cta.* import kotlinx.android.synthetic.main.content_onboarding_welcome.* import kotlinx.android.synthetic.main.content_onboarding_welcome.longDescriptionContainer -import timber.log.Timber class WelcomePage : OnboardingPageFragment() { private var ctaText: String = "" - private var animator: ViewPropertyAnimatorCompat? = null - private var animator2: ViewPropertyAnimatorCompat? = null + private var welcomeAnimation: ViewPropertyAnimatorCompat? = null + private var typingAnimation: ViewPropertyAnimatorCompat? = null override fun layoutResource(): Int = R.layout.content_onboarding_welcome @@ -56,9 +55,8 @@ class WelcomePage : OnboardingPageFragment() { override fun onPause() { super.onPause() - Timber.d("MARCOS on pause") - animator?.cancel() - animator2?.cancel() + welcomeAnimation?.cancel() + typingAnimation?.cancel() } private fun applyFullScreenFlags() { @@ -85,12 +83,12 @@ class WelcomePage : OnboardingPageFragment() { } private fun beginWelcomeAnimation(ctaText: String) { - animator = ViewCompat.animate(welcomeContent as View) + welcomeAnimation = ViewCompat.animate(welcomeContent as View) .alpha(MIN_ALPHA) .setDuration(ANIMATION_DURATION) .setStartDelay(ANIMATION_DELAY) .withEndAction { - animator2 = ViewCompat.animate(daxCtaContainer) + typingAnimation = ViewCompat.animate(daxCtaContainer) .alpha(MAX_ALPHA) .setDuration(ANIMATION_DURATION) .withEndAction { From 7fd79d31aa899d7de1a34ba1127a449ba12ac6b4 Mon Sep 17 00:00:00 2001 From: Marcos Holgado Date: Fri, 20 Dec 2019 16:44:27 +0000 Subject: [PATCH 3/3] Tidy up code --- .../java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt b/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt index 1194e60d6cc3..cf04c5a71180 100644 --- a/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt +++ b/app/src/main/java/com/duckduckgo/app/onboarding/ui/page/WelcomePage.kt @@ -53,8 +53,8 @@ class WelcomePage : OnboardingPageFragment() { applyFullScreenFlags() } - override fun onPause() { - super.onPause() + override fun onDestroy() { + super.onDestroy() welcomeAnimation?.cancel() typingAnimation?.cancel() }