mirror of https://github.com/oxen-io/session-ios
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
933 B
Swift
29 lines
933 B
Swift
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
|
|
|
import Foundation
|
|
import SessionUtilitiesKit
|
|
import UIKit
|
|
import SignalCoreKit
|
|
|
|
public extension UIApplication {
|
|
func frontmostViewController(
|
|
ignoringAlerts: Bool = false,
|
|
using dependencies: Dependencies
|
|
) -> UIViewController? {
|
|
guard
|
|
dependencies.hasInitialised(singleton: .appContext),
|
|
let window: UIWindow = dependencies[singleton: .appContext].mainWindow
|
|
else { return nil }
|
|
|
|
guard let viewController: UIViewController = window.rootViewController else {
|
|
owsFailDebug("Missing root view controller.")
|
|
return nil
|
|
}
|
|
return viewController.findFrontmostViewController(ignoringAlerts: ignoringAlerts)
|
|
}
|
|
|
|
func openSystemSettings() {
|
|
open(URL(string: UIApplication.openSettingsURLString)!, options: [:], completionHandler: nil)
|
|
}
|
|
}
|