Use thread-safe cow lists
This commit is contained in:
parent
c474fce454
commit
463865fcfa
|
@ -11,9 +11,10 @@ import android.location.Address
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.microg.nlp.api.Constants.ACTION_GEOCODER_BACKEND
|
import org.microg.nlp.api.Constants.ACTION_GEOCODER_BACKEND
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
|
import java.util.concurrent.CopyOnWriteArrayList
|
||||||
|
|
||||||
class GeocodeFuser(private val context: Context, private val root: UnifiedLocationServiceRoot) {
|
class GeocodeFuser(private val context: Context, private val root: UnifiedLocationServiceRoot) {
|
||||||
private val backendHelpers = ArrayList<GeocodeBackendHelper>()
|
private val backendHelpers = CopyOnWriteArrayList<GeocodeBackendHelper>()
|
||||||
|
|
||||||
suspend fun reset() {
|
suspend fun reset() {
|
||||||
unbind()
|
unbind()
|
||||||
|
|
|
@ -19,10 +19,11 @@ import java.util.Comparator
|
||||||
|
|
||||||
import org.microg.nlp.api.Constants.ACTION_LOCATION_BACKEND
|
import org.microg.nlp.api.Constants.ACTION_LOCATION_BACKEND
|
||||||
import org.microg.nlp.api.Constants.LOCATION_EXTRA_OTHER_BACKENDS
|
import org.microg.nlp.api.Constants.LOCATION_EXTRA_OTHER_BACKENDS
|
||||||
|
import java.util.concurrent.CopyOnWriteArrayList
|
||||||
|
|
||||||
class LocationFuser(private val context: Context, private val root: UnifiedLocationServiceRoot) {
|
class LocationFuser(private val context: Context, private val root: UnifiedLocationServiceRoot) {
|
||||||
|
|
||||||
private val backendHelpers = ArrayList<LocationBackendHelper>()
|
private val backendHelpers = CopyOnWriteArrayList<LocationBackendHelper>()
|
||||||
private var fusing = false
|
private var fusing = false
|
||||||
private var lastLocationReportTime: Long = 0
|
private var lastLocationReportTime: Long = 0
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue