From 735acc520a6a66cdcd70f8036a018265d8a069a9 Mon Sep 17 00:00:00 2001
From: Emux <devemux86@gmail.com>
Date: Mon, 13 Feb 2017 10:14:53 +0200
Subject: [PATCH] Android MapView: add onDestroy method

---
 .../src/org/oscim/android/test/MapActivity.java   | 15 +++++++++++----
 vtm-android/src/org/oscim/android/MapView.java    |  6 +++---
 vtm-app/src/org/oscim/app/MapActivity.java        | 11 ++++++-----
 3 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/vtm-android-example/src/org/oscim/android/test/MapActivity.java b/vtm-android-example/src/org/oscim/android/test/MapActivity.java
index 6e12cd7b..ad4294b1 100644
--- a/vtm-android-example/src/org/oscim/android/test/MapActivity.java
+++ b/vtm-android-example/src/org/oscim/android/test/MapActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 devemux86
+ * Copyright 2016-2017 devemux86
  *
  * This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
  *
@@ -61,9 +61,16 @@ public class MapActivity extends Activity {
 
     @Override
     protected void onPause() {
-        super.onPause();
-
-        mMapView.onPause();
         mPrefs.save(mMapView.map());
+        mMapView.onPause();
+
+        super.onPause();
+    }
+
+    @Override
+    protected void onDestroy() {
+        mMapView.onDestroy();
+
+        super.onDestroy();
     }
 }
diff --git a/vtm-android/src/org/oscim/android/MapView.java b/vtm-android/src/org/oscim/android/MapView.java
index d65c3d93..23df5df2 100644
--- a/vtm-android/src/org/oscim/android/MapView.java
+++ b/vtm-android/src/org/oscim/android/MapView.java
@@ -1,6 +1,6 @@
 /*
  * Copyright 2012 Hannes Janetzek
- * Copyright 2016 devemux86
+ * Copyright 2016-2017 devemux86
  *
  * This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
  *
@@ -104,8 +104,8 @@ public class MapView extends GLSurfaceView {
         mMotionEvent = new AndroidMotionEvent();
     }
 
-    public void onStop() {
-
+    public void onDestroy() {
+        mMap.destroy();
     }
 
     public void onPause() {
diff --git a/vtm-app/src/org/oscim/app/MapActivity.java b/vtm-app/src/org/oscim/app/MapActivity.java
index 4ac879b2..b9217bb6 100644
--- a/vtm-app/src/org/oscim/app/MapActivity.java
+++ b/vtm-app/src/org/oscim/app/MapActivity.java
@@ -1,6 +1,7 @@
 /*
  * Copyright 2010, 2011, 2012 mapsforge.org
  * Copyright 2013 Hannes Janetzek
+ * Copyright 2017 devemux86
  *
  * This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
  *
@@ -60,14 +61,12 @@ public abstract class MapActivity extends Activity {
 
     @Override
     protected void onDestroy() {
+        mMapView.onDestroy();
         super.onDestroy();
-        mMap.destroy();
     }
 
     @Override
     protected void onPause() {
-        super.onPause();
-
         Editor editor = getSharedPreferences(PREFERENCES_FILE, MODE_PRIVATE).edit();
         editor.clear();
 
@@ -82,7 +81,9 @@ public abstract class MapActivity extends Activity {
         editor.putInt(KEY_LONGITUDE, geoPoint.longitudeE6);
         editor.putFloat(KEY_MAP_SCALE, (float) mapPosition.scale);
 
-        editor.commit();
+        editor.apply();
+
+        super.onPause();
     }
 
     @Override
@@ -93,8 +94,8 @@ public abstract class MapActivity extends Activity {
 
     @Override
     protected void onStop() {
-        super.onStop();
         mMapView.onPause();
+        super.onStop();
     }
 
     /**