summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2019-02-22 14:25:02 +0100
committerŁukasz Paczos <lukas.paczos@gmail.com>2019-02-25 15:08:58 +0100
commit6b0f398c77a8b36070fbdcd76b1b517d0bab5971 (patch)
tree23e5c0bc3e7a2d8ee865c3914e7527c0d3f5b310
parent63a709df945acf4bf21d9282013ff358fe06f751 (diff)
downloadqtlocation-mapboxgl-upstream/lp-backport-13976-kombucha.tar.gz
[android] gl surfaceview renderer - only destroy context when destroying the mapviewupstream/lp-backport-13976-kombucha
(cherry picked from commit fee22273be2d33049311de72ff6bf973b6b05164)
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java
index e757907ab8..9d9a7bd2d4 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java
@@ -25,6 +25,8 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi
@NonNull
private final GLSurfaceView glSurfaceView;
+ private boolean requestDestroy;
+
public GLSurfaceViewMapRenderer(Context context,
GLSurfaceView glSurfaceView,
String localIdeographFontFamily) {
@@ -40,7 +42,7 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
- GLSurfaceViewMapRenderer.this.onSurfaceDestroyed();
+ requestDestroy = true;
}
});
@@ -52,11 +54,29 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi
}
@Override
+ public void onPause() {
+ super.onPause();
+ }
+
+ @Override
+ public void onDestroy() {
+ if (requestDestroy) {
+ onSurfaceDestroyed();
+ }
+ super.onDestroy();
+ }
+
+ @Override
public void onStart() {
glSurfaceView.onResume();
}
@Override
+ public void onResume() {
+ super.onResume();
+ }
+
+ @Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
super.onSurfaceCreated(gl, config);
}