diff options
author | Ivo 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 |
commit | 6b0f398c77a8b36070fbdcd76b1b517d0bab5971 (patch) | |
tree | 23e5c0bc3e7a2d8ee865c3914e7527c0d3f5b310 | |
parent | 63a709df945acf4bf21d9282013ff358fe06f751 (diff) | |
download | qtlocation-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.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); } |