diff --git a/lottie/src/main/java/com/airbnb/lottie/LottieAnimationView.java b/lottie/src/main/java/com/airbnb/lottie/LottieAnimationView.java index d1f4cd497a..273ba7030c 100644 --- a/lottie/src/main/java/com/airbnb/lottie/LottieAnimationView.java +++ b/lottie/src/main/java/com/airbnb/lottie/LottieAnimationView.java @@ -641,6 +641,9 @@ public void setComposition(@NonNull LottieComposition composition) { ignoreUnschedule = true; boolean isNewComposition = lottieDrawable.setComposition(composition); + if (autoPlay) { + lottieDrawable.playAnimation(); + } ignoreUnschedule = false; if (getDrawable() == lottieDrawable && !isNewComposition) { // We can avoid re-setting the drawable, and invalidating the view, since the composition @@ -1080,6 +1083,7 @@ public void addValueCallback(KeyPath keyPath, T property, @MainThread public void cancelAnimation() { + autoPlay = false; userActionsTaken.add(UserActionTaken.PLAY_OPTION); lottieDrawable.cancelAnimation(); }