// // LauncherScreenViewController.swift // GME Remit // // Created by InKwon James Kim on 22/07/2019. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class LauncherScreenViewController: UIViewController { // MARK: Properties var presenter: LauncherScreenModuleInterface? private var isShow = false private var window: UIWindow? { if let app = UIApplication.shared.delegate as? AppDelegate { return app.window } else { return nil } } // MARK: Computed Properties // MARK: IBOutlets @IBOutlet private weak var logoImageView: UIImageView! // MARK: VC's Life cycle override func viewDidLoad() { super.viewDidLoad() setup() } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) // #if DEBUG DebugManager.shared.selectServerAlert(target: self) { if !self.isShow { self.setEntryPoint() self.isShow = true } } // #else // if !isShow { // setEntryPoint() // isShow = true // } // #endif } } // MARK: LauncherScreenViewInterface extension LauncherScreenViewController: LauncherScreenViewInterface { func setError(with error: Error) { alertWithOk( type: .error, message: error.localizedDescription, okTitle: "retry_text".localized(), okAction: { self.presenter?.goSplashScreen() } ) } } // MARK: Other Functions extension LauncherScreenViewController { private func setup() { setUUID() setupNavBar() view.backgroundColor = .themeRed } private func setUUID() { if GMEDB.shared.app.string(.uuid) == nil { let uuid = UUID().uuidString GMEDB.shared.app.set(uuid, .uuid) } } private func setupNavBar() { let appearance = UINavigationBar.appearance() appearance.backIndicatorImage = #imageLiteral(resourceName: "backIconBlack") appearance.backIndicatorTransitionMaskImage = #imageLiteral(resourceName: "backIconBlack") appearance.tintColor = UIColor.black } } // MARK: - Login Logic extension LauncherScreenViewController { private func setEntryPoint() { guard KeyChain.shared.get(key: .id) != nil, (KeyChain.shared.get(key: .login) ?? "1") == "1" ? true : false else { presenter?.goSplashScreen() return } presenter?.openAuthenticationScreen() } }