1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 import Foundation 4 5 @objc 6 public class EXDevLauncherErrorViewController: UIViewController { 7 internal weak var manager: EXDevLauncherErrorManager? 8 9 public override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 10 if segue.identifier == "createLogView" { 11 let logView = segue.destination as? EXDevLauncherErrorLogViewController 12 logView?.manager = manager 13 } 14 } 15 16 @IBSegueAction func createLogView(_ coder: NSCoder) -> EXDevLauncherErrorLogViewController? { 17 let logView = EXDevLauncherErrorLogViewController(coder: coder) 18 logView?.manager = manager 19 return logView 20 } 21 22 @IBAction func onReload(_ sender: UIButton) { 23 sender.isEnabled = false 24 manager?.clearErros() 25 guard let appUrl = manager?.controller?.sourceUrl() else { 26 // We don't have app url. So we fallback to launcher. 27 // Shoudn't happen. 28 navigateToLauncher() 29 return 30 } 31 32 manager?.controller?.loadApp(appUrl, onSuccess: nil, onError: { [weak self] (error) in 33 self?.navigateToLauncher() 34 }) 35 } 36 37 @IBAction func onBackToLauncher(_ sender: UIButton) { 38 sender.isEnabled = false 39 manager?.clearErros() 40 navigateToLauncher() 41 } 42 43 public override func viewWillAppear(_ animated: Bool) { 44 super.viewWillAppear(animated) 45 self.navigationController?.setNavigationBarHidden(true, animated: animated) 46 } 47 48 49 private func navigateToLauncher() { 50 manager?.controller?.navigateToLauncher() 51 } 52 } 53