diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2019-02-22 15:25:02 +0200 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2019-02-23 09:42:50 +0200 |
commit | fee22273be2d33049311de72ff6bf973b6b05164 (patch) | |
tree | 7767830a8d76ca39c6701d2ec58d2986601f2bb0 /platform | |
parent | 96fef8172b2e9484b0631961d36aac0f381c00bf (diff) | |
download | qtlocation-mapboxgl-fee22273be2d33049311de72ff6bf973b6b05164.tar.gz |
[android] gl surfaceview renderer - only destroy context when destroying the mapview
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java | 22 |
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); } |