session-ios/Session/Utilities/UIApplication+OWS.swift

34 lines
1,018 B
Swift
Raw Permalink Normal View History

//
2019-03-30 14:24:40 +01:00
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
2018-05-25 22:51:40 +02:00
@objc public extension UIApplication {
2019-03-30 14:24:40 +01:00
public var frontmostViewControllerIgnoringAlerts: UIViewController? {
return findFrontmostViewController(ignoringAlerts: true)
}
2019-03-30 14:24:40 +01:00
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 {
2018-08-27 16:27:48 +02:00
owsFailDebug("Missing root view controller.")
return nil
}
return viewController.findFrontmostViewController(ignoringAlerts)
}
2019-03-30 14:24:40 +01:00
public func openSystemSettings() {
2019-03-30 14:22:31 +01:00
openURL(URL(string: UIApplication.openSettingsURLString)!)
2017-05-05 18:39:21 +02:00
}
}