summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2019-01-16 16:22:01 +0100
committertobrun <tobrun.van.nuland@gmail.com>2019-01-16 16:22:01 +0100
commit45240eee52eb7eed443b8facad3b57d5d12c4743 (patch)
treeb9a25d9a12a96415ecf1ea7cd9fe3d37c35f0fe4
parent49ab62968a9720f255687651ae6fa21504903fbe (diff)
downloadqtlocation-mapboxgl-upstream/tvn-leak-compassview.tar.gz
[android] - avoid leaking compassView context through animatorupstream/tvn-leak-compassview
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java5
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java2
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();
}