[android] #4829 - Use CopyOnWriteArrayList for non blocking iterations

This commit is contained in:
Brad Leege
2016-04-25 14:39:24 -05:00
parent c4089b60bc
commit d20174270b

View File

@@ -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<>();
}
/**