summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2019-02-22 15:25:02 +0200
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2019-02-23 09:42:50 +0200
commitfee22273be2d33049311de72ff6bf973b6b05164 (patch)
tree7767830a8d76ca39c6701d2ec58d2986601f2bb0
parent96fef8172b2e9484b0631961d36aac0f381c00bf (diff)
downloadqtlocation-mapboxgl-fee22273be2d33049311de72ff6bf973b6b05164.tar.gz
[android] gl surfaceview renderer - only destroy context when destroying the mapview
-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);
}