summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapThreadExecutor.java
diff options
context:
space:
mode:
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.java32
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;
+ }
+
+}