Potential fix
diff --git a/lottie/src/main/java/com/airbnb/lottie/animation/content/BaseStrokeContent.java b/lottie/src/main/java/com/airbnb/lottie/animation/content/BaseStrokeContent.java
index 2025245..f705fc9 100644
--- a/lottie/src/main/java/com/airbnb/lottie/animation/content/BaseStrokeContent.java
+++ b/lottie/src/main/java/com/airbnb/lottie/animation/content/BaseStrokeContent.java
@@ -1,7 +1,5 @@
package com.airbnb.lottie.animation.content;
-import static com.airbnb.lottie.utils.MiscUtils.clamp;
-
import android.graphics.BlurMaskFilter;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
@@ -11,11 +9,9 @@
import android.graphics.Path;
import android.graphics.PathMeasure;
import android.graphics.RectF;
-
import androidx.annotation.CallSuper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-
import com.airbnb.lottie.L;
import com.airbnb.lottie.LottieDrawable;
import com.airbnb.lottie.LottieProperty;
@@ -37,6 +33,8 @@
import java.util.ArrayList;
import java.util.List;
+import static com.airbnb.lottie.utils.MiscUtils.clamp;
+
public abstract class BaseStrokeContent
implements BaseKeyframeAnimation.AnimationListener, KeyPathElementContent, DrawingContent {
@@ -265,10 +263,7 @@
} else {
startValue = startLength / length;
}
- float endValue = Math.min((endLength - trimPathTotalLength) / length, 1);
- if (startValue == endValue && endLength != startLength) {
- endValue += 1;
- }
+ float endValue = startValue + (endLength - startLength) / length;
Utils.applyTrimPathIfNeeded(trimPathPath, startValue, endValue, 0);
canvas.drawPath(trimPathPath, paint);
} else {