Remove rounding from setMaxFrame (#2064)
Fixes #2042
Fixes #2044
diff --git a/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java b/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
index 4dfc660..27d255a 100644
--- a/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
+++ b/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
@@ -691,7 +691,7 @@
lazyCompositionTasks.add(c -> setMaxProgress(maxProgress));
return;
}
- setMaxFrame((int) MiscUtils.lerp(composition.getStartFrame(), composition.getEndFrame(), maxProgress));
+ animator.setMaxFrame(MiscUtils.lerp(composition.getStartFrame(), composition.getEndFrame(), maxProgress));
}
/**
diff --git a/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java b/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java
index 6451c1a..a890168 100644
--- a/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java
+++ b/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java
@@ -138,8 +138,8 @@
if (keepMinAndMaxFrames) {
setMinAndMaxFrames(
- (int) Math.max(this.minFrame, composition.getStartFrame()),
- (int) Math.min(this.maxFrame, composition.getEndFrame())
+ Math.max(this.minFrame, composition.getStartFrame()),
+ Math.min(this.maxFrame, composition.getEndFrame())
);
} else {
setMinAndMaxFrames((int) composition.getStartFrame(), (int) composition.getEndFrame());
diff --git a/lottie/src/test/java/com/airbnb/lottie/LottieDrawableTest.java b/lottie/src/test/java/com/airbnb/lottie/LottieDrawableTest.java
index 7d3f2e6..0132d8d 100644
--- a/lottie/src/test/java/com/airbnb/lottie/LottieDrawableTest.java
+++ b/lottie/src/test/java/com/airbnb/lottie/LottieDrawableTest.java
@@ -67,7 +67,7 @@
LottieDrawable drawable = new LottieDrawable();
drawable.setComposition(composition);
drawable.setMaxProgress(0.25f);
- assertEquals(121.99f, drawable.getMaxFrame());
+ assertEquals(121f, drawable.getMaxFrame());
}
@Test