TM-SGNL-iOS/Signal/Provisioning/UserInterface/ProvisioningPermissionsViewController.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

38 lines
1.3 KiB
Swift

//
// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import SignalServiceKit
import SignalUI
class ProvisioningPermissionsViewController: ProvisioningBaseViewController {
override func loadView() {
view = UIView()
view.backgroundColor = Theme.backgroundColor
view.addSubview(primaryView)
primaryView.autoPinEdgesToSuperviewEdges()
let content = RegistrationPermissionsViewController(requestingContactsAuthorization: false, presenter: self)
addChild(content)
primaryView.addSubview(content.view)
content.view.autoPinEdgesToSuperviewMargins()
content.didMove(toParent: self)
}
func needsToAskForAnyPermissions() async -> Bool {
let settings = await UNUserNotificationCenter.current().notificationSettings()
return settings.authorizationStatus == .notDetermined
}
}
extension ProvisioningPermissionsViewController: RegistrationPermissionsPresenter {
func requestPermissions() async {
Logger.info("")
// If you request any additional permissions, make sure to add them to
// `needsToAskForAnyPermissions`.
await AppEnvironment.shared.pushRegistrationManagerRef.registerUserNotificationSettings()
provisioningController.provisioningPermissionsDidComplete(viewController: self)
}
}