diff --git a/blend-library/src/main/java/com/wealthfront/blend/animator/BlendableAnimator.kt b/blend-library/src/main/java/com/wealthfront/blend/animator/BlendableAnimator.kt index e4ee593..345ca02 100644 --- a/blend-library/src/main/java/com/wealthfront/blend/animator/BlendableAnimator.kt +++ b/blend-library/src/main/java/com/wealthfront/blend/animator/BlendableAnimator.kt @@ -134,9 +134,7 @@ open class BlendableAnimator : Animator() { } }) - if (repeatCount > 0) { - cancelAnimatorOnViewsDetached() - } + cancelAnimatorOnViewsDetached() queueAnimationsIfNotAlreadyQueued() innerAnimator.start() markAnimationsAsFullyQueued() @@ -206,7 +204,10 @@ open class BlendableAnimator : Animator() { override fun getListeners(): ArrayList? = innerAnimator.listeners - override fun cancel() = innerAnimator.cancel() + override fun cancel() { + innerAnimator.cancel() + animations.clear() + } override fun removeListener(listener: AnimatorListener) = innerAnimator.removeListener(ListenerWrapper(listener, this)) diff --git a/blend-sample-app/build.gradle b/blend-sample-app/build.gradle index 7fb6e17..00d6653 100644 --- a/blend-sample-app/build.gradle +++ b/blend-sample-app/build.gradle @@ -44,6 +44,7 @@ dependencies { implementation(Libs.ktx) implementation(Libs.constraintLayout) implementation(Libs.material) + debugImplementation(Libs.leakCanary) testImplementation(project(":blend-test")) testImplementation(Libs.junit) testImplementation(Libs.truth) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index cb1fbc7..615a832 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -9,6 +9,7 @@ import Version.junitVersion import Version.kotlinVersion import Version.kotlinterVersion import Version.ktxVersion +import Version.leakCanaryVersion import Version.materialVersion import Version.mockitoVersion import Version.robolectricVersion @@ -30,6 +31,7 @@ object Libs { val ktx = "androidx.core:core-ktx:$ktxVersion" val constraintLayout = "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion" val material = "com.google.android.material:material:$materialVersion" + val leakCanary = "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion" val inject = "javax.inject:javax.inject:$javaInject" val jsr305 = "com.google.code.findbugs:jsr305:$jsrVersion" val testCore = "androidx.test:core:$testSupportVersion" @@ -56,6 +58,7 @@ object Version { val ktxVersion = "1.2.0" val constraintLayoutVersion = "1.1.3" val materialVersion = "1.1.0" + val leakCanaryVersion = "2.12" val truthVersion = "0.39" val junitVersion = "4.13.2" val robolectricVersion = "4.9.2" diff --git a/gradle.properties b/gradle.properties index 658ed25..022ec9b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,7 +21,7 @@ android.enableJetifier=true kotlin.code.style=official GROUP=com.wealthfront -VERSION_NAME=0.2.3 +VERSION_NAME=0.2.4-SNAPSHOT POM_DESCRIPTION=Animation library that gracefully handles interruptions