Skip to content

Instantly share code, notes, and snippets.

@ngengesenior
Created June 12, 2024 19:19
Show Gist options
  • Save ngengesenior/061622914af7a5bd0e99607f2c2524b1 to your computer and use it in GitHub Desktop.
Save ngengesenior/061622914af7a5bd0e99607f2c2524b1 to your computer and use it in GitHub Desktop.
override fun locationManager(
manager: CLLocationManager,
didChangeAuthorizationStatus: CLAuthorizationStatus
) {
locationPermissionStatusCancellableContinuation?.let {
// Ensure that continuation is resumed only once
if (it.isActive) {
when (didChangeAuthorizationStatus) {
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied -> it.resume(
LocationPermissionStatus.RESTRICTED_OR_DENIED
)
kCLAuthorizationStatusAuthorizedAlways,
kCLAuthorizationStatusAuthorizedWhenInUse -> it.resume(
LocationPermissionStatus.ACCEPTED
)
kCLAuthorizationStatusNotDetermined -> it.resume(LocationPermissionStatus.NOT_DETERMINED)
}
locationPermissionStatusCancellableContinuation = null
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment