summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2019-01-04 19:57:15 +0100
committerTobrun <tobrun@mapbox.com>2019-01-10 19:04:49 +0100
commit847c293a3e8eb5d16843a5b9daead2680e557e3a (patch)
treeaa89d81d04b10a2b7008c74827951dd319a345cc /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
parent371d2e524fb72dafbde5651e916d6b3beb8aa6d8 (diff)
downloadqtlocation-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.java9
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;
}