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.

85 lines
2.4 KiB

  1. //
  2. // Keyboard.swift
  3. // GME Remit
  4. //
  5. // Created by gme_2 on 30/01/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. protocol KeyboardPresenterDelegate {
  10. var presenter: TransKeyViewDelegate! {get}
  11. func parentViewDidDisappear()
  12. }
  13. class KeyBoard {
  14. static let shared = KeyBoard()
  15. var presenter: TransKeyViewDelegate!
  16. // keyboard
  17. var mQwertyTransKeyView : TransKeyView!
  18. var mNumberTransKeyView : TransKeyView!
  19. var secureKey : NSData!
  20. var numberCipherString : String!
  21. var qwertyCipherString : String!
  22. var isTranskeyShowing : Bool!
  23. var isShowQwerty : Bool!
  24. var isShowNumber : Bool!
  25. private init() {
  26. }
  27. func setup() {
  28. isShowNumber = false
  29. isShowQwerty = false
  30. isTranskeyShowing = false
  31. let iv: Array<String> = ["M", "o", "b", "i", "l", "e", "T", "r" , "a", "n", "s", "K", "e", "y", "1", "0"]
  32. secureKey = NSData(bytes: iv, length: 16)
  33. NSLog("securekey : %@", secureKey)
  34. // securekey : <d689e80d 01000000 01000000 00000000>
  35. // real securekey : <4d6f6269 6c655472 616e734b 65793130>
  36. setQwertyTranskey()
  37. setNumberTranskey()
  38. }
  39. func setQwertyTranskey(){
  40. mQwertyTransKeyView = TransKeyView()
  41. mQwertyTransKeyView?.mTK_Init(presenter)
  42. mQwertyTransKeyView?.delegate = presenter
  43. mQwertyTransKeyView?.mTK_SetSecureKey(secureKey as Data!)
  44. mQwertyTransKeyView?.mTK_Supported(byDeviceOrientation: SupportedByDevicePortraitAndLandscape)
  45. mQwertyTransKeyView?.mTK_LicenseCheck("license_mtranskey")
  46. }
  47. func setNumberTranskey(){
  48. mNumberTransKeyView = TransKeyView()
  49. mNumberTransKeyView?.mTK_Init(presenter)
  50. mNumberTransKeyView?.delegate = presenter
  51. mNumberTransKeyView?.mTK_SetSecureKey(secureKey as Data!)
  52. mNumberTransKeyView?.mTK_Supported(byDeviceOrientation: SupportedByDevicePortraitAndLandscape)
  53. mNumberTransKeyView?.mTK_LicenseCheck("license_mtranskey")
  54. }
  55. }
  56. extension KeyBoard: KeyboardPresenterDelegate {
  57. func parentViewDidDisappear() {
  58. mQwertyTransKeyView?.mTK_ClearDelegateSubviews()
  59. mNumberTransKeyView?.mTK_ClearDelegateSubviews()
  60. if isTranskeyShowing == false{
  61. mQwertyTransKeyView?.delegate = nil;
  62. mNumberTransKeyView?.delegate = nil;
  63. }
  64. }
  65. }