session-ios/Signal/src/UIApplication+OWS.swift

34 lines
1 KiB
Swift
Raw Normal View History

//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
2018-05-25 22:51:40 +02:00
@objc public extension UIApplication {
2018-05-25 22:51:40 +02:00
@objc public var frontmostViewControllerIgnoringAlerts: UIViewController? {
return findFrontmostViewController(ignoringAlerts: true)
}
2018-05-25 22:51:40 +02:00
@objc public var frontmostViewController: UIViewController? {
return findFrontmostViewController(ignoringAlerts: false)
}
internal func findFrontmostViewController(ignoringAlerts: Bool) -> UIViewController? {
guard let window = CurrentAppContext().mainWindow else {
return nil
}
Logger.error("findFrontmostViewController: \(window)")
guard let viewController = window.rootViewController else {
owsFail("\(self.logTag) in \(#function) Missing root view controller.")
return nil
}
return viewController.findFrontmostViewController(ignoringAlerts)
}
2018-05-25 22:51:40 +02:00
@objc public func openSystemSettings() {
2017-05-05 18:39:21 +02:00
openURL(URL(string: UIApplicationOpenSettingsURLString)!)
}
}