summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPN/ProblemReportReviewViewController.swift
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2020-09-15 13:24:42 +0200
committerAndrej Mihajlov <and@mullvad.net>2021-02-24 14:28:01 +0100
commit1a789a006da5bbf788d8ca956fbcb96a0c884144 (patch)
treeedb539421099207a046c03e531213fe12b993265 /ios/MullvadVPN/ProblemReportReviewViewController.swift
parentc25245302974e7534fbc665420e294e0effcaf80 (diff)
downloadmullvadvpn-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.swift63
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)
+ }
+}