From cc9a4a288a6b9940ff21e7c08dc01b3503f2ba2f Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Thu, 20 Sep 2018 23:02:53 -0400 Subject: [PATCH] fix analytics for autofill events --- src/iOS.Autofill/LoginAddViewController.cs | 1 + .../PasswordGeneratorViewController.cs | 2 +- .../Controllers/LoginAddViewController.cs | 7 ++-- .../PasswordGeneratorViewController.cs | 34 ++++++++++++++++--- src/iOS.Extension/LoginAddViewController.cs | 1 + .../PasswordGeneratorViewController.cs | 2 +- 6 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/iOS.Autofill/LoginAddViewController.cs b/src/iOS.Autofill/LoginAddViewController.cs index 1a24c50eb..d0d7d8179 100644 --- a/src/iOS.Autofill/LoginAddViewController.cs +++ b/src/iOS.Autofill/LoginAddViewController.cs @@ -17,6 +17,7 @@ namespace Bit.iOS.Autofill public override Action Success => () => { + _googleAnalyticsService.TrackAutofillExtensionEvent("CreatedLogin"); LoginListController?.DismissModal(); }; diff --git a/src/iOS.Autofill/PasswordGeneratorViewController.cs b/src/iOS.Autofill/PasswordGeneratorViewController.cs index 46f904496..402cef12b 100644 --- a/src/iOS.Autofill/PasswordGeneratorViewController.cs +++ b/src/iOS.Autofill/PasswordGeneratorViewController.cs @@ -5,7 +5,7 @@ namespace Bit.iOS.Autofill { public partial class PasswordGeneratorViewController : Core.Controllers.PasswordGeneratorViewController { - public PasswordGeneratorViewController(IntPtr handle) : base(handle) + public PasswordGeneratorViewController(IntPtr handle) : base(handle, true) { } public LoginAddViewController Parent { get; set; } diff --git a/src/iOS.Core/Controllers/LoginAddViewController.cs b/src/iOS.Core/Controllers/LoginAddViewController.cs index 775a9c10a..49ca2504b 100644 --- a/src/iOS.Core/Controllers/LoginAddViewController.cs +++ b/src/iOS.Core/Controllers/LoginAddViewController.cs @@ -22,10 +22,12 @@ namespace Bit.iOS.Core.Controllers private IFolderService _folderService; private IConnectivity _connectivity; private IEnumerable _folders; - private IGoogleAnalyticsService _googleAnalyticsService; + protected IGoogleAnalyticsService _googleAnalyticsService; + private bool _isAutofill; public LoginAddViewController(IntPtr handle) : base(handle) - { } + { + } public AppExtensionContext Context { get; set; } public FormEntryTableViewCell NameCell { get; set; } = new FormEntryTableViewCell(AppResources.Name); @@ -171,7 +173,6 @@ namespace Bit.iOS.Core.Controllers await loadingAlert.DismissViewControllerAsync(true); if(saveTask.Result.Succeeded) { - _googleAnalyticsService.TrackExtensionEvent("CreatedLogin"); Success(); } else if(saveTask.Result.Errors.Count() > 0) diff --git a/src/iOS.Core/Controllers/PasswordGeneratorViewController.cs b/src/iOS.Core/Controllers/PasswordGeneratorViewController.cs index c8ea40754..089c7b447 100644 --- a/src/iOS.Core/Controllers/PasswordGeneratorViewController.cs +++ b/src/iOS.Core/Controllers/PasswordGeneratorViewController.cs @@ -17,9 +17,12 @@ namespace Bit.iOS.Core.Controllers { private IPasswordGenerationService _passwordGenerationService; private ISettings _settings; + private bool _isAutofill; - public PasswordGeneratorViewController(IntPtr handle) : base(handle) - { } + public PasswordGeneratorViewController(IntPtr handle, bool autofill) : base(handle) + { + _isAutofill = autofill; + } protected IGoogleAnalyticsService GoogleAnalyticsService { get; private set; } public UITableViewController OptionsTableViewController { get; set; } @@ -146,7 +149,14 @@ namespace Bit.iOS.Core.Controllers } GeneratePassword(); - GoogleAnalyticsService.TrackExtensionEvent("GeneratedPassword"); + if(_isAutofill) + { + GoogleAnalyticsService.TrackAutofillExtensionEvent("GeneratedPassword"); + } + else + { + GoogleAnalyticsService.TrackExtensionEvent("GeneratedPassword"); + } base.ViewDidLoad(); } @@ -304,12 +314,26 @@ namespace Bit.iOS.Core.Controllers { if(indexPath.Row == 0) { - _controller.GoogleAnalyticsService.TrackExtensionEvent("RegeneratedPassword"); + if(_controller._isAutofill) + { + _controller.GoogleAnalyticsService.TrackAutofillExtensionEvent("RegeneratedPassword"); + } + else + { + _controller.GoogleAnalyticsService.TrackExtensionEvent("RegeneratedPassword"); + } _controller.GeneratePassword(); } else if(indexPath.Row == 1) { - _controller.GoogleAnalyticsService.TrackExtensionEvent("CopiedGeneratedPassword"); + if(_controller._isAutofill) + { + _controller.GoogleAnalyticsService.TrackAutofillExtensionEvent("CopiedGeneratedPassword"); + } + else + { + _controller.GoogleAnalyticsService.TrackExtensionEvent("CopiedGeneratedPassword"); + } UIPasteboard clipboard = UIPasteboard.General; clipboard.String = _controller.BasePasswordLabel.Text; var alert = Dialogs.CreateMessageAlert(AppResources.Copied); diff --git a/src/iOS.Extension/LoginAddViewController.cs b/src/iOS.Extension/LoginAddViewController.cs index acaa68a7a..ce1c83613 100644 --- a/src/iOS.Extension/LoginAddViewController.cs +++ b/src/iOS.Extension/LoginAddViewController.cs @@ -18,6 +18,7 @@ namespace Bit.iOS.Extension public override Action Success => () => { + _googleAnalyticsService.TrackExtensionEvent("CreatedLogin"); if(LoginListController != null) { LoginListController.DismissModal(); diff --git a/src/iOS.Extension/PasswordGeneratorViewController.cs b/src/iOS.Extension/PasswordGeneratorViewController.cs index 36f3b99aa..4b015c243 100644 --- a/src/iOS.Extension/PasswordGeneratorViewController.cs +++ b/src/iOS.Extension/PasswordGeneratorViewController.cs @@ -5,7 +5,7 @@ namespace Bit.iOS.Extension { public partial class PasswordGeneratorViewController : Core.Controllers.PasswordGeneratorViewController { - public PasswordGeneratorViewController(IntPtr handle) : base(handle) + public PasswordGeneratorViewController(IntPtr handle) : base(handle, false) { } public LoginAddViewController Parent { get; set; }