From ce2ccf9c3fa27ee7b6693b4cb73562701c80771e Mon Sep 17 00:00:00 2001 From: Justas Medeisis Date: Mon, 13 Jun 2016 22:16:04 +0300 Subject: [PATCH] [android] #5335 - Invalidate MyLocationView during bearing indicator animation. --- .../mapbox/mapboxsdk/maps/widgets/MyLocationView.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java index 2751fe86c..49141d338 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java @@ -67,6 +67,14 @@ public class MyLocationView extends View { private ValueAnimator accuracyAnimator; private ValueAnimator directionAnimator; + private ValueAnimator.AnimatorUpdateListener invalidateSelfOnUpdateListener = + new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + invalidate(); + } + }; + private Drawable foregroundDrawable; private Drawable foregroundBearingDrawable; private Drawable backgroundDrawable; @@ -444,6 +452,7 @@ public class MyLocationView extends View { directionAnimator = ValueAnimator.ofFloat(oldDir, newDir); directionAnimator.setDuration(375); + directionAnimator.addUpdateListener(invalidateSelfOnUpdateListener); directionAnimator.start(); }