diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-07-19 11:06:03 +0200 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2019-07-24 12:13:03 +0200 |
commit | 347fa80dc04c7522df7edbe144403f3481f69558 (patch) | |
tree | 28d9aab9e1f94b282c6cedb762278f45f4c9f099 | |
parent | cafecd3f6fedc16e7bf5dff699960978c3b5cb3d (diff) | |
download | qtlocation-mapboxgl-347fa80dc04c7522df7edbe144403f3481f69558.tar.gz |
[android] delay render thread creation for TextureView implementation
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java index 46e6463fe8..f743290258 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java @@ -3,7 +3,7 @@ package com.mapbox.mapboxsdk.maps.renderer.textureview; import android.content.Context; import android.support.annotation.NonNull; import android.view.TextureView; - +import android.view.View; import com.mapbox.mapboxsdk.maps.renderer.MapRenderer; import javax.microedition.khronos.egl.EGLConfig; @@ -25,16 +25,28 @@ public class TextureViewMapRenderer extends MapRenderer { * @param context the current Context * @param textureView the TextureView * @param localIdeographFontFamily the local font family - * @param translucentSurface the translucency flag + * @param translucentSurface the translucency flag */ public TextureViewMapRenderer(@NonNull Context context, - @NonNull TextureView textureView, + @NonNull final TextureView textureView, String localIdeographFontFamily, boolean translucentSurface) { super(context, localIdeographFontFamily); this.translucentSurface = translucentSurface; - renderThread = new TextureViewRenderThread(textureView, this); - renderThread.start(); + textureView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { + @Override + public void onViewAttachedToWindow(View v) { + if (renderThread == null) { + renderThread = new TextureViewRenderThread(textureView, TextureViewMapRenderer.this); + renderThread.start(); + } + } + + @Override + public void onViewDetachedFromWindow(View v) { + + } + }); } /** @@ -98,7 +110,9 @@ public class TextureViewMapRenderer extends MapRenderer { */ @Override public void onStart() { - renderThread.onResume(); + if (renderThread != null) { + renderThread.onResume(); + } } /** |