diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2020-09-15 13:24:42 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2021-02-24 14:28:01 +0100 |
| commit | 1a789a006da5bbf788d8ca956fbcb96a0c884144 (patch) | |
| tree | edb539421099207a046c03e531213fe12b993265 /ios/MullvadVPN/ProblemReportReviewViewController.swift | |
| parent | c25245302974e7534fbc665420e294e0effcaf80 (diff) | |
| download | mullvadvpn-1a789a006da5bbf788d8ca956fbcb96a0c884144.tar.xz mullvadvpn-1a789a006da5bbf788d8ca956fbcb96a0c884144.zip | |
Implement problem report UI and log consolidation
Diffstat (limited to 'ios/MullvadVPN/ProblemReportReviewViewController.swift')
| -rw-r--r-- | ios/MullvadVPN/ProblemReportReviewViewController.swift | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ios/MullvadVPN/ProblemReportReviewViewController.swift b/ios/MullvadVPN/ProblemReportReviewViewController.swift new file mode 100644 index 0000000000..020d6bb6f6 --- /dev/null +++ b/ios/MullvadVPN/ProblemReportReviewViewController.swift @@ -0,0 +1,63 @@ +// +// ProblemReportReviewViewController.swift +// MullvadVPN +// +// Created by pronebird on 10/02/2021. +// Copyright © 2021 Mullvad VPN AB. All rights reserved. +// + +import UIKit + +class ProblemReportReviewViewController: UIViewController { + + private var textView = UITextView() + private let reportString: String + + private var dismissButtonItem: UIBarButtonItem { + return UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(handleDismissButton(_:))) + } + + init(reportString: String) { + self.reportString = reportString + super.init(nibName: nil, bundle: nil) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func viewDidLoad() { + super.viewDidLoad() + + navigationItem.title = NSLocalizedString("App logs", comment: "") + navigationItem.rightBarButtonItem = dismissButtonItem + + textView.translatesAutoresizingMaskIntoConstraints = false + textView.text = reportString + textView.isEditable = false + if #available(iOS 13.0, *) { + textView.font = UIFont.monospacedSystemFont(ofSize: UIFont.systemFontSize, weight: .regular) + } else { + textView.font = UIFont(name: "Courier", size: UIFont.systemFontSize) + } + + view.addSubview(textView) + + NSLayoutConstraint.activate([ + textView.topAnchor.constraint(equalTo: view.topAnchor), + textView.leadingAnchor.constraint(equalTo: view.leadingAnchor), + textView.trailingAnchor.constraint(equalTo: view.trailingAnchor), + textView.bottomAnchor.constraint(equalTo: view.bottomAnchor) + ]) + + // Used to layout constraints so that navigation controller could properly adjust the text + // view insets. + view.layoutIfNeeded() + } + + // MARK: - Actions + + @objc func handleDismissButton(_ sender: Any) { + dismiss(animated: true) + } +} |
