diff --git a/library/src/main/java/com/google/maps/android/clustering/view/ClusterRendererMultipleItems.java b/library/src/main/java/com/google/maps/android/clustering/view/ClusterRendererMultipleItems.java index b59c7a5e5..b539f2c94 100644 --- a/library/src/main/java/com/google/maps/android/clustering/view/ClusterRendererMultipleItems.java +++ b/library/src/main/java/com/google/maps/android/clustering/view/ClusterRendererMultipleItems.java @@ -88,7 +88,7 @@ public class ClusterRendererMultipleItems implements Clus private final float mDensity; private boolean mAnimate; private long mAnimationDurationMs; - private final Executor mExecutor = Executors.newSingleThreadExecutor(); + private final Executor mExecutor; private final Queue ongoingAnimations = new LinkedList<>(); private static TimeInterpolator animationInterp = new DecelerateInterpolator(); @@ -171,7 +171,12 @@ public void setAnimationInterpolator(TimeInterpolator interpolator) { private ClusterManager.OnClusterItemInfoWindowLongClickListener mItemInfoWindowLongClickListener; public ClusterRendererMultipleItems(Context context, GoogleMap map, ClusterManager clusterManager) { + this(context, map, clusterManager, Executors.newSingleThreadExecutor()); + } + + public ClusterRendererMultipleItems(Context context, GoogleMap map, ClusterManager clusterManager, Executor executor) { mMap = map; + mExecutor = executor; mAnimate = true; mAnimationDurationMs = 300; mDensity = context.getResources().getDisplayMetrics().density; diff --git a/library/src/main/java/com/google/maps/android/clustering/view/DefaultAdvancedMarkersClusterRenderer.java b/library/src/main/java/com/google/maps/android/clustering/view/DefaultAdvancedMarkersClusterRenderer.java index a8fa75b3c..afc34c56c 100644 --- a/library/src/main/java/com/google/maps/android/clustering/view/DefaultAdvancedMarkersClusterRenderer.java +++ b/library/src/main/java/com/google/maps/android/clustering/view/DefaultAdvancedMarkersClusterRenderer.java @@ -82,7 +82,7 @@ public class DefaultAdvancedMarkersClusterRenderer implem private final float mDensity; private boolean mAnimate; private long mAnimationDurationMs; - private final Executor mExecutor = Executors.newSingleThreadExecutor(); + private final Executor mExecutor; private static final int[] BUCKETS = {10, 20, 50, 100, 200, 500, 1000}; private ShapeDrawable mColoredCircleBackground; @@ -133,7 +133,12 @@ public class DefaultAdvancedMarkersClusterRenderer implem private ClusterManager.OnClusterItemInfoWindowLongClickListener mItemInfoWindowLongClickListener; public DefaultAdvancedMarkersClusterRenderer(Context context, GoogleMap map, ClusterManager clusterManager) { + this(context, map, clusterManager, Executors.newSingleThreadExecutor()); + } + + public DefaultAdvancedMarkersClusterRenderer(Context context, GoogleMap map, ClusterManager clusterManager, Executor executor) { mMap = map; + mExecutor = executor; mAnimate = true; mAnimationDurationMs = 300; mDensity = context.getResources().getDisplayMetrics().density; diff --git a/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java b/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java index 24e49c494..09fb6080b 100644 --- a/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java +++ b/library/src/main/java/com/google/maps/android/clustering/view/DefaultClusterRenderer.java @@ -81,7 +81,7 @@ public class DefaultClusterRenderer implements ClusterRen private final float mDensity; private boolean mAnimate; private long mAnimationDurationMs; - private final Executor mExecutor = Executors.newSingleThreadExecutor(); + private final Executor mExecutor; private static final int[] BUCKETS = {10, 20, 50, 100, 200, 500, 1000}; private ShapeDrawable mColoredCircleBackground; @@ -132,7 +132,12 @@ public class DefaultClusterRenderer implements ClusterRen private ClusterManager.OnClusterItemInfoWindowLongClickListener mItemInfoWindowLongClickListener; public DefaultClusterRenderer(Context context, GoogleMap map, ClusterManager clusterManager) { + this(context, map, clusterManager, Executors.newSingleThreadExecutor()); + } + + public DefaultClusterRenderer(Context context, GoogleMap map, ClusterManager clusterManager, Executor executor) { mMap = map; + mExecutor = executor; mAnimate = true; mAnimationDurationMs = 300; mDensity = context.getResources().getDisplayMetrics().density;