LinuxPortalLocationProvider
A desktop provider that delegates to the XDG Location portal.
LocationProvider.permission and LocationProvider.requestPermission delegate to a LinuxPortalLocationPermissionRequester that shares the provider's portal.
LocationAccuracy.BestForNavigation and LocationAccuracy.High map to EXACT, LocationAccuracy.Balanced maps to STREET, LocationAccuracy.Low maps to CITY, and LocationAccuracy.Lowest maps to COUNTRY.
Unlike the other desktop backends, this provider ignores LocationRequest.minimumDistance. A portal distance threshold suppresses every update, including the first, on a host whose GeoIP position never moves.
A missing portal maps LocationProvider.backendAvailability to LocationBackendAvailability.Unsupported, and collection emits LocationUnavailableReason.Unsupported. A cancelled Request.Response maps to LocationUnavailableReason.PermissionDenied. A closed session, a stopped portal service, another non-success response, or a D-Bus transport failure maps to LocationUnavailableReason.TemporarilyUnavailable. Malformed location data and other unexpected failures map to LocationUnavailableReason.UnexpectedFailure.