diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapThreadExecutor.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapThreadExecutor.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapThreadExecutor.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapThreadExecutor.java new file mode 100644 index 0000000000..24fc29224f --- /dev/null +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapThreadExecutor.java @@ -0,0 +1,32 @@ +package com.mapbox.mapboxsdk.maps; + +import android.support.annotation.MainThread; +import android.support.annotation.NonNull; +import android.support.annotation.WorkerThread; + +abstract class MapThreadExecutor implements ThreadExecutor { + + private final NativeMapView nativeMapView; + private final ThreadExecutor threadExecutor; + + MapThreadExecutor(@NonNull NativeMapView nativeMapView, @NonNull ThreadExecutor threadExecutor) { + this.nativeMapView = nativeMapView; + this.threadExecutor = threadExecutor; + } + + @MainThread + public void queueRenderEvent(final MapRunnable mapRunnable) { + threadExecutor.queueRenderEvent(mapRunnable); + } + + @WorkerThread + public void queueUiEvent(Runnable runnable) { + threadExecutor.queueUiEvent(runnable); + } + + @NonNull + NativeMapView getNativeMapView() { + return nativeMapView; + } + +} |