get Suitable Location Provider
fun getSuitableLocationProvider(locationManager: LocationManager, allowedProviders: EnumSet<LocationProviderName>, hasFinePermission: Boolean, hasCoarsePermission: Boolean): String?
Determines the best location provider based on the permissions and list of providers allowed.