Fix progress for ValueCallbackKeyframeAnimation
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 d703f5b..9e04ad3 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 { _ ->
@@ -49,9 +50,10 @@
                 Log.d(TAG, it.keysToString())
             }
         }
-        animationView.setFailureListener { /* do nothing */ }
+        animationView.setFailureListener { e ->
+            Log.e(TAG, "Failed to load composition", e)
+        }
 
-        jumpHeight.postDelayed({ setupValueCallbacks() }, 1000)
         updateButtonText()
 
     }
diff --git a/LottieSample/src/main/res/layout/activity_dynamic.xml b/LottieSample/src/main/res/layout/activity_dynamic.xml
index 5bf5cc7..778e31f 100644
--- a/LottieSample/src/main/res/layout/activity_dynamic.xml
+++ b/LottieSample/src/main/res/layout/activity_dynamic.xml
@@ -10,7 +10,7 @@
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1"
-        airbnb:lottie_fileName="AndroidWave2.json"
+        airbnb:lottie_fileName="AndroidWave.json"
         airbnb:lottie_fallbackRes="@drawable/ic_error"
         airbnb:lottie_autoPlay="true"
         airbnb:lottie_loop="true"/>
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.