Merge remote-tracking branch 'origin/master' into gpeal/remove-value-callback
diff --git a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/DynamicActivity.kt b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/DynamicActivity.kt
index b1dfd7c..8970d49 100644
--- a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/DynamicActivity.kt
+++ b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/DynamicActivity.kt
@@ -42,6 +42,7 @@
         jumpHeight.setOnClickListener {
             extraJumpIndex = (extraJumpIndex + 1) % EXTRA_JUMP.size
             updateButtonText()
+            setupValueCallbacks()
         }
 
         animationView.addLottieOnCompositionLoadedListener { _ ->
diff --git a/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation.java b/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation.java
index 65599ab..14218da 100644
--- a/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation.java
+++ b/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation.java
@@ -25,7 +25,7 @@
   private boolean isDiscrete = false;
 
   private final KeyframesWrapper<K> keyframesWrapper;
-  private float progress = 0f;
+  protected float progress = 0f;
   @Nullable protected LottieValueCallback<A> valueCallback;
 
   @Nullable private A cachedGetValue = null;
diff --git a/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java b/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java
index 59ea46f..704ba69 100644
--- a/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java
+++ b/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java
@@ -22,6 +22,10 @@
     this.valueCallbackValue = valueCallbackValue;
   }
 
+  @Override public void setProgress(float progress) {
+    this.progress = progress;
+  }
+
   /**
    * If this doesn't return 1, then {@link #setProgress(float)} will always clamp the progress
    * to 0.