From 77f3a537fe43c9a563ba423925b5ef87246955eb Mon Sep 17 00:00:00 2001 From: Ivo van Dongen Date: Tue, 19 Sep 2017 16:41:51 +0300 Subject: [android] fix map in dialog activity --- .../activity/maplayout/MapInDialogActivity.java | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapInDialogActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapInDialogActivity.java index 495360a168..f0827c65cc 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapInDialogActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapInDialogActivity.java @@ -1,6 +1,8 @@ package com.mapbox.mapboxsdk.testapp.activity.maplayout; +import android.app.Dialog; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentManager; @@ -65,6 +67,22 @@ public class MapInDialogActivity extends AppCompatActivity { mapView.onCreate(savedInstanceState); } + @NonNull + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + return new Dialog(getActivity(), getTheme()) { + boolean destroyed = false; + @Override + public void dismiss() { + if (mapView != null && !destroyed) { + mapView.onDestroy(); + destroyed = true; + } + super.dismiss(); + } + }; + } + @Override public void onStart() { super.onStart(); @@ -89,12 +107,6 @@ public class MapInDialogActivity extends AppCompatActivity { mapView.onStop(); } - @Override - public void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - @Override public void onLowMemory() { super.onLowMemory(); -- cgit v1.2.1