BaseLocationProvider

Utility class to provide default observer subscription behaviour for LocationProvider. Clients can extend this class and invoke notifyLocationUpdate when receiving location updates.

Constructors

Link copied to clipboard

Functions

Link copied to clipboard
open override fun addLocationObserver(observer: LocationObserver)

Registers an observer in this instance of LocationProvider. One instance of LocationProvider can have more than one observer. It is expected that LocationProvider will not start until an observer is added. The observer registered will receive notifications on the same looper as the one where this method is invoked. If the looper is not available, this method can be called from any thread.

open override fun addLocationObserver(observer: LocationObserver, looper: Looper)

Registers an observer in this instance of the client. One instance of the client can have more than one observer. It is expected that the client will not start until an observer is added.

Link copied to clipboard

Gets the last known location. This call will never activate hardware to obtain a new location, and will only return a cached location. Note, that the returned location may be quite old, so the timestamp of the location should always be checked.

Link copied to clipboard
open fun notifyLocationUpdate(locations: List<Location>)

Report location update on observers

Link copied to clipboard
open override fun removeLocationObserver(observer: LocationObserver)

Removes the observer from this instance of LocationProvider. If the observer is not registered, this is no-op. It is expected that if there are no observers, the LocationProvider will stop automatically.