mobile-ios/CovidSafe/OnboardingStep2ViewController.swift
2020-06-05 10:26:40 +10:00

44 lines
1.6 KiB
Swift

//
// OnboardingStep2ViewController.swift
// CovidSafe
//
// Copyright © 2020 Australian Government. All rights reserved.
//
import UIKit
import CoreBluetooth
import UserNotifications
class OnboardingStep2ViewController: UIViewController {
private var bluetoothDidUpdateStateCallback: ((CBManagerState) -> Void)?
@IBAction func onBackTapped(_ sender: UIButton) {
self.navigationController?.popViewController(animated: true)
}
@IBAction func proceedTapped(_ sender: UIButton) {
self.bluetoothDidUpdateStateCallback = BluetraceManager.shared.bluetoothDidUpdateStateCallback
BluetraceManager.shared.bluetoothDidUpdateStateCallback = centralDidUpdateStateCallback
BluetraceManager.shared.turnOn()
UserDefaults.standard.set(true, forKey: "turnedOnBluetooth")
}
func centralDidUpdateStateCallback(_ state: CBManagerState) {
DLog("state changed in permission request to \(BluetraceUtils.centralStateToString(state))")
requestPushPermissions()
}
func requestPushPermissions() {
BluetraceManager.shared.bluetoothDidUpdateStateCallback = self.bluetoothDidUpdateStateCallback
UNUserNotificationCenter.current()
.requestAuthorization(options: [.alert, .sound, .badge]) {
granted, error in
UserDefaults.standard.set(true, forKey: "allowedPermissions")
print("Permissions granted: \(granted)")
DispatchQueue.main.async {
self.performSegue(withIdentifier: "showSuccessSegue", sender: self)
}
}
}
}