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.
		
		
		
		
		
			
		
			
				
	
	
		
			79 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			79 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Swift
		
	
| //
 | |
| //  Copyright (c) 2019 Open Whisper Systems. All rights reserved.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| import SessionUtilitiesKit
 | |
| 
 | |
| @objc public class OWSAlerts: NSObject {
 | |
|     @objc
 | |
|     public class func showAlert(_ alert: UIAlertController) {
 | |
|         guard let frontmostViewController = CurrentAppContext().frontmostViewController() else {
 | |
|             owsFailDebug("frontmostViewController was unexpectedly nil")
 | |
|             return
 | |
|         }
 | |
|         frontmostViewController.presentAlert(alert)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class func showAlert(title: String) {
 | |
|         self.showAlert(title: title, message: nil, buttonTitle: nil)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class func showAlert(title: String?, message: String) {
 | |
|         self.showAlert(title: title, message: message, buttonTitle: nil)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class func showAlert(title: String?, message: String? = nil, buttonTitle: String? = nil, buttonAction: ((UIAlertAction) -> Void)? = nil) {
 | |
|         guard let fromViewController = CurrentAppContext().frontmostViewController() else {
 | |
|             return
 | |
|         }
 | |
|         showAlert(title: title, message: message, buttonTitle: buttonTitle, buttonAction: buttonAction,
 | |
|                   fromViewController: fromViewController)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class func showAlert(title: String?, message: String? = nil, buttonTitle: String? = nil, buttonAction: ((UIAlertAction) -> Void)? = nil, fromViewController: UIViewController?) {
 | |
| 
 | |
|         let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
 | |
| 
 | |
|         let actionTitle = buttonTitle ?? NSLocalizedString("BUTTON_OK", comment: "")
 | |
|         let okAction = UIAlertAction(title: actionTitle, style: .default, handler: buttonAction)
 | |
|         okAction.accessibilityIdentifier = "OWSAlerts.\("ok")"
 | |
|         alert.addAction(okAction)
 | |
|         fromViewController?.presentAlert(alert)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class func showConfirmationAlert(title: String, message: String? = nil, proceedTitle: String? = nil, proceedAction: @escaping (UIAlertAction) -> Void) {
 | |
|         assert(title.count > 0)
 | |
| 
 | |
|         let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
 | |
|         alert.addAction(self.cancelAction)
 | |
| 
 | |
|         let actionTitle = proceedTitle ?? NSLocalizedString("BUTTON_OK", comment: "")
 | |
|         let okAction = UIAlertAction(title: actionTitle, style: .default, handler: proceedAction)
 | |
|         okAction.accessibilityIdentifier = "OWSAlerts.\("ok")"
 | |
|         alert.addAction(okAction)
 | |
| 
 | |
|         CurrentAppContext().frontmostViewController()?.presentAlert(alert)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class func showErrorAlert(message: String) {
 | |
|         self.showAlert(title: CommonStrings.errorAlertTitle, message: message, buttonTitle: nil)
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public class var cancelAction: UIAlertAction {
 | |
|         let action = UIAlertAction(title: CommonStrings.cancelButton, style: .cancel) { _ in
 | |
|             Logger.debug("Cancel item")
 | |
|             // Do nothing.
 | |
|         }
 | |
|         action.accessibilityIdentifier = "OWSAlerts.\("cancel")"
 | |
|         return action
 | |
|     }
 | |
| }
 |