diff --git a/TodayExtension/BRTodayViewController.m b/TodayExtension/BRTodayViewController.m index 4c8da9ae1..c503fd22e 100644 --- a/TodayExtension/BRTodayViewController.m +++ b/TodayExtension/BRTodayViewController.m @@ -47,14 +47,7 @@ @interface BRTodayViewController () @implementation BRTodayViewController - (void)viewDidLoad { - [super viewDidLoad]; - //TODO: TO REFACTOR TO SWIFT to add Firebase event test points - // Mixpanel.mainInstance().track(event: K.MixpanelEvents._20191105_VSC.rawValue) - // Mixpanel *mixpanel = [Mixpanel sharedInstance]; - // [mixpanel track:@"Plan selected" - // properties:@{ @"Plan": @"Premium" }]; - // Mixpanel - // _ = LWAnalytics.init(itemName: ._20191105_VSC, properties: nil) + [super viewDidLoad]; if ([[self.extensionContext class] instancesRespondToSelector:@selector(widgetLargestAvailableDisplayMode)]) { self.extensionContext.widgetLargestAvailableDisplayMode = NCWidgetDisplayModeExpanded; diff --git a/loafwallet.xcodeproj/project.pbxproj b/loafwallet.xcodeproj/project.pbxproj index 0cd2251d7..454122b07 100644 --- a/loafwallet.xcodeproj/project.pbxproj +++ b/loafwallet.xcodeproj/project.pbxproj @@ -307,7 +307,6 @@ C39A71472608CB4300E7B640 /* EmptyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C39A71462608CB4300E7B640 /* EmptyTableViewCell.swift */; }; C3A4647D259A646A00D74D81 /* DataValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A4647C259A646A00D74D81 /* DataValidation.swift */; }; C3B7C3B9255EABBF00E98A64 /* SupportSafariViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B7C3B8255EABBF00E98A64 /* SupportSafariViewModel.swift */; }; - C3B7C3C2255EAF1200E98A64 /* SupportSafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B7C3C1255EAF1200E98A64 /* SupportSafariView.swift */; }; C3B7C3EE255FF59200E98A64 /* ConstantsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B7C3ED255FF59200E98A64 /* ConstantsTests.swift */; }; C3BD49B72595420A00D97079 /* RegistrationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3BD49B62595420A00D97079 /* RegistrationViewModel.swift */; }; C3BD49C02595423400D97079 /* RegistrationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3BD49BF2595423400D97079 /* RegistrationView.swift */; }; @@ -1504,7 +1503,6 @@ C3A4647C259A646A00D74D81 /* DataValidation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataValidation.swift; sourceTree = ""; }; C3ACF2DE25DED601008671D4 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; C3B7C3B8255EABBF00E98A64 /* SupportSafariViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupportSafariViewModel.swift; sourceTree = ""; }; - C3B7C3C1255EAF1200E98A64 /* SupportSafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupportSafariView.swift; sourceTree = ""; }; C3B7C3ED255FF59200E98A64 /* ConstantsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConstantsTests.swift; sourceTree = ""; }; C3BD49B62595420A00D97079 /* RegistrationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegistrationViewModel.swift; sourceTree = ""; }; C3BD49BF2595423400D97079 /* RegistrationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegistrationView.swift; sourceTree = ""; }; @@ -3192,7 +3190,6 @@ C3543A25264AFE190005D17A /* Settings */, C3F7BCD825FEC69B00694C28 /* Alerts */, C32142E825C97CB900BECCD0 /* Transactions */, - C3B7C3C1255EAF1200E98A64 /* SupportSafariView.swift */, C3BD4A692597E1E900D97079 /* CardLoggedInView.swift */, C3BDB42926CDA74B004DAE77 /* CardNoTransferView.swift */, C35ABD08257404D2002BB9BB /* Partners */, @@ -4368,7 +4365,6 @@ CEC6AA3D1DEE687000EE5AFD /* RadialGradientView.swift in Sources */, 2494038123AF208F00369261 /* PromptModalViewController.swift in Sources */, C3C8E18B2694F3B9006522B7 /* PreTransferViewModel.swift in Sources */, - C3B7C3C2255EAF1200E98A64 /* SupportSafariView.swift in Sources */, CEEC70921E95DA4400EF788E /* GradientSwitch.swift in Sources */, CE0CD1591DBFBCF5004023DA /* ModalPresenter.swift in Sources */, C30AFB642598FFB200CDCF69 /* PartnerAPIManager.swift in Sources */, @@ -4823,7 +4819,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = loafwallet/loafwallet.entitlements; - CURRENT_PROJECT_VERSION = 380; + CURRENT_PROJECT_VERSION = 401; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZV7987N2ZC; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; @@ -4833,7 +4829,7 @@ "$(inherited)", ); INFOPLIST_FILE = "$(SRCROOT)/loafwallet/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -4905,7 +4901,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = loafwalletTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.2; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -4931,11 +4927,11 @@ CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 380; + CURRENT_PROJECT_VERSION = 401; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZV7987N2ZC; INFOPLIST_FILE = TodayExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5071,7 +5067,7 @@ DEVELOPMENT_TEAM = ZV7987N2ZC; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = loafwalletTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.2; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5099,7 +5095,7 @@ DEVELOPMENT_TEAM = ZV7987N2ZC; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = loafwalletTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.2; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5243,7 +5239,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = loafwallet/loafwallet.entitlements; - CURRENT_PROJECT_VERSION = 380; + CURRENT_PROJECT_VERSION = 401; DEVELOPMENT_TEAM = ZV7987N2ZC; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; FRAMEWORK_SEARCH_PATHS = ( @@ -5252,7 +5248,7 @@ "$(inherited)", ); INFOPLIST_FILE = "$(SRCROOT)/loafwallet/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5274,10 +5270,10 @@ CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 380; + CURRENT_PROJECT_VERSION = 401; DEVELOPMENT_TEAM = ZV7987N2ZC; INFOPLIST_FILE = TodayExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5375,7 +5371,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = loafwallet/loafwallet.entitlements; - CURRENT_PROJECT_VERSION = 380; + CURRENT_PROJECT_VERSION = 401; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZV7987N2ZC; FRAMEWORK_SEARCH_PATHS = ( @@ -5384,7 +5380,7 @@ "$(inherited)", ); INFOPLIST_FILE = "$(SRCROOT)/loafwallet/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5407,11 +5403,11 @@ CODE_SIGN_ENTITLEMENTS = TodayExtension/TodayExtension.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 380; + CURRENT_PROJECT_VERSION = 401; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZV7987N2ZC; INFOPLIST_FILE = TodayExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/loafwallet.xcworkspace/xcshareddata/swiftpm/Package.resolved b/loafwallet.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 5d6509f5d..000000000 --- a/loafwallet.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,14 +0,0 @@ -{ - "pins" : [ - { - "identity" : "litewalletpartnerapi", - "kind" : "remoteSourceControl", - "location" : "/~https://github.com/litecoin-foundation/LitewalletPartnerAPI.git", - "state" : { - "revision" : "fb3a9649abfdd31eeb202980820f23cea305567b", - "version" : "0.8.1" - } - } - ], - "version" : 2 -} diff --git a/loafwallet/BuyTableViewController.swift b/loafwallet/BuyTableViewController.swift index b94650c71..a6d2882ff 100644 --- a/loafwallet/BuyTableViewController.swift +++ b/loafwallet/BuyTableViewController.swift @@ -111,6 +111,8 @@ class BuyTableViewController: UITableViewController, SFSafariViewControllerDeleg simplexCurrencySegmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor.liteWalletBlue], for: .selected) setupWkVCData() + + LWAnalytics.logEventWithParameters(itemName: ._20191105_DTBT) } private func setupWkVCData() { diff --git a/loafwallet/PartnerData.swift b/loafwallet/PartnerData.swift index 5bf21ccb0..a21d49bd5 100644 --- a/loafwallet/PartnerData.swift +++ b/loafwallet/PartnerData.swift @@ -26,8 +26,7 @@ struct Partner { let bitrefill = Partner(logo: UIImage(named: "bitrefillLogo")!, headerTitle: S.BuyCenter.Cells.bitrefillTitle, details: S.BuyCenter.Cells.bitrefillFinancialDetails) let moonpay = Partner(logo: UIImage(named: "moonpay-logo")!, headerTitle: S.BuyCenter.Cells.moonpayTitle, details: S.BuyCenter.Cells.moonpayFinancialDetails) - let simplex = Partner(logo: UIImage(named: "simplexLogo")!, headerTitle: S.BuyCenter.Cells.simplexTitle, details: S.BuyCenter.Cells.simplexFinancialDetails) - return [bitrefill, moonpay, simplex] - } + let simplex = Partner(logo: UIImage(named: "simplexLogo")!, headerTitle: S.BuyCenter.Cells.simplexTitle, details: S.BuyCenter.Cells.simplexFinancialDetails) + } } diff --git a/loafwallet/SupportSafariView.swift b/loafwallet/SupportSafariView.swift deleted file mode 100644 index 7c9ed755f..000000000 --- a/loafwallet/SupportSafariView.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// SupportSafariView.swift -// loafwallet -// -// Created by Kerry Washington on 11/13/20. -// Copyright © 2020 Litecoin Foundation. All rights reserved. -// - -import SwiftUI -import WebKit - -/// Customized version of Embedded WKWebView -struct SupportSafariView: UIViewRepresentable { - - //MARK: - Combine Variables - @ObservedObject - var viewModel: SupportSafariViewModel - - //MARK: - Public Variables - let url: URL - var wkWebView = WKWebView() - - init(url: URL, viewModel: SupportSafariViewModel) { - self.viewModel = viewModel - self.url = url - } - - class Coordinator: NSObject, WKUIDelegate, WKNavigationDelegate { - var parent: SupportSafariView - private var wkWebView: WKWebView - - init(_ parent: SupportSafariView) { - self.parent = parent - self.wkWebView = self.parent.wkWebView - } - - /// WKNavigationDelegate Method - /// - Parameters: - /// - webView: Embedded webView - /// - navigation: nil - func webView(_ webView: WKWebView, - didFinish navigation: WKNavigation!) { } - } - - func makeUIView(context: Context) -> WKWebView { - return WKWebView(frame: .zero) - } - - func updateUIView(_ view: WKWebView, context: Context) { - - /// Sets the delegates and lets coordinator fire delegate actions - view.uiDelegate = context.coordinator - view.navigationDelegate = context.coordinator - - view.load(URLRequest(url: self.url)) - } - - func makeCoordinator() -> Coordinator { - Coordinator(self) - } - - func reload(){ - wkWebView.reload() - } - -} - -struct GenericSafariView_Previews: PreviewProvider { - static let viewModel = SupportSafariViewModel() - static var previews: some View { - SupportSafariView(url: FoundationSupport.url, viewModel: viewModel) - } -} diff --git a/loafwallet/src/Constants/Constants.swift b/loafwallet/src/Constants/Constants.swift index 3da40944a..f5f69a210 100644 --- a/loafwallet/src/Constants/Constants.swift +++ b/loafwallet/src/Constants/Constants.swift @@ -47,121 +47,113 @@ enum WalletType: String { /// Custom Event Enum: Events related to different user based actions enum CustomEvent: String { /// App Launched - case _20191105_AL = "APP_LAUNCHED" + case _20191105_AL = "app_launched" + + /// Visit Receive Controller + case _20202116_VRC = "visited_received_controller" - /// App Visit Send Controller - case _20191105_VSC = "VISIT_SEND_CONTROLLER" + /// Visit Send Controller + case _20191105_VSC = "visited_send_controller" - /// Visit Receive Controller - case _20202116_VRC = "VISIT_RECEIVE_CONTROLLER" + /// Did Tap Buy Tab Controller + case _20191105_DTBT = "did_tap_buy_tab" /// Did Send LTC - case _20191105_DSL = "DID_SEND_LTC" + case _20191105_DSL = "did_send_ltc" - /// Updated LTC price - case _20191105_DULP = "DID_UPDATE_LTC_PRICE" - - /// User tapped Buy tab - case _20191105_DTBT = "DID_TAP_BUY_TAB" + /// Did Tap Support + case _20201118_DTS = "did_tap_support" /// Entered dispatch group - case _20200111_DEDG = "DID_ENTER_DISPATCH_GROUP" - + case _20200111_DEDG = "did_enter_dispatch_group" + /// Left dispatch group - case _20200111_DLDG = "DID_LEAVE_DISPATCH_GROUP" - + case _20200111_DLDG = "did_leave_dispatch_group" + /// Rate not initialized - case _20200111_RNI = "RATE_NOT_INITIALIZED" + case _20200111_RNI = "rate_not_initialized" /// Fee per kb not initialized - case _20200111_FNI = "FEEPERKB_NOT_INITIALIZED" + case _20200111_FNI = "feeperkb_not_initialized" /// Transaction not initialized - case _20200111_TNI = "TRANSACTION_NOT_INITIALIZED" + case _20200111_TNI = "transaction_not_initialized" /// Wallet not initialized - case _20200111_WNI = "WALLET_NOT_INITIALIZED" + case _20200111_WNI = "wallet_not_initialized" /// Phrase not initialized - case _20200111_PNI = "PHRASE_NOT_INITIALIZED" + case _20200111_PNI = "phrase_not_initialized" /// Unable to sign transaction - case _20200111_UTST = "UNABLE_TO_SIGN_TRANSACTION" - + case _20200111_UTST = "unable_to_sign_transaction" + /// Generalized Error - case _20200112_ERR = "ERROR" + case _20200112_ERR = "error" /// Keychain Lookup - case _20210804_ERR_KLF = "ERROR_KEY_LOOKUP_FAILURE" + case _20210804_ERR_KLF = "error_key_lookup_failure" /// Started resync - case _20200112_DSR = "DID_START_RESYNC" + case _20200112_DSR = "did_start_resync" /// Showed review request - case _20200125_DSRR = "DID_SHOW_REVIEW_REQUEST" - + case _20200125_DSRR = "did_show_review_request" + /// Unlocked in with PIN - case _20200217_DUWP = "DID_UNLOCK_WITH_PIN" - + case _20200217_DUWP = "did_unlock_with_pin" + /// App Launched - case _20200217_DUWB = "DID_UNLOCK_WITH_BIOMETRICS" - - /// Did donate - case _20200223_DD = "DID_DONATE" - - /// Did cancel donation - case _20200225_DCD = "DID_CANCEL_DONATE" + case _20200217_DUWB = "did_unlock_with_biometrics" /// Did use default fee per kb - case _20200301_DUDFPK = "DID_USE_DEFAULT_FEE_PER_KB" - + case _20200301_DUDFPK = "did_use_default_fee_per_kb" + /// User tapped support LF - case _20201118_DTS = "DID_TAP_SUPPORT_LF" + case _20201118_DTGS = "did_tap_get_support" /// Started IFPS Lookup - case _20201121_SIL = "STARTED_IFPS_LOOKUP" + case _20201121_SIL = "started_IFPS_lookup" /// Resolved IPFS Address - case _20201121_DRIA = "DID_RESOLVE_IPFS_ADDRESS" + case _20201121_DRIA = "did_resolve_IPFS_address" /// Failed to resolve IPFS Address - case _20201121_FRIA = "FAILED_RESOLVE_IPFS_ADDRESS" - + case _20201121_FRIA = "failed_resolve_IPFS_address" + /// User tapped balance - case _20200207_DTHB = "DID_TAP_HEADER_BALANCE" + case _20200207_DTHB = "did_tap_header_balance" /// Ternio API Wallet details failure - case _20210405_TAWDF = "TERNIO_API_WALLET_DETAILS_FAILURE" - + case _20210405_TAWDF = "ternio_api_wallet_details_failure" + /// Ternio API Authenticate Enable 2FA change - case _20210804_TAA2FAC = "TERNIO_API_AUTH_2FA_CHANGE" + case _20210804_TAA2FAC = "ternio_API_auth_2FA_change" /// Ternio API Wallet details success - case _20210804_TAWDS = "TERNIO_API_WALLET_DETAILS_SUCCESS" + case _20210804_TAWDS = "ternio_API_wallet_details_success" /// Ternio API Login - case _20210804_TAULI = "TERNIO_API_USER_LOG_IN" + case _20210804_TAULI = "ternio_API_user_log_in" /// Ternio API Logout - case _20210804_TAULO = "TERNIO_API_USER_LOG_OUT" - - /// Ternio API withdrawal to Litewallet - case _20210804_TAWTL = "TERNIO_API_WITHDRAWAL_TO_LITEWALLET" - + case _20210804_TAULO = "ternio_API_user_log_out" + /// Heartbeat check If event even happens - case _20210427_HCIEEH = "HEARTBEAT_CHECK_IF_EVENT_EVEN_HAPPENS" + case _20210427_HCIEEH = "heartbeat_check_if_event_even_happens" /// User Tapped on UD Image - case _20220822_UTOU = "USER_TAPPED_ON_UD" + case _20220822_UTOU = "user_tapped_on_ud" + } struct FoundationSupport { - static let url = URL(string: "https://lite-wallet.org/support_address.html")! + static let dashboard = "https://litecoinfoundation.zendesk.com/" /// Litecoin Foundation main donation address: MVZj7gBRwcVpa9AAWdJm8A3HqTst112eJe /// As of Nov 14th, 2020 - static let supportLTCAddress = "MVZj7gBRwcVpa9AAWdJm8A3HqTst112eJe" + static let donationLTCAddress = "MVZj7gBRwcVpa9AAWdJm8A3HqTst112eJe" } struct APIServer { diff --git a/loafwallet/src/ModalPresenter.swift b/loafwallet/src/ModalPresenter.swift index 6217e8ac0..ac6eac53b 100644 --- a/loafwallet/src/ModalPresenter.swift +++ b/loafwallet/src/ModalPresenter.swift @@ -363,10 +363,12 @@ class ModalPresenter : Subscriber, Trackable { menu.didTapSupport = { [weak self, weak menu] in menu?.dismiss(animated: true, completion: { - let urlString = "https://support.litewallet.io" + let urlString = FoundationSupport.dashboard guard let url = URL(string: urlString) else { return } + LWAnalytics.logEventWithParameters(itemName: ._20201118_DTS) + let vc = SFSafariViewController(url: url) self?.topViewController?.present(vc, animated: true, completion: nil) }) diff --git a/loafwallet/src/ViewControllers/AboutViewController.swift b/loafwallet/src/ViewControllers/AboutViewController.swift index 7b456b949..d5e2fbef6 100644 --- a/loafwallet/src/ViewControllers/AboutViewController.swift +++ b/loafwallet/src/ViewControllers/AboutViewController.swift @@ -101,7 +101,7 @@ class AboutViewController : UIViewController { myself.presentURL(string: "https://www.reddit.com/r/Litewallet/") } privacy.tap = strongify(self) { myself in - myself.presentURL(string: "http://lite-wallet.org/policy.html") + myself.presentURL(string: "https://litewallet.io/privacy/policy.html") } } diff --git a/loafwallet/src/ViewControllers/RootModals/SendViewController.swift b/loafwallet/src/ViewControllers/RootModals/SendViewController.swift index 1f570a851..f8cf1ed66 100644 --- a/loafwallet/src/ViewControllers/RootModals/SendViewController.swift +++ b/loafwallet/src/ViewControllers/RootModals/SendViewController.swift @@ -38,7 +38,11 @@ class SendViewController : UIViewController, Subscriber, ModalPresentable, Track self.initialRequest = initialRequest self.currency = ShadowButton(title: S.Symbols.currencyButtonTitle(maxDigits: store.state.maxDigits), type: .tertiary) self.amountView = AmountViewController(store: store, isPinPadExpandedAtLaunch: false) + + LWAnalytics.logEventWithParameters(itemName: ._20191105_VSC) + super.init(nibName: nil, bundle: nil) + NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(notification:)), name: .UIKeyboardWillShow, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(notification:)), name: .UIKeyboardWillHide, object: nil) }