// // EQNDebugViewController.swift // Earthquake Network // // Created by Andrea Busi on 26/02/21. // Copyright © 2021 Earthquake Network. All rights reserved. // import UIKit class EQNDebugViewController: UIViewController { // MARK: - UI private lazy var debugTextView: UITextView = { let textView = UITextView() textView.translatesAutoresizingMaskIntoConstraints = false textView.font = UIFont.preferredFont(forTextStyle: .body) return textView }() // MARK: - Init init() { super.init(nibName: nil, bundle: nil) setupUI() } required init?(coder: NSCoder) { super.init(coder: coder) setupUI() } // MARK: - Private private func setupUI() { view.addSubview(debugTextView) debugTextView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true debugTextView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true debugTextView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true debugTextView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true } // MARK: - View Lifecycle override func viewDidLoad() { super.viewDidLoad() addBarButtons() loadDebugData() } private func addBarButtons() { navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(shareTapped(_:))) navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Close", style: .plain, target: self, action: #selector(closeTapped(_:))) } private func loadDebugData() { let firebaseToken = UserDefaults.standard.string(forKey: UserDefaults.UserDataFirebaseToken) ?? "" let pushToken = UserDefaults.standard.string(forKey: UserDefaults.UserDataPushToken) ?? "" let text = """ - Push token: \(pushToken) - Firebase token: \(firebaseToken) """ debugTextView.text = text } // MARK: - Actions @objc private func shareTapped(_ sender: Any) { let text = debugTextView.text ?? "" let controller = UIActivityViewController(activityItems: [text], applicationActivities: []) present(controller, animated: true) } @objc private func closeTapped(_ sender: Any) { dismiss(animated: true) } }