Skip to content

Commit

Permalink
Update Permission.swift
Browse files Browse the repository at this point in the history
  • Loading branch information
swiftuiux committed Feb 6, 2023
1 parent 1c0a066 commit 920d9dc
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions Sources/d3-async-location/Permission.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ final class Permission{
private var status : CLAuthorizationStatus

/// Continuation to get permission if status is not defined
private var permissioning : CheckedContinuation<CLAuthorizationStatus, Never>?
private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?

/// Check if status is determined
private var isDetermined : Bool{ status != .notDetermined }
Expand Down Expand Up @@ -50,19 +50,19 @@ final class Permission{

/// Subscribe for event when location manager change authorization status to go on access permission flow
private func initSubscription(){
cancelable = NotificationCenter.default.publisher(for: Permission.authorizationStatus, object: nil)
let name = Permission.authorizationStatus
cancelable = NotificationCenter.default.publisher(for: name)
.sink { [weak self] value in
self?.authorizationChanged(value)
self?.statusChanged(value)
}
}

/// Determine status after the request permission
/// - Parameter manager: Location manager
private func authorizationChanged(_ value: Output) {
private func statusChanged(_ value: Output) {
if let s = value.object as? CLAuthorizationStatus{
status = s
permissioning?.resume(returning: status)
print(status, "authorizationStatus")
flow?.resume(returning: status)
}
}

Expand All @@ -84,7 +84,7 @@ final class Permission{
}

return await withCheckedContinuation{ continuation in
permissioning = continuation
flow = continuation
}
}
}
Expand Down

0 comments on commit 920d9dc

Please sign in to comment.