Fixed path animation measurement
diff --git a/lotte/src/main/java/com/airbnb/lotte/animation/LotteAnimatablePointValue.java b/lotte/src/main/java/com/airbnb/lotte/animation/LotteAnimatablePointValue.java
index d602ae8..01080fd 100644
--- a/lotte/src/main/java/com/airbnb/lotte/animation/LotteAnimatablePointValue.java
+++ b/lotte/src/main/java/com/airbnb/lotte/animation/LotteAnimatablePointValue.java
@@ -100,7 +100,7 @@
for (int i = 0; i < keyframes.length(); i++) {
JSONObject keyframe = keyframes.getJSONObject(i);
long frame = keyframe.getLong("t");
- float timePercentage = (float) (frame - startFrame) / (float) frameRate;
+ float timePercentage = (float) (frame - startFrame) / (float) durationFrames;
if (outPoint != null) {
PointF vertex = outPoint;
diff --git a/lotte/src/main/java/com/airbnb/lotte/utils/LottePathKeyframeAnimation.java b/lotte/src/main/java/com/airbnb/lotte/utils/LottePathKeyframeAnimation.java
index 7f37815..10ea798 100644
--- a/lotte/src/main/java/com/airbnb/lotte/utils/LottePathKeyframeAnimation.java
+++ b/lotte/src/main/java/com/airbnb/lotte/utils/LottePathKeyframeAnimation.java
@@ -32,21 +32,7 @@
return point;
}
- int keyframeIndex = getKeyframeIndex();
-
- float startKeytime = keyTimes.get(keyframeIndex);
- float endKeytime = keyTimes.get(keyframeIndex + 1);
-
-
- float percentageIntoFrame = 0;
- if (!isDiscrete) {
- percentageIntoFrame = (progress - startKeytime) / (endKeytime - startKeytime);
- if (interpolators != null) {
- percentageIntoFrame = interpolators.get(keyframeIndex).getInterpolation(percentageIntoFrame);
- }
- }
-
- pathMeasure.getPosTan(startKeytime + percentageIntoFrame * (endKeytime - startKeytime) * pathMeasure.getLength(), pos, null);
+ pathMeasure.getPosTan(progress * pathMeasure.getLength(), pos, null);
point.set(pos[0], pos[1]);
return point;
}