Commit c3cdd850 by Maurits van Beusekom

Make sure to return permission state over service state

parent 0ea46a6b
...@@ -18,19 +18,20 @@ class LocationPermissionStrategy : NSObject, PermissionStrategy, CLLocationManag ...@@ -18,19 +18,20 @@ class LocationPermissionStrategy : NSObject, PermissionStrategy, CLLocationManag
} }
private static func getPermissionStatus(permission: PermissionGroup) -> PermissionStatus { private static func getPermissionStatus(permission: PermissionGroup) -> PermissionStatus {
if !CLLocationManager.locationServicesEnabled() { let authorizationStatus: CLAuthorizationStatus = CLLocationManager.authorizationStatus()
let permissionStatus: PermissionStatus = LocationPermissionStrategy.determinePermissionStatus(
permission: permission,
authorizationStatus: authorizationStatus)
if permissionStatus == PermissionStatus.granted && !CLLocationManager.locationServicesEnabled() {
return PermissionStatus.disabled return PermissionStatus.disabled
} }
let status: CLAuthorizationStatus = CLLocationManager.authorizationStatus() return permissionStatus
return LocationPermissionStrategy.determinePermissionStatus(
permission: permission,
authorizationStatus: status)
} }
func requestPermission(permission: PermissionGroup, completionHandler: @escaping PermissionStatusHandler) { func requestPermission(permission: PermissionGroup, completionHandler: @escaping PermissionStatusHandler) {
let permissionStatus = checkPermissionStatus(permission: permission) let permissionStatus = LocationPermissionStrategy.getPermissionStatus(permission: permission)
if CLLocationManager.authorizationStatus() == CLAuthorizationStatus.authorizedWhenInUse && permission == PermissionGroup.locationAlways { if CLLocationManager.authorizationStatus() == CLAuthorizationStatus.authorizedWhenInUse && permission == PermissionGroup.locationAlways {
// don't do anything and continue requesting permissions // don't do anything and continue requesting permissions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment