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.
107 lines
2.4 KiB
107 lines
2.4 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() {
|
|
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()
|
|
}
|
|
}
|