@Override
        public void onLocationChanged(final Location location) {
            if (StringUtils.equals(location.getProvider(), LocationManager.GPS_PROVIDER)) {
                latestGPSLocation.set(location);
                assign(latestGPSLocation.get());
            } else {
                assign(GeoData.determineBestLocation(latestGPSLocation.get(), location));
            }
        }
Provides access to Location Data (GNSS) via Android's Location Manager (Context.LOCATION_SERVICE)
main/src/main/java/cgeo/geocaching/sensors/GeoDataProvider.java