From 7036eabdee85df4d32d87ee4ce4e218d1a797e4e Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Mon, 5 Aug 2019 09:29:36 -0700 Subject: [PATCH] For #969: Adds more telemetry for collections --- app/metrics.yaml | 13 ++++++++++++- .../fenix/components/metrics/GleanMetricsService.kt | 3 +++ .../org/mozilla/fenix/components/metrics/Metrics.kt | 1 + .../components/toolbar/BrowserToolbarController.kt | 4 ++-- .../java/org/mozilla/fenix/home/HomeFragment.kt | 1 + .../viewholders/SaveTabGroupViewHolder.kt | 4 ++-- .../viewholders/TabHeaderViewHolder.kt | 13 ++++++++----- 7 files changed, 29 insertions(+), 10 deletions(-) diff --git a/app/metrics.yaml b/app/metrics.yaml index d5e900ce1d74..0c3e6078bf68 100644 --- a/app/metrics.yaml +++ b/app/metrics.yaml @@ -1090,4 +1090,15 @@ collections: from_screen: description: > A string representing the screen from which the user pressed the save button. - Either `browser` or `home` \ No newline at end of file + Currently one of: browserMenu, homeMenu or home + rename_button: + type: event + description: > + A user tapped the "rename collection" button in the three dot menu + bugs: + - 969 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/TODO + notification_emails: + - fenix-core@mozilla.com + expires: "2020-03-01" \ No newline at end of file diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt index 107a11f63326..aa0b8bd2cff6 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt @@ -279,6 +279,9 @@ private val Event.wrapper is Event.CollectionAddTabPressed -> EventWrapper( { Collections.addTabButton.record(it) } ) + is Event.CollectionRenamePressed -> EventWrapper( + { Collections.renameButton.record(it) } + ) // Don't track other events with Glean else -> null diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt index d255a9288d80..14038a591554 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt @@ -110,6 +110,7 @@ sealed class Event { object CollectionTabSelectOpened : Event() object CollectionTabLongPressed : Event() object CollectionAddTabPressed : Event() + object CollectionRenamePressed : Event() data class PreferenceToggled(val preferenceKey: String, val enabled: Boolean, val context: Context) : Event() { private val switchPreferenceTelemetryAllowList = listOf( diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt index f2a68370c023..ec47345cf2b3 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt @@ -122,7 +122,7 @@ class DefaultBrowserToolbarController( } ToolbarMenu.Item.SaveToCollection -> { context.components.analytics.metrics - .track(Event.CollectionSaveButtonPressed(TELEMETRY_BROWSER_IDENITIFIER)) + .track(Event.CollectionSaveButtonPressed(TELEMETRY_BROWSER_IDENTIFIER)) currentSession.let { val tab = it.toTab(context) viewModel.tabs = listOf(tab) @@ -188,6 +188,6 @@ class DefaultBrowserToolbarController( } companion object { - private const val TELEMETRY_BROWSER_IDENITIFIER = "browser" + private const val TELEMETRY_BROWSER_IDENTIFIER = "browserMenu" } } diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index 33d82d453b8d..1c16ccfde6da 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -472,6 +472,7 @@ class HomeFragment : Fragment(), AccountObserver { selectedTabCollection = action.collection, step = SaveCollectionStep.RenameCollection ) + requireComponents.analytics.metrics.track(Event.CollectionRenamePressed) } is CollectionAction.OpenTab -> { invokePendingDeleteJobs() diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/SaveTabGroupViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/SaveTabGroupViewHolder.kt index 519642a706b1..c8d48b3512e7 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/SaveTabGroupViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/SaveTabGroupViewHolder.kt @@ -23,14 +23,14 @@ class SaveTabGroupViewHolder( init { view.save_tab_group_button.setOnClickListener { view.context.components.analytics.metrics - .track(Event.CollectionSaveButtonPressed(TELEMETRY_HOME_IDENITIFIER)) + .track(Event.CollectionSaveButtonPressed(TELEMETRY_HOME_IDENTIFIER)) actionEmitter.onNext(TabAction.SaveTabGroup(selectedTabSessionId = null)) } } companion object { - const val TELEMETRY_HOME_IDENITIFIER = "home" + const val TELEMETRY_HOME_IDENTIFIER = "home" const val LAYOUT_ID = R.layout.save_tab_group_button } } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabHeaderViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabHeaderViewHolder.kt index 624bfcb0e5df..027f969d27d8 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabHeaderViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabHeaderViewHolder.kt @@ -13,6 +13,8 @@ import mozilla.components.browser.menu.BrowserMenu import mozilla.components.browser.menu.BrowserMenuBuilder import mozilla.components.browser.menu.item.SimpleBrowserMenuItem import org.mozilla.fenix.R +import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.ext.components import org.mozilla.fenix.home.sessioncontrol.SessionControlAction import org.mozilla.fenix.home.sessioncontrol.TabAction import org.mozilla.fenix.home.sessioncontrol.onNext @@ -29,11 +31,11 @@ class TabHeaderViewHolder( when (it) { is TabHeaderMenu.Item.Share -> actionEmitter.onNext(TabAction.ShareTabs) is TabHeaderMenu.Item.CloseAll -> actionEmitter.onNext(TabAction.CloseAll(isPrivate)) - is TabHeaderMenu.Item.SaveToCollection -> actionEmitter.onNext( - TabAction.SaveTabGroup( - null - ) - ) + is TabHeaderMenu.Item.SaveToCollection -> { + actionEmitter.onNext(TabAction.SaveTabGroup(null)) + view.context.components.analytics.metrics + .track(Event.CollectionSaveButtonPressed(TELEMETRY_HOME_MENU_IDENITIFIER)) + } } } @@ -99,6 +101,7 @@ class TabHeaderViewHolder( } companion object { + const val TELEMETRY_HOME_MENU_IDENITIFIER = "homeMenu" const val LAYOUT_ID = R.layout.tab_header } }