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.
session-ios/Session/Utilities/UIApplication+OWS.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)
}
}