diff --git a/plugin-animation/src/main/java/com/mapbox/maps/plugin/animation/animator/CameraAnimator.kt b/plugin-animation/src/main/java/com/mapbox/maps/plugin/animation/animator/CameraAnimator.kt index 939ba73b82..789e8b74e9 100644 --- a/plugin-animation/src/main/java/com/mapbox/maps/plugin/animation/animator/CameraAnimator.kt +++ b/plugin-animation/src/main/java/com/mapbox/maps/plugin/animation/animator/CameraAnimator.kt @@ -81,6 +81,21 @@ abstract class CameraAnimator ( */ final override fun start() { postOnAnimatorThread { + if (duration == 0L && startDelay == 0L) { + val tmpListeners = listeners.toList() + val tmpUpdateListeners = userUpdateListeners.toList() + tmpListeners.forEach { + it.onAnimationStart(this) + } + internalUpdateListener?.onAnimationUpdate(this) + tmpUpdateListeners.forEach { + it?.onAnimationUpdate(this) + } + tmpListeners.forEach { + it.onAnimationEnd(this) + } + return@postOnAnimatorThread + } if (registered) { canceled = false super.start() @@ -93,6 +108,10 @@ abstract class CameraAnimator ( } } + override fun getAnimatedValue(): Any { + return super.getAnimatedValue() ?: targets.last() as Any + } + /** * Add an animator listener *