Skip to content

Instantly share code, notes, and snippets.

@ngengesenior
Created June 12, 2024 19:12
Show Gist options
  • Save ngengesenior/b8e2dd980eaead4df99c69ff05b4289b to your computer and use it in GitHub Desktop.
Save ngengesenior/b8e2dd980eaead4df99c69ff05b4289b 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