Update Analytics from Steve's comments.

This commit is contained in:
Doug
2021-10-08 12:50:39 +01:00
parent 4e0c76885d
commit e66fd1b557
3 changed files with 22 additions and 19 deletions
@@ -19,7 +19,7 @@
import UIKit
@objcMembers
final class ServiceTermsModalCoordinator: ServiceTermsModalCoordinatorType {
final class ServiceTermsModalCoordinator: NSObject, ServiceTermsModalCoordinatorType {
// MARK: - Properties
@@ -51,6 +51,8 @@ final class ServiceTermsModalCoordinator: ServiceTermsModalCoordinatorType {
rootCoordinator.start()
self.add(childCoordinator: rootCoordinator)
self.toPresentable().presentationController?.delegate = self
self.navigationRouter.setRootModule(rootCoordinator)
}
@@ -104,6 +106,10 @@ final class ServiceTermsModalCoordinator: ServiceTermsModalCoordinatorType {
extension ServiceTermsModalCoordinator: ServiceTermsModalScreenCoordinatorDelegate {
func serviceTermsModalScreenCoordinatorDidAccept(_ coordinator: ServiceTermsModalScreenCoordinatorType) {
if serviceTerms.serviceType == MXServiceTypeIdentityService {
Analytics.sharedInstance().trackValue(1, category: MXKAnalyticsCategory.contacts.rawValue, name: AnalyticsContactsIdentityServerAccepted)
}
self.delegate?.serviceTermsModalCoordinatorDidAccept(self)
}
@@ -113,9 +119,21 @@ extension ServiceTermsModalCoordinator: ServiceTermsModalScreenCoordinatorDelega
func serviceTermsModalScreenCoordinatorDidDecline(_ coordinator: ServiceTermsModalScreenCoordinatorType) {
if serviceTerms.serviceType == MXServiceTypeIdentityService {
Analytics.sharedInstance().trackValue(1, category: MXKAnalyticsCategory.contacts.rawValue, name: AnalyticsContactsIdentityServerAccepted)
disableIdentityServer()
}
self.delegate?.serviceTermsModalCoordinatorDidDecline(self)
}
}
// MARK: - UIAdaptivePresentationControllerDelegate
extension ServiceTermsModalCoordinator: UIAdaptivePresentationControllerDelegate {
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
if serviceTerms.serviceType == MXServiceTypeIdentityService {
Analytics.sharedInstance().trackValue(0, category: MXKAnalyticsCategory.contacts.rawValue, name: AnalyticsContactsIdentityServerAccepted)
}
self.delegate?.serviceTermsModalCoordinatorDidDismissInteractively(self)
}
}
@@ -68,7 +68,6 @@ final class ServiceTermsModalCoordinatorBridgePresenter: NSObject {
let serviceTermsModalCoordinator = ServiceTermsModalCoordinator(session: self.session, baseUrl: self.baseUrl, serviceType: self.serviceType, accessToken: accessToken)
serviceTermsModalCoordinator.delegate = self
let presentable = serviceTermsModalCoordinator.toPresentable()
presentable.presentationController?.delegate = self
viewController.present(presentable, animated: animated, completion: nil)
serviceTermsModalCoordinator.start()
@@ -98,28 +97,13 @@ extension ServiceTermsModalCoordinatorBridgePresenter: ServiceTermsModalCoordina
func serviceTermsModalCoordinatorDidAccept(_ coordinator: ServiceTermsModalCoordinatorType) {
self.delegate?.serviceTermsModalCoordinatorBridgePresenterDelegateDidAccept(self)
if serviceType == MXServiceTypeIdentityService {
Analytics.sharedInstance().trackValue(1, category: kMXKAnalyticsContactsCategory, name: AnalyticsContactsIdentityServerAccepted)
}
}
func serviceTermsModalCoordinatorDidDecline(_ coordinator: ServiceTermsModalCoordinatorType) {
self.delegate?.serviceTermsModalCoordinatorBridgePresenterDelegateDidDecline(self, session: self.session)
if serviceType == MXServiceTypeIdentityService {
Analytics.sharedInstance().trackValue(0, category: kMXKAnalyticsContactsCategory, name: AnalyticsContactsIdentityServerAccepted)
}
}
}
// MARK: - UIAdaptivePresentationControllerDelegate
extension ServiceTermsModalCoordinatorBridgePresenter: UIAdaptivePresentationControllerDelegate {
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
func serviceTermsModalCoordinatorDidDismissInteractively(_ coordinator: ServiceTermsModalCoordinatorType) {
self.delegate?.serviceTermsModalCoordinatorBridgePresenterDelegateDidClose(self)
if serviceType == MXServiceTypeIdentityService {
Analytics.sharedInstance().trackValue(0, category: kMXKAnalyticsContactsCategory, name: AnalyticsContactsIdentityServerAccepted)
}
}
}
@@ -21,6 +21,7 @@ import Foundation
protocol ServiceTermsModalCoordinatorDelegate: AnyObject {
func serviceTermsModalCoordinatorDidAccept(_ coordinator: ServiceTermsModalCoordinatorType)
func serviceTermsModalCoordinatorDidDecline(_ coordinator: ServiceTermsModalCoordinatorType)
func serviceTermsModalCoordinatorDidDismissInteractively(_ coordinator: ServiceTermsModalCoordinatorType)
}
/// `ServiceTermsModalCoordinatorType` is a protocol describing a Coordinator that handle keybackup setup navigation flow.