diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-01-04 19:57:15 +0100 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2019-01-10 19:04:49 +0100 |
commit | 847c293a3e8eb5d16843a5b9daead2680e557e3a (patch) | |
tree | aa89d81d04b10a2b7008c74827951dd319a345cc /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java | |
parent | 371d2e524fb72dafbde5651e916d6b3beb8aa6d8 (diff) | |
download | qtlocation-mapboxgl-847c293a3e8eb5d16843a5b9daead2680e557e3a.tar.gz |
[android] - avoid leaking dialog when context is being stopped
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java index 8e436954c8..15ddfe644e 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java @@ -45,6 +45,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt @NonNull private final MapboxMap mapboxMap; private Set<Attribution> attributionSet; + private AlertDialog dialog; public AttributionDialogManager(@NonNull Context context, @NonNull MapboxMap mapboxMap) { this.context = context; @@ -72,7 +73,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(R.string.mapbox_attributionsDialogTitle); builder.setAdapter(new ArrayAdapter<>(context, R.layout.mapbox_attribution_list_item, attributionTitles), this); - builder.show(); + dialog = builder.show(); } private String[] getAttributionTitles() { @@ -93,6 +94,12 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt } } + public void onStop() { + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + } + } + private boolean isLatestEntry(int attributionKeyIndex) { return attributionKeyIndex == getAttributionTitles().length - 1; } |