summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2016-04-25 14:39:24 -0500
committerBrad Leege <bleege@gmail.com>2016-04-25 14:39:24 -0500
commitd20174270b2010c4842d20ad36cae48774d33272 (patch)
tree39e21a281dfe876375a58d326541908b0659348c
parentc4089b60bc630ee78c6755ebd7702943a30dd07d (diff)
downloadqtlocation-mapboxgl-d20174270b2010c4842d20ad36cae48774d33272.tar.gz
[android] #4829 - Use CopyOnWriteArrayList for non blocking iterations
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationServices.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationServices.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationServices.java
index 95278ed508..e64b6378e2 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationServices.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationServices.java
@@ -9,13 +9,10 @@ import android.location.LocationManager;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.util.Log;
-
import com.mapbox.mapboxsdk.telemetry.TelemetryLocationReceiver;
import com.mapzen.android.lost.api.LocationRequest;
import com.mapzen.android.lost.api.LostApiClient;
-
-import java.util.ArrayList;
-import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
/**
* Manages locational updates. Contains methods to register and unregister location listeners.
@@ -30,7 +27,7 @@ public class LocationServices implements com.mapzen.android.lost.api.LocationLis
private LostApiClient locationClient;
private Location lastLocation;
- private List<LocationListener> locationListeners;
+ private CopyOnWriteArrayList<LocationListener> locationListeners;
private boolean isGPSEnabled;
@@ -42,7 +39,7 @@ public class LocationServices implements com.mapzen.android.lost.api.LocationLis
this.context = context;
// Setup location services
locationClient = new LostApiClient.Builder(context).build();
- locationListeners = new ArrayList<>();
+ locationListeners = new CopyOnWriteArrayList<>();
}
/**