From adb3dc78eeb54d8bc5f64b829431c8afb7ea474a Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 3 Oct 2018 00:21:22 -0400 Subject: [PATCH] remove analytics in favor of platform utils --- jslib | 2 +- src/popup/accounts/environment.component.ts | 9 +++------ src/popup/accounts/hint.component.ts | 9 +++------ src/popup/accounts/lock.component.ts | 7 ++----- src/popup/accounts/login.component.ts | 8 +++----- src/popup/accounts/register.component.ts | 6 +----- src/popup/accounts/two-factor-options.component.ts | 5 +---- src/popup/accounts/two-factor.component.ts | 6 +----- src/popup/app.component.ts | 5 +++++ .../generator/password-generator-history.component.ts | 9 +++------ src/popup/generator/password-generator.component.ts | 10 ++++------ src/popup/settings/export.component.ts | 7 ++----- src/popup/settings/folder-add-edit.component.ts | 5 +---- src/popup/settings/premium.component.ts | 7 ++----- src/popup/vault/add-edit.component.ts | 6 +----- src/popup/vault/attachments.component.ts | 7 ++----- src/popup/vault/password-history.component.ts | 10 ++++------ src/popup/vault/view.component.ts | 9 +++------ src/services/browserPlatformUtils.service.ts | 9 ++++++++- 19 files changed, 50 insertions(+), 86 deletions(-) diff --git a/jslib b/jslib index f793ff0aa57..7ae640e5f8d 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit f793ff0aa57ef9ffcf09323d1f557c7c24509c1e +Subproject commit 7ae640e5f8de3454fe8279aab2717abd6d12ca42 diff --git a/src/popup/accounts/environment.component.ts b/src/popup/accounts/environment.component.ts index a22b4dc2400..f57b3c99395 100644 --- a/src/popup/accounts/environment.component.ts +++ b/src/popup/accounts/environment.component.ts @@ -1,8 +1,6 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { EnvironmentService } from 'jslib/abstractions/environment.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; @@ -14,10 +12,9 @@ import { EnvironmentComponent as BaseEnvironmentComponent } from 'jslib/angular/ templateUrl: 'environment.component.html', }) export class EnvironmentComponent extends BaseEnvironmentComponent { - constructor(analytics: Angulartics2, platformUtilsService: PlatformUtilsService, - environmentService: EnvironmentService, i18nService: I18nService, - private router: Router) { - super(analytics, platformUtilsService, environmentService, i18nService); + constructor(platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService, + i18nService: I18nService, private router: Router) { + super(platformUtilsService, environmentService, i18nService); this.showCustom = true; } diff --git a/src/popup/accounts/hint.component.ts b/src/popup/accounts/hint.component.ts index 3c476b1ddd3..f9c89ed6e82 100644 --- a/src/popup/accounts/hint.component.ts +++ b/src/popup/accounts/hint.component.ts @@ -1,8 +1,6 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { ApiService } from 'jslib/abstractions/api.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; @@ -14,9 +12,8 @@ import { HintComponent as BaseHintComponent } from 'jslib/angular/components/hin templateUrl: 'hint.component.html', }) export class HintComponent extends BaseHintComponent { - constructor(router: Router, analytics: Angulartics2, - platformUtilsService: PlatformUtilsService, i18nService: I18nService, - apiService: ApiService) { - super(router, analytics, i18nService, apiService, platformUtilsService); + constructor(router: Router, platformUtilsService: PlatformUtilsService, + i18nService: I18nService, apiService: ApiService) { + super(router, i18nService, apiService, platformUtilsService); } } diff --git a/src/popup/accounts/lock.component.ts b/src/popup/accounts/lock.component.ts index 73ad7791192..54da2f0109e 100644 --- a/src/popup/accounts/lock.component.ts +++ b/src/popup/accounts/lock.component.ts @@ -4,8 +4,6 @@ import { } from '@angular/core'; import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { CryptoService } from 'jslib/abstractions/crypto.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { MessagingService } from 'jslib/abstractions/messaging.service'; @@ -19,11 +17,10 @@ import { LockComponent as BaseLockComponent } from 'jslib/angular/components/loc templateUrl: 'lock.component.html', }) export class LockComponent extends BaseLockComponent implements OnInit { - constructor(router: Router, analytics: Angulartics2, - i18nService: I18nService, + constructor(router: Router, i18nService: I18nService, platformUtilsService: PlatformUtilsService, messagingService: MessagingService, userService: UserService, cryptoService: CryptoService) { - super(router, analytics, i18nService, platformUtilsService, messagingService, userService, cryptoService); + super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService); this.successRoute = '/tabs/current'; } diff --git a/src/popup/accounts/login.component.ts b/src/popup/accounts/login.component.ts index e5856968bcd..dbe0a63aaf5 100644 --- a/src/popup/accounts/login.component.ts +++ b/src/popup/accounts/login.component.ts @@ -1,8 +1,6 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { AuthService } from 'jslib/abstractions/auth.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; @@ -17,9 +15,9 @@ import { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/l }) export class LoginComponent extends BaseLoginComponent { constructor(authService: AuthService, router: Router, - analytics: Angulartics2, platformUtilsService: PlatformUtilsService, - i18nService: I18nService, syncService: SyncService, storageService: StorageService) { - super(authService, router, analytics, platformUtilsService, i18nService, storageService); + platformUtilsService: PlatformUtilsService, i18nService: I18nService, + syncService: SyncService, storageService: StorageService) { + super(authService, router, platformUtilsService, i18nService, storageService); super.onSuccessfulLogin = () => { return syncService.fullSync(true); }; diff --git a/src/popup/accounts/register.component.ts b/src/popup/accounts/register.component.ts index a305598fc07..5db5d6dae94 100644 --- a/src/popup/accounts/register.component.ts +++ b/src/popup/accounts/register.component.ts @@ -1,8 +1,6 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { ApiService } from 'jslib/abstractions/api.service'; import { AuthService } from 'jslib/abstractions/auth.service'; import { CryptoService } from 'jslib/abstractions/crypto.service'; @@ -18,11 +16,9 @@ import { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/compon }) export class RegisterComponent extends BaseRegisterComponent { constructor(authService: AuthService, router: Router, - analytics: Angulartics2, i18nService: I18nService, cryptoService: CryptoService, apiService: ApiService, stateService: StateService, platformUtilsService: PlatformUtilsService) { - super(authService, router, analytics, i18nService, cryptoService, apiService, stateService, - platformUtilsService); + super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService); } } diff --git a/src/popup/accounts/two-factor-options.component.ts b/src/popup/accounts/two-factor-options.component.ts index b7be50bc0d1..bf2842456b1 100644 --- a/src/popup/accounts/two-factor-options.component.ts +++ b/src/popup/accounts/two-factor-options.component.ts @@ -1,8 +1,6 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { AuthService } from 'jslib/abstractions/auth.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; @@ -17,9 +15,8 @@ import { }) export class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent { constructor(authService: AuthService, router: Router, - analytics: Angulartics2, i18nService: I18nService, platformUtilsService: PlatformUtilsService) { - super(authService, router, analytics, i18nService, platformUtilsService, window); + super(authService, router, i18nService, platformUtilsService, window); } choose(p: any) { diff --git a/src/popup/accounts/two-factor.component.ts b/src/popup/accounts/two-factor.component.ts index a58dfaf597b..82b7459f9d2 100644 --- a/src/popup/accounts/two-factor.component.ts +++ b/src/popup/accounts/two-factor.component.ts @@ -6,8 +6,6 @@ import { import { Router } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { BrowserApi } from '../../browser/browserApi'; import { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType'; @@ -33,13 +31,11 @@ export class TwoFactorComponent extends BaseTwoFactorComponent { showNewWindowMessage = false; constructor(authService: AuthService, router: Router, - analytics: Angulartics2, i18nService: I18nService, apiService: ApiService, platformUtilsService: PlatformUtilsService, syncService: SyncService, environmentService: EnvironmentService, private ngZone: NgZone, private broadcasterService: BroadcasterService, private changeDetectorRef: ChangeDetectorRef) { - super(authService, router, analytics, i18nService, apiService, platformUtilsService, window, - environmentService); + super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService); super.onSuccessfulLogin = () => { return syncService.fullSync(true); }; diff --git a/src/popup/app.component.ts b/src/popup/app.component.ts index c009b443c5e..b0687ea38fe 100644 --- a/src/popup/app.component.ts +++ b/src/popup/app.component.ts @@ -109,6 +109,11 @@ export class AppComponent implements OnInit { await this.showToast(msg); this.changeDetectorRef.detectChanges(); }); + } else if (msg.command === 'analyticsEventTrack') { + this.analytics.eventTrack.next({ + action: msg.action, + properties: { label: msg.label }, + }); } else { msg.webExtSender = sender; this.broadcasterService.send(msg); diff --git a/src/popup/generator/password-generator-history.component.ts b/src/popup/generator/password-generator-history.component.ts index 6b4b4e9ec27..89c31536763 100644 --- a/src/popup/generator/password-generator-history.component.ts +++ b/src/popup/generator/password-generator-history.component.ts @@ -1,5 +1,3 @@ -import { Angulartics2 } from 'angulartics2'; - import { Location } from '@angular/common'; import { Component } from '@angular/core'; @@ -16,10 +14,9 @@ import { templateUrl: 'password-generator-history.component.html', }) export class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent { - constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2, - platformUtilsService: PlatformUtilsService, i18nService: I18nService, - private location: Location) { - super(passwordGenerationService, analytics, platformUtilsService, i18nService, window); + constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService, + i18nService: I18nService, private location: Location) { + super(passwordGenerationService, platformUtilsService, i18nService, window); } close() { diff --git a/src/popup/generator/password-generator.component.ts b/src/popup/generator/password-generator.component.ts index bdcf1e19197..db5c936981a 100644 --- a/src/popup/generator/password-generator.component.ts +++ b/src/popup/generator/password-generator.component.ts @@ -1,5 +1,3 @@ -import { Angulartics2 } from 'angulartics2'; - import { Location } from '@angular/common'; import { Component } from '@angular/core'; @@ -21,10 +19,10 @@ import { export class PasswordGeneratorComponent extends BasePasswordGeneratorComponent { private cipherState: CipherView; - constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2, - platformUtilsService: PlatformUtilsService, i18nService: I18nService, - private stateService: StateService, private location: Location) { - super(passwordGenerationService, analytics, platformUtilsService, i18nService, window); + constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService, + i18nService: I18nService, private stateService: StateService, + private location: Location) { + super(passwordGenerationService, platformUtilsService, i18nService, window); } async ngOnInit() { diff --git a/src/popup/settings/export.component.ts b/src/popup/settings/export.component.ts index 7fefd942a50..a44715df573 100644 --- a/src/popup/settings/export.component.ts +++ b/src/popup/settings/export.component.ts @@ -1,5 +1,3 @@ -import { Angulartics2 } from 'angulartics2'; - import { Component } from '@angular/core'; import { Router } from '@angular/router'; @@ -15,11 +13,10 @@ import { ExportComponent as BaseExportComponent } from 'jslib/angular/components templateUrl: 'export.component.html', }) export class ExportComponent extends BaseExportComponent { - constructor(analytics: Angulartics2, - cryptoService: CryptoService, i18nService: I18nService, + constructor(cryptoService: CryptoService, i18nService: I18nService, platformUtilsService: PlatformUtilsService, exportService: ExportService, private router: Router) { - super(analytics, cryptoService, i18nService, platformUtilsService, exportService, window); + super(cryptoService, i18nService, platformUtilsService, exportService, window); } protected saved() { diff --git a/src/popup/settings/folder-add-edit.component.ts b/src/popup/settings/folder-add-edit.component.ts index fba1a8d5469..0adf7237cc9 100644 --- a/src/popup/settings/folder-add-edit.component.ts +++ b/src/popup/settings/folder-add-edit.component.ts @@ -4,8 +4,6 @@ import { Router, } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { FolderService } from 'jslib/abstractions/folder.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; @@ -20,10 +18,9 @@ import { }) export class FolderAddEditComponent extends BaseFolderAddEditComponent { constructor(folderService: FolderService, i18nService: I18nService, - analytics: Angulartics2, platformUtilsService: PlatformUtilsService, private router: Router, private route: ActivatedRoute) { - super(folderService, i18nService, analytics, platformUtilsService); + super(folderService, i18nService, platformUtilsService); } async ngOnInit() { diff --git a/src/popup/settings/premium.component.ts b/src/popup/settings/premium.component.ts index 69a17669798..6e542222257 100644 --- a/src/popup/settings/premium.component.ts +++ b/src/popup/settings/premium.component.ts @@ -1,8 +1,6 @@ import { CurrencyPipe } from '@angular/common'; import { Component } from '@angular/core'; -import { Angulartics2 } from 'angulartics2'; - import { ApiService } from 'jslib/abstractions/api.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; @@ -17,11 +15,10 @@ import { PremiumComponent as BasePremiumComponent } from 'jslib/angular/componen export class PremiumComponent extends BasePremiumComponent { priceString: string; - constructor(analytics: Angulartics2, - i18nService: I18nService, platformUtilsService: PlatformUtilsService, + constructor(i18nService: I18nService, platformUtilsService: PlatformUtilsService, tokenService: TokenService, apiService: ApiService, private currencyPipe: CurrencyPipe) { - super(analytics, i18nService, platformUtilsService, tokenService, apiService); + super(i18nService, platformUtilsService, tokenService, apiService); // Support old price string. Can be removed in future once all translations are properly updated. const thePrice = this.currencyPipe.transform(this.price, '$'); diff --git a/src/popup/vault/add-edit.component.ts b/src/popup/vault/add-edit.component.ts index 07967a12bda..f00833500aa 100644 --- a/src/popup/vault/add-edit.component.ts +++ b/src/popup/vault/add-edit.component.ts @@ -8,8 +8,6 @@ import { Router, } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { AuditService } from 'jslib/abstractions/audit.service'; import { CipherService } from 'jslib/abstractions/cipher.service'; import { FolderService } from 'jslib/abstractions/folder.service'; @@ -28,12 +26,10 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit { constructor(cipherService: CipherService, folderService: FolderService, i18nService: I18nService, platformUtilsService: PlatformUtilsService, - analytics: Angulartics2, auditService: AuditService, stateService: StateService, private route: ActivatedRoute, private router: Router, private location: Location) { - super(cipherService, folderService, i18nService, platformUtilsService, analytics, - auditService, stateService); + super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService); } ngOnInit() { diff --git a/src/popup/vault/attachments.component.ts b/src/popup/vault/attachments.component.ts index 6abe53e9efd..82bf5a85a5a 100644 --- a/src/popup/vault/attachments.component.ts +++ b/src/popup/vault/attachments.component.ts @@ -2,8 +2,6 @@ import { Location } from '@angular/common'; import { Component } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { CipherService } from 'jslib/abstractions/cipher.service'; import { CryptoService } from 'jslib/abstractions/crypto.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; @@ -17,12 +15,11 @@ import { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/ templateUrl: 'attachments.component.html', }) export class AttachmentsComponent extends BaseAttachmentsComponent { - constructor(cipherService: CipherService, analytics: Angulartics2, - i18nService: I18nService, + constructor(cipherService: CipherService, i18nService: I18nService, cryptoService: CryptoService, userService: UserService, platformUtilsService: PlatformUtilsService, private location: Location, private route: ActivatedRoute) { - super(cipherService, analytics, i18nService, cryptoService, userService, platformUtilsService, window); + super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window); } async ngOnInit() { diff --git a/src/popup/vault/password-history.component.ts b/src/popup/vault/password-history.component.ts index 553b18ff869..21e00228f6b 100644 --- a/src/popup/vault/password-history.component.ts +++ b/src/popup/vault/password-history.component.ts @@ -1,5 +1,3 @@ -import { Angulartics2 } from 'angulartics2'; - import { Location } from '@angular/common'; import { Component } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @@ -17,10 +15,10 @@ import { templateUrl: 'password-history.component.html', }) export class PasswordHistoryComponent extends BasePasswordHistoryComponent { - constructor(cipherService: CipherService, analytics: Angulartics2, - platformUtilsService: PlatformUtilsService, i18nService: I18nService, - private location: Location, private route: ActivatedRoute) { - super(cipherService, analytics, platformUtilsService, i18nService, window); + constructor(cipherService: CipherService, platformUtilsService: PlatformUtilsService, + i18nService: I18nService, private location: Location, + private route: ActivatedRoute) { + super(cipherService, platformUtilsService, i18nService, window); } async ngOnInit() { diff --git a/src/popup/vault/view.component.ts b/src/popup/vault/view.component.ts index dbfbcbb8592..649eb778840 100644 --- a/src/popup/vault/view.component.ts +++ b/src/popup/vault/view.component.ts @@ -9,8 +9,6 @@ import { Router, } from '@angular/router'; -import { Angulartics2 } from 'angulartics2'; - import { AuditService } from 'jslib/abstractions/audit.service'; import { CipherService } from 'jslib/abstractions/cipher.service'; import { CryptoService } from 'jslib/abstractions/crypto.service'; @@ -32,15 +30,14 @@ export class ViewComponent extends BaseViewComponent { showAttachments = true; constructor(cipherService: CipherService, totpService: TotpService, - tokenService: TokenService, + tokenService: TokenService, i18nService: I18nService, cryptoService: CryptoService, platformUtilsService: PlatformUtilsService, - i18nService: I18nService, analytics: Angulartics2, auditService: AuditService, private route: ActivatedRoute, private router: Router, private location: Location, broadcasterService: BroadcasterService, ngZone: NgZone, changeDetectorRef: ChangeDetectorRef, userService: UserService) { - super(cipherService, totpService, tokenService, cryptoService, platformUtilsService, - i18nService, analytics, auditService, window, broadcasterService, ngZone, changeDetectorRef, userService); + super(cipherService, totpService, tokenService, i18nService, cryptoService, platformUtilsService, + auditService, window, broadcasterService, ngZone, changeDetectorRef, userService); } ngOnInit() { diff --git a/src/services/browserPlatformUtils.service.ts b/src/services/browserPlatformUtils.service.ts index 2a2af1e70a9..dad06be6206 100644 --- a/src/services/browserPlatformUtils.service.ts +++ b/src/services/browserPlatformUtils.service.ts @@ -1,4 +1,3 @@ -import { ToasterService } from 'angular2-toaster'; import * as tldjs from 'tldjs'; import { BrowserApi } from '../browser/browserApi'; @@ -203,6 +202,14 @@ export default class BrowserPlatformUtilsService implements PlatformUtilsService }); } + eventTrack(action: string, label?: string, options?: any) { + this.messagingService.send('analyticsEventTrack', { + action: action, + label: label, + options: options, + }); + } + isDev(): boolean { return process.env.ENV === 'development'; }