diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-01-16 16:22:01 +0100 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2019-01-16 16:22:01 +0100 |
commit | 45240eee52eb7eed443b8facad3b57d5d12c4743 (patch) | |
tree | b9a25d9a12a96415ecf1ea7cd9fe3d37c35f0fe4 | |
parent | 49ab62968a9720f255687651ae6fa21504903fbe (diff) | |
download | qtlocation-mapboxgl-upstream/tvn-leak-compassview.tar.gz |
[android] - avoid leaking compassView context through animatorupstream/tvn-leak-compassview
2 files changed, 6 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index 94f38bb2c0..9d8dbce289 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -411,6 +411,11 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { mapCallback.onDestroy(); initialRenderCallback.onDestroy(); + if (compassView != null) { + // avoid leaking context through animator #13742 + compassView.resetAnimation(); + } + if (mapboxMap != null) { mapboxMap.onDestroy(); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java index 9c800c078f..6262418a29 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java @@ -68,7 +68,7 @@ public final class CompassView extends AppCompatImageView implements Runnable { this.isAnimating = isAnimating; } - private void resetAnimation() { + public void resetAnimation() { if (fadeAnimator != null) { fadeAnimator.cancel(); } |