mobile-ios/CovidSafe/Feedback/Sources/ViewControllerFactory.swift

54 lines
1.8 KiB
Swift
Raw Permalink Normal View History

2020-05-08 07:49:14 +00:00
// Copyright © 2020 Australian Government All rights reserved.
import UIKit
class ViewControllerFactory {
func createPropmtController(_ useCustomTransition: Bool, settings: FeedbackSettings? = nil) -> UIViewController {
2020-06-19 07:43:33 +00:00
let title = "entryPrompt_alert_title".localizedString(
2020-05-08 07:49:14 +00:00
comment: "Title for initial alert when feedback is launched"
)
2020-06-19 07:43:33 +00:00
let message = "entryPrompt_alert_message".localizedString(
2020-05-08 07:49:14 +00:00
comment: "Prompt message for initial alert when feedback is launched"
)
let alertController: AlertController
if UIScreen.main.traitCollection.horizontalSizeClass == .regular {
alertController = AlertController.createAlertController(localizedTitle: title, localizedMessage: message)
} else {
alertController = AlertController.createAlertSheetController(localizedTitle: title, localizedMessage: message)
}
alertController.feedbackSettings = settings
alertController.addNewFeedbackFlowAction()
alertController.addCancelAction()
alertController.useCustomTransition = useCustomTransition
return alertController
}
func createNewFeedbackFlowControllerForScreenshotView(
_ viewForScreenshot: UIView,
settings: FeedbackSettings? = nil,
onFlowDidFinish: (() -> Void)? = nil,
onComplete: @escaping (NewFeedbackFlowController) -> Void
) {
// No-op
}
func createNewFeedbackFlowController(
_ settings: FeedbackSettings? = nil,
onFlowDidFinish: (() -> Void)? = nil,
onComplete: (NewFeedbackFlowController) -> Void
) {
do {
let flowController = try NewFeedbackFlowController(screenshot: nil, settings: settings)
flowController.onDidFinish = onFlowDidFinish
onComplete(flowController)
} catch {
assertionFailure("\(error)".formattedLoggingStatement)
onFlowDidFinish?()
}
}
}