You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

110 lines
2.5 KiB

//
// 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() {
logoImageView?.image = logoImageView?.image?.withRenderingMode(.alwaysTemplate)
logoImageView.tintColor = .themeWhiteRed
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()
}
}