diff --git a/GMERemittance/Module/GmeContacts/.DS_Store b/GMERemittance/Module/GmeContacts/.DS_Store new file mode 100644 index 00000000..2e462591 Binary files /dev/null and b/GMERemittance/Module/GmeContacts/.DS_Store differ diff --git a/GMERemittance/Module/GmeContacts/User Interface/View/.DS_Store b/GMERemittance/Module/GmeContacts/User Interface/View/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/GMERemittance/Module/GmeContacts/User Interface/View/.DS_Store differ diff --git a/GMERemittance/Module/GmeContacts/User Interface/View/GmeContactsViewController 2.swift b/GMERemittance/Module/GmeContacts/User Interface/View/GmeContactsViewController 2.swift deleted file mode 100644 index 3f2a98ff..00000000 --- a/GMERemittance/Module/GmeContacts/User Interface/View/GmeContactsViewController 2.swift +++ /dev/null @@ -1,216 +0,0 @@ -// -// GmeContactsViewController.swift -// GMERemittance -// -// Created by gme_2 on 25/08/2018. -//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. -// - -import UIKit -import Localize_Swift - -class GmeContactsViewController: UIViewController { - - - - // MARK: IBOutlets - @IBOutlet weak var tableview: UITableView! - - var presenter: GmeContactsModuleInterface? - var contacts: [GmeContacts] = [] { - didSet { - self.tableview.reloadData() - } - } - - // MARK: Properties - - - // MARK: VC's Life cycle - - override func viewDidLoad() { - super.viewDidLoad() - self.viperSetup() // since the viewcontroller in the tabbar is in strong bind with storyboard and segue - self.setup() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.setLargeTitle() - self.navigationItem.title = "branch_text".localized() - - } - - // MARK: IBActions - - // MARK: Other Functions - - private func setup() { - self.tableview.dataSource = self - self.tableview.delegate = self - // all setup should be done here - - self.createTestContacts() - NotificationCenter.default.addObserver(self, selector: #selector(setupTabItem), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil) - } - - struct StringConstants { - - } - - - private func createTestContacts() { -// let headOfficeContacts = GmeContacts() -// headOfficeContacts.title = "Head Office" -// headOfficeContacts.address = "325, Jong-ro, Jongno-gu, 03104 Seoul" -// headOfficeContacts.contactNumber = ["15886864"] -// headOfficeContacts.language = "Korean Language Support" - - let dongdaemunBranchContacts = GmeContacts() - dongdaemunBranchContacts.title = "Dongdaemun Branch" - dongdaemunBranchContacts.address = "315, Jong-ro Jongno-gu, Seoul \n(Dongdaemun Station - Exit 3) \n 서울시 종로구 종로 315" - dongdaemunBranchContacts.contactNumber = ["027635559"] - - - - let hwaseongBranchContacts = GmeContacts() - hwaseongBranchContacts.title = "Hwaseong Branch" - hwaseongBranchContacts.address = "1101-1, 3.1 Manse-ro Hyangnam-eup, Hwaseong-si, Gyeonggi-do \n(Baran Market Place) \n 경기도 화성시 향남읍 3.1만세로 1101-1" - hwaseongBranchContacts.contactNumber = ["0313540450"] - - - let ansanBranchContacts = GmeContacts() - ansanBranchContacts.title = "Ansan Branch" - ansanBranchContacts.address = "2nd floor, 455, Jungang-daero, Danwon-gu, Ansan -si, Gyeonggi-do \n(Entrance of Asian Street) \n 경기도 안산시 단원구 중앙대로 455 2층" - ansanBranchContacts.contactNumber = ["0313626740"] - - - let gimhaeBranchContacts = GmeContacts() - gimhaeBranchContacts.title = "Gimhae Branch" - gimhaeBranchContacts.address = "84, Garak-ro, Gimhae-si, Gyeongsangnam-do,\n(Opposite to Top Mart) \n 경상남도 김해시 가락로 84 " - gimhaeBranchContacts.contactNumber = ["0553295559"] - - - - let songuriBranchContacts = GmeContacts() - songuriBranchContacts.title = "Songu-ri Branch" - songuriBranchContacts.address = "91, Solmoru-ro, Soheul-eup, Pocheon-si, Gyeonggi-do, Korea\nNext to Nonghyub Bank) \n 경기도 포천시 소흘읍 솔모루로 91" - songuriBranchContacts.contactNumber = ["0315411856"] - - let dongdaemunCisBranch = GmeContacts() - dongdaemunCisBranch.title = "Dongdaemun CIS Branch" - dongdaemunCisBranch.address = "2nd floor, 281, Changgyeonggunag-ro Jongno-gu, Seoul\n(Upper floor of Dongdaemun Mart) \n 서울 중구 을지로 42길 5 2층" - dongdaemunCisBranch.contactNumber = ["0221386429", "01030156864"] - - - let hyehwaBranch = GmeContacts() - hyehwaBranch.title = "Hyehwa Branch" - hyehwaBranch.address = "281, Changgyeonggung-ro, Jongno-gu, Seoul Hyehwa Rotary\n(Right across from Catholic Church) \n 서울특별시 종로구 창경궁로 281" - hyehwaBranch.contactNumber = ["0221386429", "01029706864"] - - - let gmeContacts = [dongdaemunCisBranch, dongdaemunBranchContacts, hwaseongBranchContacts, ansanBranchContacts, gimhaeBranchContacts, songuriBranchContacts, hyehwaBranch] - self.contacts = gmeContacts - - } - - private func call(number: String) { - let number = number.removeWhitespacesInBetween() - if let url = URL(string: "tel://\(number)") { - if UIApplication.shared.canOpenURL(url) { - UIApplication.shared.openURL(url) - } - } - } - - override func setupTabItem() { - let image = UIImage.init(named: "ic-agent") - self.tabBarItem = UITabBarItem(title: "branch_text".localized(), image: image, selectedImage: nil) - self.tabBarItem.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: UI_USER_INTERFACE_IDIOM() == .pad ? 2 : -6) - } -} - -// MARK: GmeContactsViewInterface -extension GmeContactsViewController: GmeContactsViewInterface { - -} - -extension GmeContactsViewController { - func viperSetup() { - let service = GmeContactsService() - let interactor = GmeContactsInteractor(service: service) - let presenter = GmeContactsPresenter() - let wireframe = GmeContactsWireframe() - - self.presenter = presenter - interactor.output = presenter - presenter.interactor = interactor - presenter.wireframe = wireframe - presenter.view = self - wireframe.view = self - } -} - -extension GmeContactsViewController: UITableViewDelegate { - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - print(indexPath.row) - if indexPath.row == 0 {return 10} - return UITableViewAutomaticDimension - } -} - - -extension GmeContactsViewController: UITableViewDataSource { - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return contacts.count + 1 - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - if indexPath.row == 0 { - let cell = tableView.dequeueReusableCell(withIdentifier: "EmptyTableViewCell") as! EmptyTableViewCell - return cell - } - - - let cell = tableView.dequeueReusableCell(withIdentifier: "GmeContactsTableViewCell") as! GmeContactsTableViewCell - cell.contact = self.contacts.elementAt(index: indexPath.row - 1) - cell.delegate = self - cell.index = indexPath.row - 1 - cell.setup() - - cell.layer.shadowColor = UIColor.darkGray.cgColor - cell.layer.shadowOpacity = 0.5 - cell.layer.shadowRadius = 2 - let offset = CGSize(width: 2, height: 2) - cell.layer.shadowOffset = offset - - return cell - } -} - -extension GmeContactsViewController: GmeContactCallDelegate { - func call(index: Int?) { - guard let index = index else {return} - if let contact = self.contacts.elementAt(index: index) { - let numbers = contact.contactNumber - - let alert = UIAlertController(title:nil, message:"help_you_text".localized(), preferredStyle: .actionSheet) - - numbers?.forEach({ number in - let action = UIAlertAction.init(title: "\(number)", style: UIAlertActionStyle.default, handler: { action in - self.call(number: number) - }) - alert.addAction(action) - }) - - alert.view.tintColor = UIColor.darkGray - - alert.addAction(UIAlertAction(title: "cancel_text".localized(), style: UIAlertActionStyle.cancel, handler: nil)) - present(alert, animated: true, completion: nil) - - } - - } - - -} diff --git a/GMERemittance/Module/Home/User Interface/View/.DS_Store b/GMERemittance/Module/Home/User Interface/View/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/GMERemittance/Module/Home/User Interface/View/.DS_Store differ diff --git a/GMERemittance/Module/Home/User Interface/View/HomeViewController 2.swift b/GMERemittance/Module/Home/User Interface/View/HomeViewController 2.swift deleted file mode 100644 index 5104b622..00000000 --- a/GMERemittance/Module/Home/User Interface/View/HomeViewController 2.swift +++ /dev/null @@ -1,731 +0,0 @@ -// -// HomeViewController.swift -// GMERemittance -// -// Created by gme_2 on 21/09/2018. -//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. -// - -import UIKit -import Crashlytics -import Localize_Swift - -class HomeViewController: UIViewController, UICollectionViewDelegateFlowLayout { - - - enum Sections: Int { - case balance = 0 - case collection - } - - struct Constants { - static let verificationNoticeHeight: CGFloat = 100 - } - - struct StringConstants { - let homeText = "home_text".localized() - let registerProcessText = "complete_your_registration_text".localized() - let registrationApprovalText = "verification_in_aproval_process_text".localized() - let pennyTestPrimaryBankText = "complete_penny_test".localized() - let verifyTitleText = "kyc_fill_text".localized() - let continueRegistrationTitleText = "penny_test_pending_text".localized() - let verificationInProcessTitleText = "kyc_verify_pending_text".localized() - let soonToUseGmeServicesTitle = "verification_in_aproval_process_text".localized() - } - - // MARK: IBOutlets - @IBOutlet weak var tableView: UITableView! - @IBOutlet weak var verificationNoticeHeightConstraint: NSLayoutConstraint! - @IBOutlet var verificationNoticeView: UIView! - @IBOutlet weak var verificationCloseButton: UIButton! - @IBOutlet weak var verificationText: UILabel! - @IBOutlet var tapGuesture: UITapGestureRecognizer! - @IBOutlet weak var verificationTitleLabel: UILabel! - @IBOutlet weak var verificationHeaderLeftImageview: UIImageView! - @IBOutlet weak var verificationHeaderRightButton: UIButton! - - @IBOutlet weak var seperatorView: UIView! - // title labels - @IBOutlet weak var thankyouTitleLabel: UILabel! - - // MARK: Properties - var refreshControl: UIRefreshControl? - var presenter: HomeModuleInterface? - var user: User? { - didSet { - // update - self.save(user: user) - self.showUnverifiedNotice() - self.tableView.reloadData() - updateBalance() - self.update() - } - } - var sections: [Sections] = [.balance, .collection] - - var menuHeight: CGFloat? { - didSet { - self.tableView.reloadData() - } - } - // MARK: VC's Life cycle - - override func viewDidLoad() { - super.viewDidLoad() -// test() - setupNavigationNotifications() - self.setup() - } - - func test() { - let web = WkWebViewController() - web.url = "http://gmeuat.gmeremit.com:5013/kftcCallback?code=b894944b-c500-4627-9cf9-9fc5fd3f2822&scope=login+inquiry+transfer&client_info=f6Qv6Xd44Q5hmkcYLNVH8w%3D%3D" -// web.url = "http://gmeuat.gmeremit.com:5013/test.html" -// self.present(web, animated: true, completion: nil) - self.navigationController?.pushViewController(web, animated: true) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - configureViews() - self.setActionBarIcons(showNotificationParameter: false) // set true if there is unread - self.tableView.reloadData() - - NotificationCenter.default.addObserver(self, selector: #selector(updateTabBarTitle), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil) - } - - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - self.navigationItem.title = "" - } - // MARK: IBActions - - @IBAction func closeVerificationNotice(_ sender: UIButton) { - return - if #available(iOS 10.0, *) { - let animator = UIViewPropertyAnimator(duration: 0.4, curve: .easeOut ) - animator.addAnimations { - self.verificationNoticeView.alpha = 0 - } - - animator.addAnimations({ - self.verificationNoticeHeightConstraint.constant = 0 - self.view.layoutIfNeeded() - }, delayFactor: 0.5) - - animator.startAnimation() - } - } - - - // MARK: Other Functions - - private func setup() { - // all setup should be done here - setupDelegates() - setupNotifications() - configureLanguage() - self.addRefreshControlTableView() - self.presenter?.refreshData() - NotificationCenter.default.addObserver(self, selector: #selector(self.showPennyTestFirstTime), name: NSNotification.Name.init("showPennyTestFirstTime"), object: nil) - } - - @objc private func configureLanguage() { -// self.barButtonItem.title = StringConstants().homeText - } - - @objc private func showPennyTestFirstTime() { - presenter?.showPennyTest() - } - - private func update() { - let platform = self.user?.platforms ?? [] - guard let ios = platform.filter({ - $0.os ?? "" == "IOS" - - }).first else {return} - let critical = ios.critical ?? "N" - UserDefaults.standard.set(critical, forKey: AppConstants.criticalUpdate) - let version = Utility.getAppVersion() ?? "" - let val = version.components(separatedBy: ".") - let latestVersion = ios.version ?? "0" - let latestVal = latestVersion.components(separatedBy: ".").last ?? "0" - - if val.count == 3 { - if let build = val.last { - - if (Int(latestVal) ?? 0) > (Int(build) ?? 0) { - self.presenter?.showAppUpdate() - } - } - } - - - } - - private func updateBalance() { - let balance = user?.availableBalance ?? "" - UserDefaults.standard.set(balance, forKey: UserKeys.availableBalance) - let userInfo = [SideMenuNavigationNotifications.availableBalance : balance] - NotificationCenter.default.post(name: self.getAvailableBalanceNotificationName(), object: nil, userInfo: userInfo) - self.tableView.reloadData() - } - - private func setupNavigationNotifications() { - NotificationCenter.default.addObserver(self, selector: #selector(self.showAutoDebit), name: self.getKftcAccountListNotificationName(), object: nil) - - NotificationCenter.default.addObserver(self, selector: #selector(self.showWithdraw), name: self.getWithdrawNotificationName(), object: nil) - - NotificationCenter.default.addObserver(self, selector: #selector(self.showSideMenuAboutGme), name: self.getAboutMeNotificationName(), object: nil) - - NotificationCenter.default.addObserver(self, selector: #selector(self.showSideMenuSupport), name: self.getSupportNotificationName(), object: nil) - - NotificationCenter.default.addObserver(self, selector: #selector(self.showSideMenuSetting), name: self.getSettingNotificationName(), object: nil) - - NotificationCenter.default.addObserver(self, selector: #selector(self.showTransactionStatement), name: self.getTransactionHistoryNotificationName(), object: nil) - } - - private func getAboutMeNotificationName() -> Notification.Name { - return Notification.Name.init(SideMenuNavigationNotifications.aboutGme) - } - - private func getTransactionHistoryNotificationName() -> Notification.Name { - return Notification.Name.init(SideMenuNavigationNotifications.transactionHistory) - } - - private func getSupportNotificationName() -> Notification.Name { - return Notification.Name.init(SideMenuNavigationNotifications.support) - } - - private func getSettingNotificationName() -> Notification.Name { - return Notification.Name.init(SideMenuNavigationNotifications.setting) - } - - @objc private func showSideMenuAboutGme() { - let vc = UIStoryboard.init(name: "_Home", bundle: nil).instantiateViewController(withIdentifier: "AboutGMEViewController") as! AboutGMEViewController - self.navigationController?.pushViewController(vc, animated: true) - } - - @objc private func showSideMenuSetting() { - let vc = UIStoryboard.init(name: "Setting", bundle: nil).instantiateViewController(withIdentifier: "SettingViewController") as! SettingViewController - self.navigationController?.pushViewController(vc, animated: true) - } - - @objc private func showSideMenuSupport() { - let vc = UIStoryboard.init(name: "_Home", bundle: nil).instantiateViewController(withIdentifier: "SupportViewController") as! SupportViewController - self.navigationController?.pushViewController(vc, animated: true) - } - - @objc private func showAutoDebit() { - let wireframe = AutoDebitWireframe() - if let navigation = self.navigationController { - wireframe.pushMainView(in: navigation) - } - } - - @objc private func showWithdraw() { - let vc = UIStoryboard.init(name: "autoRefund", bundle: nil).instantiateViewController(withIdentifier: "AutoRefundsViewController") as! AutoRefundsViewController - self.navigationController?.pushViewController(vc, animated: true) - } - - private func setupDelegates() { - tableView.delegate = self - tableView.dataSource = self - self.tapGuesture.delegate = self - } - - private func addRefreshControlTableView() { - let colorOption = [NSAttributedStringKey.foregroundColor : AppConstants.themWhiteColor]; - - let title = NSAttributedString(string: "pull to refresh", attributes: colorOption) - let refreshControl = UIRefreshControl() - refreshControl.attributedTitle = title - refreshControl.backgroundColor = AppConstants.themeBlueColor - refreshControl.tintColor = AppConstants.themWhiteColor - refreshControl.addTarget(self, action: #selector(self.refresh), for: .valueChanged) - self.refreshControl = refreshControl - if #available(iOS 10.0, *) { - tableView.refreshControl = self.refreshControl - } else { - if let control = self.refreshControl { - tableView.addSubview(control) - } - } - } - - @objc private func refresh() { - presenter?.refreshData() - } - - @objc func showNotification(){ - performSegue(withIdentifier: "notification", sender: nil) - } - - @objc func showSupport() { - let alert = UIAlertController(title:nil, message:"help_you_text".localized(), preferredStyle: .actionSheet) -// alert.view.subviews.last?.subviews.last?.backgroundColor = UIColor.darkGray - - let liveChat = UIAlertAction(title: "Live Chat", style: .default) { - UIAlertAction in - } - let contactNumber = UIAlertAction(title: "1588 6864", style: .default) { - UIAlertAction in - self.startCall(contactNumber: "1588 6864") - } - let supportEmail = UIAlertAction(title: "support@gmeremit.com", style: .default) { - UIAlertAction in - let storyboard = UIStoryboard.init(name: "MessageCompose", bundle: Bundle.main) - if let messageViewController = storyboard.instantiateViewController(withIdentifier: "message") as? MessageComposeViewController { - self.navigationController!.pushViewController(messageViewController, animated: true) - } - } - - liveChat.setValue(UIImage(named:"ic_live_chat")?.withRenderingMode(.alwaysOriginal),forKey:"image") - contactNumber.setValue(UIImage(named:"ic_call")?.withRenderingMode(.alwaysOriginal),forKey:"image") - supportEmail.setValue(UIImage(named:"ic_email")?.withRenderingMode(.alwaysOriginal),forKey:"image") - - // TODO: have to enable when zendesk is provided - // alert.addAction(liveChat) - alert.addAction(contactNumber) -// alert.addAction(supportEmail) - alert.view.tintColor = UIColor.darkGray - -// alert.view.subviews.last?.subviews.last?.layer.cornerRadius = 10 - - alert.addAction(UIAlertAction(title: "cancel_text".localized(), style: UIAlertActionStyle.cancel, handler: nil)) - present(alert, animated: true, completion: nil) - } - - - func startCall(contactNumber: String){ - if let url = URL(string: "tel://\(contactNumber.removeWhitespacesInBetween())"), UIApplication.shared.canOpenURL(url) { - if #available(iOS 10, *) { - UIApplication.shared.open(url) - } else { - UIApplication.shared.openURL(url) - } - } - } - - private func setupNotifications() { - let center = NotificationCenter.default - center.addObserver(self, selector: #selector(self.showSendMoney), name: self.getSendMoneyNotificationName(), object: nil) - center.addObserver(self, selector: #selector(self.showMobileRecharge), name: self.getMobileRechargeNotificationName(), object: nil) - center.addObserver(self, selector: #selector(self.showTodaysRate), name: self.getTodaysRateNotificationName(), object: nil) - center.addObserver(self, selector: #selector(self.showResendMoney), name: self.getTrackYourTransferNotificationName(), object: nil) - center.addObserver(self, selector: #selector(self.showTrackYourTransfer), name: self.getTransactionStatementNotificationName(), object: nil) -// center.addObserver(self, selector: #selector(self.showResendMoney), name: self.getWalletToWalletNotificationName(), object: nil) - center.addObserver(self, selector: #selector(self.setupHeight(sender:)), name: self.getCollectionHeightNotificationName(), object: nil) - center.addObserver(self, selector: #selector(self.showUnVerifiedMessage), name: self.getMainControllerNotificationName(), object: nil) - - } - - func setActionBarIcons(showNotificationParameter: Bool){ - let supportImage = UIImage(named: "ic_support")?.withRenderingMode(.alwaysOriginal) - let supportButton = UIBarButtonItem(image:supportImage, style: .plain, target: self, action: #selector(showSupport)) - let notificationImage: UIImage! - if showNotificationParameter { - notificationImage = UIImage(named: "ic_notificationDot")?.withRenderingMode(.alwaysOriginal) - } else { - notificationImage = UIImage(named: "ic_notification")?.withRenderingMode(.alwaysOriginal) - } - let notificationButton = UIBarButtonItem(image: notificationImage, style: .plain, target: self, action: #selector(showNotification)) -// self.navigationItem.rightBarButtonItems=[notificationButton,supportButton] - self.navigationItem.rightBarButtonItems = [supportButton] - } - - private func showUnverifiedNotice() { - setVerificationText() - if shouldShowUnverifiedNotice() { - UIView.animate(withDuration: 0.33) { - self.verificationNoticeHeightConstraint.constant = Constants.verificationNoticeHeight - self.verificationNoticeView.alpha = 1 - self.view.layoutIfNeeded() - } - }else { - self.verificationNoticeHeightConstraint.constant = 0 - self.verificationNoticeView.alpha = 0 - self.view.layoutIfNeeded() - } - } - - - private func setVerificationText() { - // && Utility.didPennyTestNotInitiated() - if didNotSubmitKycAndNotVerified() { - verificationTitleLabel.text = StringConstants().verifyTitleText - self.verificationText.text = StringConstants().registerProcessText - self.verificationHeaderLeftImageview.image = UIImage.init(named: "ic_home_verified") - let image = UIImage.init(named: "ic_home_payoutLocation") - self.verificationHeaderRightButton.setImage(image, for: UIControlState.normal) - }else if didSubmitKycAndNotVerified() && shouldShowPennyTestError() { - verificationTitleLabel.text = StringConstants().continueRegistrationTitleText - self.verificationText.text = StringConstants().pennyTestPrimaryBankText - self.verificationHeaderLeftImageview.image = #imageLiteral(resourceName: "shield.png") - self.verificationNoticeHeightConstraint.constant = Constants.verificationNoticeHeight - self.verificationNoticeView.alpha = 1 - self.verificationHeaderRightButton.isHidden = true - } - else if didSubmitKycAndNotVerified() { - verificationTitleLabel.text = StringConstants().verificationInProcessTitleText - self.verificationText.text = StringConstants().soonToUseGmeServicesTitle - self.verificationHeaderLeftImageview.image = #imageLiteral(resourceName: "ic_home_verified") - self.verificationHeaderRightButton.setImage(#imageLiteral(resourceName: "ic_home_payoutLocation"), for: UIControlState.normal) - } - - if didSubmitKycAndVerified() && !Utility.pennyTestVerified() { - verificationTitleLabel.text = StringConstants().continueRegistrationTitleText - self.verificationText.text = StringConstants().pennyTestPrimaryBankText - self.verificationHeaderLeftImageview.image = #imageLiteral(resourceName: "shield.png") - self.verificationNoticeHeightConstraint.constant = Constants.verificationNoticeHeight - self.verificationNoticeView.alpha = 1 - self.verificationHeaderRightButton.isHidden = true - } - - if didSubmitKycAndVerified() && Utility.pennyTestVerified() { - self.verificationNoticeHeightConstraint.constant = 0 - self.verificationNoticeView.alpha = 0 - } - } - - private func didSubmitKycAndNotVerified() -> Bool { - return Utility.didSubmitKyc() && !Utility.isVerifiedUser() - } - - private func didSubmitKycAndVerified() -> Bool { - return Utility.didSubmitKyc() && Utility.isVerifiedUser() - } - - private func didNotSubmitKycAndNotVerified() -> Bool { - return !Utility.didSubmitKyc() && !Utility.isVerifiedUser() - } - - private func shouldShowPennyTestError() -> Bool { - return Utility.shouldShowPennyTestError() - } - - - - @IBAction func showKyc(_ sender: UITapGestureRecognizer) { - if self.didNotSubmitKycAndNotVerified() { - self.presenter?.showKyc() - }else if shouldShowPennyTestError() { - if Utility.didPennyTestRequested() { - - presenter?.showPennyTestSubmit() - }else { - presenter?.showPennyTest() - } - } - } - - - private func shouldShowUnverifiedNotice() -> Bool { - return !self.isUserVerified() || Utility.shouldShowPennyTestError() - } - - private func configureViews() { - self.verificationNoticeHeightConstraint.constant = 0 - showUnverifiedNotice() - setNavBar() - } - - func setNavBar() { - let selector = #selector(self.showSideMenu) - self.setupPicturedNavBar(sideMenuAction: selector) - } - - @objc func showSideMenu() { - sideMenuController?.showLeftViewAnimated() - } - - private func isUserVerified() -> Bool { - return Utility.isVerifiedUser() - } - - - - @objc private func showSendMoney() { - let kycSubmited = user?.kyc ?? false - let pennyTestComplete = Utility.pennyTestVerified() - - if kycSubmited == true && pennyTestComplete == false { - self.show(error: StringConstants().pennyTestPrimaryBankText) - return - } - if isUserVerified() { - // remaining of previous developer. I dont have much time. Later. TODO: refracor - let viewcontroller = UIStoryboard.init(name: - "RecipientListViewController", bundle: nil).instantiateViewController(withIdentifier: "RecipientListViewController") as! RecipientListViewController - self.navigationController?.pushViewController(viewcontroller, animated: true) - } else { - self.showUnVerifiedMessage() - } - } - - @objc private func showResendMoney() { - let kycSubmited = user?.kyc ?? false - let pennyTestComplete = Utility.pennyTestVerified() - - if kycSubmited == true && pennyTestComplete == false { - self.show(error: StringConstants().pennyTestPrimaryBankText) - return - } - if isUserVerified() { - // remaining of previous developer. I dont have much time. Later. TODO: refracor - if let navigation = self.navigationController { - let wireframe = ResendWireframe() - wireframe.pushMainView(in: navigation) - } - } else { - self.showUnVerifiedMessage() - } - } - - @objc private func showMobileRecharge() { - let kycSubmited = user?.kyc ?? false - let pennyTestComplete = Utility.pennyTestVerified() - - if kycSubmited == true && pennyTestComplete == false { - self.show(error: StringConstants().pennyTestPrimaryBankText) - return - } - - self.alert(message: "This feature is coming soon") - return - if isUserVerified() { - return - self.performSegue(withIdentifier: "mobileRecharge", sender: nil) - }else { - self.showUnVerifiedMessage() - } - } - - @objc private func showTodaysRate() { - presenter?.openTodaysRate() - } - - // Transaction Report - @objc private func showTrackYourTransfer() { - let kycSubmited = user?.kyc ?? false - let pennyTestComplete = Utility.pennyTestVerified() - - if kycSubmited == true && pennyTestComplete == false { - self.show(error: StringConstants().pennyTestPrimaryBankText) - return - } - - isUserVerified() ? (presenter?.openTrackYourTransfer()) : (self.showUnVerifiedMessage()) - - } - - @objc private func showTransactionStatement() { - let kycSubmited = user?.kyc ?? false - let pennyTestComplete = Utility.pennyTestVerified() - - if kycSubmited == true && pennyTestComplete == false { - self.show(error: StringConstants().pennyTestPrimaryBankText) - return - } - - isUserVerified() ? (presenter?.openTransactionHistory()) : (self.showUnVerifiedMessage()) - } - - @objc private func showUnVerifiedMessage() { - if didNotSubmitKycAndNotVerified() { - self.alert(message: StringConstants().registerProcessText) - } else if Utility.didSubmitKyc() && !Utility.pennyTestVerified() { - self.alert(message: StringConstants().pennyTestPrimaryBankText) - } - else - if didSubmitKycAndNotVerified() { -// verification_in_aproval_process_text -// Your registration request is in approval process. You will soon be able to use GME services. - self.alert(message: "verification_in_aproval_process_text".localized()) - } - } - - // TODO:- - @objc private func showUnVerifiedPennyTestMessage() { -// complete_penny_test - self.alert(message: "complete_penny_test".localized()) - } - - @objc private func showWalletToWallet() { - self.alert(message: "This feature is coming soon") - } - - @objc private func setupHeight(sender: Notification) { - if let height = sender.userInfo?[MenuNotificationName.collectionHeight] as? CGFloat { - self.menuHeight = height - } - } -} - -// MARK: HomeViewInterface -extension HomeViewController: HomeViewInterface { - func show(model: User) { - self.user = model - } - - func show(error: String) { - self.alert(message: error) - } - - func show(panicError: String) { - self.alert(message: panicError, title: "Warning") { - self.presenter?.logout() - } - } - - func showLoading() { - self.showProgressHud() - } - - func hideLoading() { - self.hideProgressHud() - } - - func endRefreshing() { - if #available(iOS 10.0, *) { - guard let control = self.tableView.refreshControl else {return} - if control.isRefreshing == true { - DispatchQueue.main.async { - control.perform(#selector(control.endRefreshing), with: nil, afterDelay: 0.5) - } - } - } else { - // Fallback on earlier versions - } - - } -} - - -extension HomeViewController: UITableViewDelegate { - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - - guard let _section = Sections.init(rawValue: indexPath.section) else {return 0} - - switch _section { - case .balance: - return UITableViewAutomaticDimension - case .collection: - let totalHeight = view.frame.height - let ramainingBalanceCellHeight: CGFloat = 100 - let finalHeight = totalHeight - ramainingBalanceCellHeight - return finalHeight - } - } -} - - -extension HomeViewController: UITableViewDataSource { - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return 1 - } - - func numberOfSections(in tableView: UITableView) -> Int { - return self.sections.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - guard let _section = Sections.init(rawValue: indexPath.section) else {return UITableViewCell()} - switch _section { - case .balance: - return configureRemainingLimitCell(tableView: tableView, indexPath: indexPath) - case .collection: - return configureCollectionCell(tableView: tableView, indexPath: indexPath) - } - } - - func configureRemainingLimitCell(tableView: UITableView, indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "HomeRemainingLimitTableViewCell") as! HomeRemainingLimitTableViewCell - cell.user = self.user - cell.setup() - return cell - } - - func configureCollectionCell(tableView: UITableView, indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "HomeCollectionTableViewCell") as! HomeCollectionTableViewCell - cell.setup() - return cell - } - - override func setupTabItem() { - let image = UIImage.init(named: "ic-home") - self.tabBarItem = UITabBarItem(title: "home_text".localized(), image: image, selectedImage: nil) - self.tabBarItem.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: UI_USER_INTERFACE_IDIOM() == .pad ? 2 : -6) - - } - - @objc func updateTabBarTitle() { - self.tabBarItem.title = "home_text".localized() - } -} - - - -// notification Name -extension HomeViewController { - func getSendMoneyNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.sendMoney) - } - - func getMobileRechargeNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.mobileRecharge) - } - - func getTodaysRateNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.todaysRate) - } - func getTrackYourTransferNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.resend) - } - func getTransactionStatementNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.transactionStatement) - } - func getWalletToWalletNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.walletToWallet) - } - - func getCollectionHeightNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: MenuNotificationName.collectionHeight) - } - - func getAvailableBalanceNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: SideMenuNavigationNotifications.availableBalance) - } - - func getMainControllerNotificationName() -> Notification.Name { - return Notification.Name.init(rawValue: AppConstants.MainWireFrameNotificationName) - } - - func getWithdrawNotificationName() -> Notification.Name { - return Notification.Name.init(SideMenuNavigationNotifications.withdraw) - } - - func getKftcAccountListNotificationName() -> Notification.Name { - return Notification.Name.init(SideMenuNavigationNotifications.KftcAccountList) - } - -} - - -extension HomeViewController: UIGestureRecognizerDelegate { - func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { - return !Utility.didSubmitKyc() || Utility.shouldShowPennyTestError() || Utility.didPennyTestCancelled() || Utility.didPennyTestRequested() || Utility.didPennyTestNotInitiated() - } -} - -extension HomeViewController { - - private func save(value: Any?, forKey: String) { - let defaults = UserDefaults.standard - defaults.set(value, forKey: forKey) - } - - func save(user: User?) { - Utility.save(user: user) - } -} diff --git a/GMERemittance/Module/Main/User Interface/View/.DS_Store b/GMERemittance/Module/Main/User Interface/View/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/GMERemittance/Module/Main/User Interface/View/.DS_Store differ diff --git a/GMERemittance/Module/Main/User Interface/View/MainViewController 2.swift b/GMERemittance/Module/Main/User Interface/View/MainViewController 2.swift deleted file mode 100644 index e7001b71..00000000 --- a/GMERemittance/Module/Main/User Interface/View/MainViewController 2.swift +++ /dev/null @@ -1,176 +0,0 @@ -// -// MainViewController.swift -// -// -// Created by shishir sapkota -// - - -import Foundation -import UIKit - -class MainViewController: UITabBarController { - // MARK: Properties - - - // MARK: ENUMS: - private enum Items: Int { - case home = 0 - case sendMoney - case branch - case profile - } - - var presenter: MainModuleInterface? - - // MARK: VC's Life cycle - - override func viewDidLoad() { - super.viewDidLoad() - self.delegate = self - self.setupAppearance() - } - - func setup(viewControllers: [UIViewController]) { - self.viewControllers = viewControllers - self.setupTab() - setupTabItem() - } - - // MARK: Other functions - func setupAppearance() { - UINavigationBar.setInsideAppearance() - } - - private func setupTab() { - self.tabBar.tintColor = Colors.defaultRed - self.tabBar.isTranslucent = false - self.tabBar.shadowImage = Colors.TabBar.shadow.image() - self.tabBar.backgroundImage = UIImage() - } - - override func setupTabItem() { - self.viewControllers?.forEach({ (viewController) in - }) - } -} - -extension MainViewController: MainViewInterface { - -} - -extension MainViewController: UITabBarControllerDelegate { - func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { - if let nav = viewController as? UINavigationController { - if let _ = nav.viewControllers.first as? RecipientListViewController { - NotificationCenter.default.post(name: Notification.Name.init(AppConstants.MainWireFrameNotificationName), object: nil, userInfo: nil) - return Utility.isVerifiedUser() - } - } - print(tabBarController.selectedIndex) - return true - } -} - -extension UINavigationBar { - static func setInsideAppearance() { - let navBarAppearance = UINavigationBar.appearance() - navBarAppearance.isTranslucent = false - navBarAppearance.barTintColor = UIColor.white - } - - static func setOutsideAppearance() { - self.setInsideAppearance() - let navBarAppearance = UINavigationBar.appearance() - navBarAppearance.barTintColor = Colors.defaultRed - let font = Fonts.NavBar.titleFont - navBarAppearance.titleTextAttributes = [ - NSAttributedStringKey.foregroundColor: UIColor.black, - NSAttributedStringKey.font: font] - navBarAppearance.tintColor = UIColor.black - } - - static func setupImageAppearance() { - let navBarAppearance = UINavigationBar.appearance() - navBarAppearance.barTintColor = Colors.defaultRed - let font = Fonts.NavBar.titleFont - navBarAppearance.titleTextAttributes = [ - NSAttributedStringKey.foregroundColor: UIColor.black, - NSAttributedStringKey.font: font] - navBarAppearance.tintColor = UIColor.black - } -} - -@objc protocol Setup { - @objc optional func setupTabItem() -} - - -extension UIViewController: Setup { - func setupTabItem() { - - } -} -struct Colors { - - static let separator = UIColor(hex: "#eeeeee") - static let defaultRed = UIColor(hex: "#0xec1c24") - static let cartBadge = UIColor(hex: "#F5951D") - - struct TabBar { - static let textItemSelected = Colors.defaultRed - static let textItemNotSelected = UIColor(hex: "#959595") - static let shadow = Colors.separator - } - - struct NavBar { -// static let barTint = - static let tint = UIColor.white - static let shadow = Colors.separator - } - - struct XLTabBar { - static let titleUnselected = UIColor(hex: "#555555") - static let titleSelected = Colors.defaultRed - static let selectedBackground = Colors.defaultRed - } -} - - -struct Fonts { - struct Family { - static let regular = "SanFranciscoDisplay-regular" - static let light = "SanFranciscoDisplay-light" - static let bold = "SanFranciscoDisplay-Bold" - static let semiBold = "SanFranciscoDisplay-Semibold" - } - - struct TabBar { - static let itemFont = UIFont(name: Family.light, size: 10)! - } - - struct NavBar { - static let titleFont = UIFont(name: Family.regular, size: 17)! - } - - struct XLTabBar { - static let itemFont = UIFont(name: Family.regular, size: 12)! - } - - struct Error { - static let font = UIFont(name: Family.semiBold, size: 11)! - } -} - - -extension UIColor { - func image(of size: CGSize = CGSize(width: 1, height: 1)) -> UIImage { - let rect = CGRect(origin: .zero, size: size) - UIGraphicsBeginImageContextWithOptions(size, false, 0) - self.setFill() - UIRectFill(rect) - let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()! - UIGraphicsEndImageContext() - return image - } -} diff --git a/GMERemittance/Module/Register/User Interface/View/.DS_Store b/GMERemittance/Module/Register/User Interface/View/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/GMERemittance/Module/Register/User Interface/View/.DS_Store differ diff --git a/GMERemittance/Module/Register/User Interface/View/RegisterViewController 2.swift b/GMERemittance/Module/Register/User Interface/View/RegisterViewController 2.swift deleted file mode 100644 index c52b3a1f..00000000 --- a/GMERemittance/Module/Register/User Interface/View/RegisterViewController 2.swift +++ /dev/null @@ -1,374 +0,0 @@ -// -// RegisterViewController.swift -// GMERemittance -// -// Created by gme_2 on 10/09/2018. -//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. -// - -import UIKit -import Localize_Swift - -import RxSwift -import RxCocoa - -class RegisterViewController: UIViewController { - - struct StringConstants { - let userIdTitle = "login_user_id_text".localized() - let useridPlaceholder = "email_text".localized() - let passwordTitle = "password_text".localized() - let passwordPlaceholder = "create_password_text".localized() - - let confirmPasswordTitle = "confirm_password_text".localized() - let confirmPasswordPlaceholder = "confirm_password_text".localized() - - let dobTitlePlaceholder = "dob_text".localized() - let alreadyHaveAccountText = "already_have_account_text".localized() - let loginText = "login_text".localized() - let registerText = "register_text".localized() - let registerHeader = "register_title_text".localized() - let registerSubtitle = "register_subtitle_text".localized() - } - - // MARK: IBOutlets - - @IBOutlet weak var emailTextField: UITextField! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var confirmPasswordTextfield: UITextField! - @IBOutlet weak var dobTextField: UITextField! - @IBOutlet weak var emailValidMessageLabel: UILabel! - - // header labels - @IBOutlet weak var headerLabel: UILabel! - @IBOutlet weak var subHeaderLabel: UILabel! - - // title labels - @IBOutlet weak var userIdTitleLabel: UILabel! - @IBOutlet weak var passwordTitleLabel: UILabel! - @IBOutlet weak var confirmPasswordTitleLabel: UILabel! - @IBOutlet weak var dobTitileLabel: UILabel! - - @IBOutlet weak var alreadyHaveAccountLabel: UILabel! - - // buttons - @IBOutlet weak var loginButton: UIButton! - @IBOutlet weak var registerButton: UIButton! - - // MARK: Properties - let datePicker = UIDatePicker() - var presenter: RegisterModuleInterface? - var disposeBag = DisposeBag() - - // keyboard - var mQwertyTransKeyView : TransKeyView? - var mNumberTransKeyView : TransKeyView? - - var secureKey : NSData! - var numberCipherString : String! - var qwertyCipherString : String! - - var isTranskeyShowing : Bool! - var isShowQwerty : Bool! = true - var isShowNumber : Bool! - - var password: String! { - didSet { - self.passwordTextField.text = password - } - } - var encryptedPassword: String! - var encryptedConfirmPassword: String! - var confirmPassword: String! { - didSet { - self.confirmPasswordTextfield.text = confirmPassword - } - } - - var showingPasswordField = false - var showingConfirmPasswordField: Bool = false - - // MARK: VC's Life cycle - - override func viewDidLoad() { - super.viewDidLoad() - self.setupKeyboard() - self.setup() - self.setBinding() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.setupPicturedNavBar() - } - - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - self.navigationItem.title = "" - - mQwertyTransKeyView?.mTK_ClearDelegateSubviews() - mNumberTransKeyView?.mTK_ClearDelegateSubviews() - if isTranskeyShowing == false { - mQwertyTransKeyView?.delegate = nil; - mNumberTransKeyView?.delegate = nil; - } - } - - // MARK: IBActions - - @IBAction func login(_ sender: UIButton) { - self.presenter?.login() - } - - private func setupDatePicker() { - self.datePicker.datePickerMode = .date - self.dobTextField.inputView = datePicker - datePicker.maximumDate = Date() - self.datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged) - } - - @objc private func handleDatePicker(sender: UIDatePicker) { - let dateFormatter = DateFormatter() - dateFormatter.dateFormat = "yyyy-MM-dd" - self.dobTextField.text = dateFormatter.string(from: sender.date) - } - - @IBAction func register(_ sender: UIButton) { - let email = self.emailTextField.text! -// let password = self.passwordTextField.text! - let password = self.password - let dob = self.dobTextField.text! - let confirmPassword = self.confirmPasswordTextfield.text! - let model = RegisterRequestModel() - model.username = email - model.password = password - model.encryptedConfirmPassword = self.encryptedConfirmPassword - model.confirmPassword = confirmPassword - model.dob = dob - model.encryptedPassword = self.encryptedPassword - self.presenter?.register(model: model) - } - - // MARK: Other Functions - - private func setBinding() { - self.emailTextField - .rx - .text - .map{ userID -> Bool? in - guard let id = userID else { - return nil - } - if id == "" { - return nil - } else { - return id.isValidEmail() - } - } - .bind{[weak self] in - guard let isValid = $0 else { - self?.emailValidMessageLabel.text = "" - return - } - if !isValid { - self?.emailValidMessageLabel.textColor = .red - self?.emailValidMessageLabel.text = "* 이메일 형식이여야 합니다." - } else { - self?.emailValidMessageLabel.text = "" - } - } - .disposed(by: disposeBag) - } - - func setupKeyboard() { - isShowNumber = false - isShowQwerty = true - isTranskeyShowing = false - - setQwertyTranskey() - // self.showQwertyTranskeyAction() - } - - func setQwertyTranskey(){ - mQwertyTransKeyView = TransKeyView() - mQwertyTransKeyView?.mTK_Init(self) - mQwertyTransKeyView?.delegate = self - mQwertyTransKeyView?.mTK_MakeSecureKey() - mQwertyTransKeyView?.mTK_Supported(byDeviceOrientation: SupportedByDevicePortrait) - mQwertyTransKeyView?.mTK_EnableSamekeyInputDataEncrypt(false) - // ccr key - mQwertyTransKeyView?.mTK_LicenseCheck("license_IBK_TEST_IONEBANK_20181105_20190531") - } - - private func setup() { - // all setup should be done here - self.setupPicturedNavBar() - self.setupDatePicker() - self.configureLanguage() - self.passwordTextField.delegate = self - self.confirmPasswordTextfield.delegate = self - - } - - private func configureLanguage() { - self.headerLabel.text = StringConstants().registerHeader - self.subHeaderLabel.text = StringConstants().registerSubtitle - self.userIdTitleLabel.text = "email_text".localized() - self.emailTextField.placeholder = StringConstants().useridPlaceholder - let passwordPlaceholder = StringConstants().passwordPlaceholder - let attributedPasswordPlaceholder = NSMutableAttributedString(string: passwordPlaceholder) - - let passwordPolicy = " (\("password_policy_error".localized()))" - - let font = UIFont.init(name: "SanFranciscoDisplay-regular", size: 12)! - let myAttribute = [ NSAttributedString.Key.foregroundColor: UIColor.lightGray, NSAttributedStringKey.font : font ] - let attributedPasswordPolicy = NSAttributedString(string: passwordPolicy, attributes: myAttribute) - attributedPasswordPlaceholder.append(attributedPasswordPolicy) - self.passwordTitleLabel.attributedText = attributedPasswordPlaceholder - self.passwordTextField.placeholder = StringConstants().passwordPlaceholder - self.confirmPasswordTitleLabel.text = StringConstants().confirmPasswordPlaceholder - self.confirmPasswordTextfield.placeholder = StringConstants().confirmPasswordPlaceholder - self.dobTitileLabel.text = StringConstants().dobTitlePlaceholder - self.dobTextField.placeholder = StringConstants().dobTitlePlaceholder - self.alreadyHaveAccountLabel.text = StringConstants().alreadyHaveAccountText - self.loginButton.setTitle(StringConstants().loginText, for: .normal) - self.registerButton.setTitle(StringConstants().registerText, for: .normal) - } -} - -// MARK: RegisterViewInterface -extension RegisterViewController: RegisterViewInterface { - func showLoading() { - self.showProgressHud() - } - - func hideLoading() { - self.hideProgressHud() - } - - func show(error: String) { - self.alert(message: error) - } - - func show(message: String) { - self.alertWithOk(message: message, title: "Success", okTitle: "Ok") { - self.presenter?.login() - } - } -} - - -extension RegisterViewController: TransKeyViewDelegate { - func secureInputFinish(_ type: Int) { - NSLog("secureInputFinish Btn Type : %d", type) - NSLog("secureInputFinish"); - var targetView : TransKeyView? - - NSLog("qwerty : " + isShowQwerty.description + " number : " + isShowNumber.description) - if isShowQwerty == true{ - qwertyCipherString = mQwertyTransKeyView?.mTK_GetSecureData() - - if showingPasswordField { - if mQwertyTransKeyView?.mTK_GetDataLength() == 0 { - self.encryptedPassword = "" - self.passwordTextField.text = "" - }else { - self.encryptedPassword = qwertyCipherString - self.passwordTextField.text = "password" - } } - - if showingConfirmPasswordField { - if mQwertyTransKeyView?.mTK_GetDataLength() == 0 { - - encryptedConfirmPassword = "" - self.confirmPasswordTextfield.text = "" - }else { - - encryptedConfirmPassword = qwertyCipherString - self.confirmPasswordTextfield.text = "password" - } - - } - - targetView = mQwertyTransKeyView - - // self.mQwertyTransKeyView?.dismissViewControllerAnimated(true, completion: nil) - - } - - isShowQwerty = false - isShowNumber = false - isTranskeyShowing = false - - targetView?.dismiss(animated: true, completion: nil) - - } - - func showQwertyPasswordTranskeyAction(){ - // let pbkdfKey = "acc4af609fad57f1cd870a5d94092a24be5fd974" - //// let salts = { 1, 6, 0, 7, 4, 4, 4, 4, 8, 8, 7, 1, 4, 3, 3, 3, 3, 3, 3, 3} - // var PBKDF2_SALT : NSData! - // let PBKDF2_IT = 512; - - // mQwertyTransKeyView?.mTK_SetPBKDF_RandKey(<#T##randkey: NSData!##NSData!#>) - - - // setQwertyTranskey() - - if mQwertyTransKeyView?.isBeingPresented == false { - isShowQwerty = true - isTranskeyShowing = true - - let hintStr = String(format:"password", 0) - let font = UIFont(name: "Arial", size: 15) - - mQwertyTransKeyView?.mTK_SetHint(hintStr, font: font) - mQwertyTransKeyView?.mTK_ShowMessageIfMaxLength("16자리 입력이 초과되었습니다.") - mQwertyTransKeyView?.mTK_UseCursor(true) - mQwertyTransKeyView?.mTK_UseAllDeleteButton(true) - mQwertyTransKeyView?.mTK_UseNavigationBar(true) - mQwertyTransKeyView?.mTK_UseVoiceOver(true) - mQwertyTransKeyView?.mTK_setHideInputPasswordDelay(3) - mQwertyTransKeyView?.mTK_SetControlCenter(false) - mQwertyTransKeyView?.mTK_setIgnoreStatusbar(false) - // mQwertyTransKeyView?.mTK_SetLanguage(1) - mQwertyTransKeyView?.mTK_Supported(byDeviceOrientation: SupportedByDevicePortraitAndLandscape) - - mQwertyTransKeyView?.setKeyboardType(self, - keypadType: 0, - mTK_inputType: 2, - mTK_inputTitle: "password", - mTK_cryptType: 0, - mTK_maxLength: 100, - mTK_minLength: 0, - mTK_keypadUpper: false, - mTK_languageType: 1) - mQwertyTransKeyView?.mTK_EnableSamekeyInputDataEncrypt(false) - mQwertyTransKeyView?.mTK_SetUseBalloonImageButton(true) - if let mQwertyTransKeyView = mQwertyTransKeyView { - self.present(mQwertyTransKeyView, animated: true, completion: nil) - } - } - - } -} - - -extension RegisterViewController: UITextFieldDelegate { - func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { - if textField == passwordTextField { - self.showingPasswordField = true - self.showingConfirmPasswordField = false - self.showQwertyPasswordTranskeyAction() - return false - } - - if textField == confirmPasswordTextfield { - self.showingConfirmPasswordField = true - self.showingPasswordField = false - self.showQwertyPasswordTranskeyAction() - return false - } - return true - } -}